Subversion Repositories Kolibri OS

Rev

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

  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/core.h" /* for struct gl_shader */
  27. #include "glsl_parser_extras.h"
  28. #include "ir_reader.h"
  29. #include "program.h"
  30. #include "ast.h"
  31.  
  32. extern "C" struct gl_shader *
  33. _mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
  34.  
  35. gl_shader *
  36. read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
  37. {
  38.    struct gl_context fakeCtx;
  39.    fakeCtx.API = API_OPENGL;
  40.    gl_shader *sh = _mesa_new_shader(NULL, 0, target);
  41.    struct _mesa_glsl_parse_state *st =
  42.       new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
  43.  
  44.    st->language_version = 130;
  45.    st->symbols->language_version = 130;
  46.    st->ARB_texture_rectangle_enable = true;
  47.    st->EXT_texture_array_enable = true;
  48.    _mesa_glsl_initialize_types(st);
  49.  
  50.    sh->ir = new(sh) exec_list;
  51.    sh->symbols = st->symbols;
  52.  
  53.    /* Read the IR containing the prototypes */
  54.    _mesa_glsl_read_ir(st, sh->ir, protos, true);
  55.  
  56.    /* Read ALL the function bodies, telling the IR reader not to scan for
  57.     * prototypes (we've already created them).  The IR reader will skip any
  58.     * signature that does not already exist as a prototype.
  59.     */
  60.    for (unsigned i = 0; i < count; i++) {
  61.       _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
  62.  
  63.       if (st->error) {
  64.          printf("error reading builtin: %.35s ...\n", functions[i]);
  65.          printf("Info log:\n%s\n", st->info_log);
  66.          ralloc_free(sh);
  67.          return NULL;
  68.       }
  69.    }
  70.  
  71.    reparent_ir(sh->ir, sh);
  72.    delete st;
  73.  
  74.    return sh;
  75. }
  76.  
  77. static const char builtin_abs[] =
  78.    "((function abs\n"
  79.    "   (signature float\n"
  80.    "     (parameters\n"
  81.    "       (declare (in) float arg0))\n"
  82.    "     ((return (expression float abs (var_ref arg0)))))\n"
  83.    "\n"
  84.    "   (signature vec2\n"
  85.    "     (parameters\n"
  86.    "       (declare (in) vec2 arg0))\n"
  87.    "     ((return (expression vec2 abs (var_ref arg0)))))\n"
  88.    "\n"
  89.    "   (signature vec3\n"
  90.    "     (parameters\n"
  91.    "       (declare (in) vec3 arg0))\n"
  92.    "     ((return (expression vec3 abs (var_ref arg0)))))\n"
  93.    "\n"
  94.    "   (signature vec4\n"
  95.    "     (parameters\n"
  96.    "       (declare (in) vec4 arg0))\n"
  97.    "     ((return (expression vec4 abs (var_ref arg0)))))\n"
  98.    "))\n"
  99.    ""
  100. ;
  101. static const char builtin_acos[] =
  102.    "((function acos\n"
  103.    "   (signature float\n"
  104.    "     (parameters\n"
  105.    "       (declare (in) float x))\n"
  106.    "     ((return (expression float - (constant float (1.5707963))\n"
  107.    "                                  (call asin ((var_ref x)))))))\n"
  108.    "   (signature vec2\n"
  109.    "     (parameters\n"
  110.    "       (declare (in) vec2 x))\n"
  111.    "     ((return (expression vec2 - (constant float (1.5707963))\n"
  112.    "                                 (call asin ((var_ref x)))))))\n"
  113.    "   (signature vec3\n"
  114.    "     (parameters\n"
  115.    "       (declare (in) vec3 x))\n"
  116.    "     ((return (expression vec3 - (constant float (1.5707963))\n"
  117.    "                                 (call asin ((var_ref x)))))))\n"
  118.    "   (signature vec4\n"
  119.    "     (parameters\n"
  120.    "       (declare (in) vec4 x))\n"
  121.    "     ((return (expression vec4 - (constant float (1.5707963))\n"
  122.    "                                 (call asin ((var_ref x)))))))\n"
  123.    "))\n"
  124.    ""
  125. ;
  126. static const char builtin_acosh[] =
  127.    "((function acosh\n"
  128.    "   (signature float\n"
  129.    "     (parameters\n"
  130.    "       (declare (in) float x))\n"
  131.    "     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
  132.    "\n"
  133.    "   (signature vec2\n"
  134.    "     (parameters\n"
  135.    "       (declare (in) vec2 x))\n"
  136.    "     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
  137.    "\n"
  138.    "   (signature vec3\n"
  139.    "     (parameters\n"
  140.    "       (declare (in) vec3 x))\n"
  141.    "     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
  142.    "\n"
  143.    "   (signature vec4\n"
  144.    "     (parameters\n"
  145.    "       (declare (in) vec4 x))\n"
  146.    "     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
  147.    "))\n"
  148.    ""
  149. ;
  150. static const char builtin_all[] =
  151.    "((function all\n"
  152.    "   (signature bool\n"
  153.    "     (parameters\n"
  154.    "       (declare (in) bvec2 arg0))\n"
  155.    "     ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
  156.    "\n"
  157.    "   (signature bool\n"
  158.    "     (parameters\n"
  159.    "       (declare (in) bvec3 arg0))\n"
  160.    "     ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
  161.    "\n"
  162.    "   (signature bool\n"
  163.    "     (parameters\n"
  164.    "       (declare (in) bvec4 arg0))\n"
  165.    "     ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
  166.    "))\n"
  167.    ""
  168. ;
  169. static const char builtin_any[] =
  170.    "((function any\n"
  171.    "   (signature bool\n"
  172.    "     (parameters\n"
  173.    "       (declare (in) bvec2 arg0))\n"
  174.    "     ((return (expression bool any (var_ref arg0)))))\n"
  175.    "\n"
  176.    "   (signature bool\n"
  177.    "     (parameters\n"
  178.    "       (declare (in) bvec3 arg0))\n"
  179.    "     ((return (expression bool any (var_ref arg0)))))\n"
  180.    "\n"
  181.    "   (signature bool\n"
  182.    "     (parameters\n"
  183.    "       (declare (in) bvec4 arg0))\n"
  184.    "     ((return (expression bool any (var_ref arg0)))))\n"
  185.    "))\n"
  186.    ""
  187. ;
  188. static const char builtin_asin[] =
  189.    "((function asin\n"
  190.    "   (signature float\n"
  191.    "     (parameters\n"
  192.    "       (declare (in) float x))\n"
  193.    "     ((return (expression float *\n"
  194.    "           (expression float sign (var_ref x))\n"
  195.    "           (expression float -\n"
  196.    "            (expression float *\n"
  197.    "             (constant float (3.1415926))\n"
  198.    "             (constant float (0.5)))\n"
  199.    "            (expression float *\n"
  200.    "             (expression float sqrt\n"
  201.    "              (expression float -\n"
  202.    "               (constant float (1.0))\n"
  203.    "               (expression float abs (var_ref x))))\n"
  204.    "             (expression float +\n"
  205.    "              (constant float (1.5707288))\n"
  206.    "              (expression float *\n"
  207.    "               (expression float abs (var_ref x))\n"
  208.    "               (expression float +\n"
  209.    "                (constant float (-0.2121144))\n"
  210.    "                (expression float *\n"
  211.    "                 (constant float (0.0742610))\n"
  212.    "                 (expression float abs (var_ref x))))))))))))\n"
  213.    "\n"
  214.    "   (signature vec2\n"
  215.    "     (parameters\n"
  216.    "       (declare (in) vec2 x))\n"
  217.    "     ((return (expression vec2 *\n"
  218.    "           (expression vec2 sign (var_ref x))\n"
  219.    "           (expression vec2 -\n"
  220.    "            (expression float *\n"
  221.    "             (constant float (3.1415926))\n"
  222.    "             (constant float (0.5)))\n"
  223.    "            (expression vec2 *\n"
  224.    "             (expression vec2 sqrt\n"
  225.    "              (expression vec2 -\n"
  226.    "               (constant float (1.0))\n"
  227.    "               (expression vec2 abs (var_ref x))))\n"
  228.    "             (expression vec2 +\n"
  229.    "              (constant float (1.5707288))\n"
  230.    "              (expression vec2 *\n"
  231.    "               (expression vec2 abs (var_ref x))\n"
  232.    "               (expression vec2 +\n"
  233.    "                (constant float (-0.2121144))\n"
  234.    "                (expression vec2 *\n"
  235.    "                 (constant float (0.0742610))\n"
  236.    "                 (expression vec2 abs (var_ref x))))))))))))\n"
  237.    "\n"
  238.    "   (signature vec3\n"
  239.    "     (parameters\n"
  240.    "       (declare (in) vec3 x))\n"
  241.    "     ((return (expression vec3 *\n"
  242.    "           (expression vec3 sign (var_ref x))\n"
  243.    "           (expression vec3 -\n"
  244.    "            (expression float *\n"
  245.    "             (constant float (3.1415926))\n"
  246.    "             (constant float (0.5)))\n"
  247.    "            (expression vec3 *\n"
  248.    "             (expression vec3 sqrt\n"
  249.    "              (expression vec3 -\n"
  250.    "               (constant float (1.0))\n"
  251.    "               (expression vec3 abs (var_ref x))))\n"
  252.    "             (expression vec3 +\n"
  253.    "              (constant float (1.5707288))\n"
  254.    "              (expression vec3 *\n"
  255.    "               (expression vec3 abs (var_ref x))\n"
  256.    "               (expression vec3 +\n"
  257.    "                (constant float (-0.2121144))\n"
  258.    "                (expression vec3 *\n"
  259.    "                 (constant float (0.0742610))\n"
  260.    "                 (expression vec3 abs (var_ref x))))))))))))\n"
  261.    "\n"
  262.    "   (signature vec4\n"
  263.    "     (parameters\n"
  264.    "       (declare (in) vec4 x))\n"
  265.    "     ((return (expression vec4 *\n"
  266.    "           (expression vec4 sign (var_ref x))\n"
  267.    "           (expression vec4 -\n"
  268.    "            (expression float *\n"
  269.    "             (constant float (3.1415926))\n"
  270.    "             (constant float (0.5)))\n"
  271.    "            (expression vec4 *\n"
  272.    "             (expression vec4 sqrt\n"
  273.    "              (expression vec4 -\n"
  274.    "               (constant float (1.0))\n"
  275.    "               (expression vec4 abs (var_ref x))))\n"
  276.    "             (expression vec4 +\n"
  277.    "              (constant float (1.5707288))\n"
  278.    "              (expression vec4 *\n"
  279.    "               (expression vec4 abs (var_ref x))\n"
  280.    "               (expression vec4 +\n"
  281.    "                (constant float (-0.2121144))\n"
  282.    "                (expression vec4 *\n"
  283.    "                 (constant float (0.0742610))\n"
  284.    "                 (expression vec4 abs (var_ref x))))))))))))\n"
  285.    "))\n"
  286.    ""
  287. ;
  288. static const char builtin_asinh[] =
  289.    "((function asinh\n"
  290.    "   (signature float\n"
  291.    "     (parameters\n"
  292.    "       (declare (in) float x))\n"
  293.    "     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float + (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
  294.    "\n"
  295.    "   (signature vec2\n"
  296.    "     (parameters\n"
  297.    "       (declare (in) vec2 x))\n"
  298.    "     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 + (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
  299.    "\n"
  300.    "   (signature vec3\n"
  301.    "     (parameters\n"
  302.    "       (declare (in) vec3 x))\n"
  303.    "     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 + (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
  304.    "\n"
  305.    "   (signature vec4\n"
  306.    "     (parameters\n"
  307.    "       (declare (in) vec4 x))\n"
  308.    "     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 + (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
  309.    "))\n"
  310.    ""
  311. ;
  312. static const char builtin_atan[] =
  313.    "((function atan\n"
  314.    "   (signature float\n"
  315.    "     (parameters\n"
  316.    "       (declare (in) float y_over_x))\n"
  317.    "     ((return (call asin ((expression float *\n"
  318.    "                       (var_ref y_over_x)\n"
  319.    "                       (expression float rsq\n"
  320.    "                        (expression float +\n"
  321.    "                         (expression float *\n"
  322.    "                          (var_ref y_over_x)\n"
  323.    "                          (var_ref y_over_x))\n"
  324.    "                         (constant float (1.0))))))))))\n"
  325.    "\n"
  326.    "   (signature vec2\n"
  327.    "     (parameters\n"
  328.    "       (declare (in) vec2 y_over_x))\n"
  329.    "     ((return (call asin ((expression vec2 *\n"
  330.    "                       (var_ref y_over_x)\n"
  331.    "                       (expression vec2 rsq\n"
  332.    "                        (expression vec2 +\n"
  333.    "                         (expression vec2 *\n"
  334.    "                          (var_ref y_over_x)\n"
  335.    "                          (var_ref y_over_x))\n"
  336.    "                         (constant float (1.0))))))))))\n"
  337.    "\n"
  338.    "   (signature vec3\n"
  339.    "     (parameters\n"
  340.    "       (declare (in) vec3 y_over_x))\n"
  341.    "     ((return (call asin ((expression vec3 *\n"
  342.    "                       (var_ref y_over_x)\n"
  343.    "                       (expression vec3 rsq\n"
  344.    "                        (expression vec3 +\n"
  345.    "                         (expression vec3 *\n"
  346.    "                          (var_ref y_over_x)\n"
  347.    "                          (var_ref y_over_x))\n"
  348.    "                         (constant float (1.0))))))))))\n"
  349.    "\n"
  350.    "   (signature vec4\n"
  351.    "     (parameters\n"
  352.    "       (declare (in) vec4 y_over_x))\n"
  353.    "     ((return (call asin ((expression vec4 *\n"
  354.    "                       (var_ref y_over_x)\n"
  355.    "                       (expression vec4 rsq\n"
  356.    "                        (expression vec4 +\n"
  357.    "                         (expression vec4 *\n"
  358.    "                          (var_ref y_over_x)\n"
  359.    "                          (var_ref y_over_x))\n"
  360.    "                         (constant float (1.0))))))))))\n"
  361.    "\n"
  362.    "  (signature float\n"
  363.    "    (parameters\n"
  364.    "      (declare (in ) float y)\n"
  365.    "      (declare (in ) float x)\n"
  366.    "    )\n"
  367.    "    (\n"
  368.    "      (declare () float r)\n"
  369.    "      (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n"
  370.    "        (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n"
  371.    "        (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
  372.    "          (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
  373.    "              ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
  374.    "              ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
  375.    "        )\n"
  376.    "        (\n"
  377.    "        ))\n"
  378.    "      )\n"
  379.    "      (\n"
  380.    "        (declare () float sgn)\n"
  381.    "        (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
  382.    "        (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
  383.    "      ))\n"
  384.    "\n"
  385.    "      (return (var_ref r) )\n"
  386.    "    ))\n"
  387.    "\n"
  388.    "\n"
  389.    "\n"
  390.    "   (signature vec2\n"
  391.    "     (parameters\n"
  392.    "       (declare (in) vec2 y)\n"
  393.    "       (declare (in) vec2 x))\n"
  394.    "     ((declare () vec2 r)\n"
  395.    "      (assign (constant bool (1)) (x) (var_ref r)\n"
  396.    "          (call atan ((swiz x (var_ref y))\n"
  397.    "                      (swiz x (var_ref x)))))\n"
  398.    "      (assign (constant bool (1)) (y) (var_ref r)\n"
  399.    "          (call atan ((swiz y (var_ref y))\n"
  400.    "                      (swiz y (var_ref x)))))\n"
  401.    "      (return (var_ref r))))\n"
  402.    "\n"
  403.    "   (signature vec3\n"
  404.    "     (parameters\n"
  405.    "       (declare (in) vec3 y)\n"
  406.    "       (declare (in) vec3 x))\n"
  407.    "     ((declare () vec3 r)\n"
  408.    "      (assign (constant bool (1)) (x) (var_ref r)\n"
  409.    "          (call atan ((swiz x (var_ref y))\n"
  410.    "                      (swiz x (var_ref x)))))\n"
  411.    "      (assign (constant bool (1)) (y) (var_ref r)\n"
  412.    "          (call atan ((swiz y (var_ref y))\n"
  413.    "                      (swiz y (var_ref x)))))\n"
  414.    "      (assign (constant bool (1)) (z) (var_ref r)\n"
  415.    "          (call atan ((swiz z (var_ref y))\n"
  416.    "                      (swiz z (var_ref x)))))\n"
  417.    "      (return (var_ref r))))\n"
  418.    "\n"
  419.    "   (signature vec4\n"
  420.    "     (parameters\n"
  421.    "       (declare (in) vec4 y)\n"
  422.    "       (declare (in) vec4 x))\n"
  423.    "     ((declare () vec4 r)\n"
  424.    "      (assign (constant bool (1)) (x) (var_ref r)\n"
  425.    "          (call atan ((swiz x (var_ref y))\n"
  426.    "                      (swiz x (var_ref x)))))\n"
  427.    "      (assign (constant bool (1)) (y) (var_ref r)\n"
  428.    "          (call atan ((swiz y (var_ref y))\n"
  429.    "                      (swiz y (var_ref x)))))\n"
  430.    "      (assign (constant bool (1)) (z) (var_ref r)\n"
  431.    "          (call atan ((swiz z (var_ref y))\n"
  432.    "                      (swiz z (var_ref x)))))\n"
  433.    "      (assign (constant bool (1)) (w) (var_ref r)\n"
  434.    "          (call atan ((swiz w (var_ref y))\n"
  435.    "                      (swiz w (var_ref x)))))\n"
  436.    "      (return (var_ref r)))))\n"
  437.    "\n"
  438.    "))\n"
  439.    ""
  440. ;
  441. static const char builtin_atanh[] =
  442.    "((function atanh\n"
  443.    "   (signature float\n"
  444.    "     (parameters\n"
  445.    "       (declare (in) float x))\n"
  446.    "     ((return (expression float * (constant float (0.5))\n"
  447.    "                (expression float log\n"
  448.    "              (expression float /\n"
  449.    "                    (expression float + (constant float (1)) (var_ref x))\n"
  450.    "                    (expression float - (constant float (1)) (var_ref x))))))))\n"
  451.    "\n"
  452.    "   (signature vec2\n"
  453.    "     (parameters\n"
  454.    "       (declare (in) vec2 x))\n"
  455.    "     ((return (expression vec2 * (constant vec2 (0.5))\n"
  456.    "                (expression vec2 log\n"
  457.    "              (expression vec2 /\n"
  458.    "                    (expression vec2 + (constant vec2 (1)) (var_ref x))\n"
  459.    "                    (expression vec2 - (constant vec2 (1)) (var_ref x))))))))\n"
  460.    "\n"
  461.    "   (signature vec3\n"
  462.    "     (parameters\n"
  463.    "       (declare (in) vec3 x))\n"
  464.    "     ((return (expression vec3 * (constant vec3 (0.5))\n"
  465.    "                (expression vec3 log\n"
  466.    "              (expression vec3 /\n"
  467.    "                    (expression vec3 + (constant vec3 (1)) (var_ref x))\n"
  468.    "                    (expression vec3 - (constant vec3 (1)) (var_ref x))))))))\n"
  469.    "\n"
  470.    "   (signature vec4\n"
  471.    "     (parameters\n"
  472.    "       (declare (in) vec4 x))\n"
  473.    "     ((return (expression vec4 * (constant vec4 (0.5))\n"
  474.    "                (expression vec4 log\n"
  475.    "              (expression vec4 /\n"
  476.    "                    (expression vec4 + (constant vec4 (1)) (var_ref x))\n"
  477.    "                    (expression vec4 - (constant vec4 (1)) (var_ref x))))))))\n"
  478.    "))\n"
  479.    ""
  480. ;
  481. static const char builtin_ceil[] =
  482.    "((function ceil\n"
  483.    "   (signature float\n"
  484.    "     (parameters\n"
  485.    "       (declare (in) float arg0))\n"
  486.    "     ((return (expression float ceil (var_ref arg0)))))\n"
  487.    "\n"
  488.    "   (signature vec2\n"
  489.    "     (parameters\n"
  490.    "       (declare (in) vec2 arg0))\n"
  491.    "     ((return (expression vec2 ceil (var_ref arg0)))))\n"
  492.    "\n"
  493.    "   (signature vec3\n"
  494.    "     (parameters\n"
  495.    "       (declare (in) vec3 arg0))\n"
  496.    "     ((return (expression vec3 ceil (var_ref arg0)))))\n"
  497.    "\n"
  498.    "   (signature vec4\n"
  499.    "     (parameters\n"
  500.    "       (declare (in) vec4 arg0))\n"
  501.    "     ((return (expression vec4 ceil (var_ref arg0)))))\n"
  502.    "))\n"
  503.    ""
  504. ;
  505. static const char builtin_clamp[] =
  506.    "((function clamp\n"
  507.    "   (signature float\n"
  508.    "     (parameters\n"
  509.    "       (declare (in) float arg0)\n"
  510.    "       (declare (in) float arg1)\n"
  511.    "       (declare (in) float arg2))\n"
  512.    "     ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  513.    "\n"
  514.    "   (signature vec2\n"
  515.    "     (parameters\n"
  516.    "       (declare (in) vec2 arg0)\n"
  517.    "       (declare (in) vec2 arg1)\n"
  518.    "       (declare (in) vec2 arg2))\n"
  519.    "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  520.    "\n"
  521.    "   (signature vec3\n"
  522.    "     (parameters\n"
  523.    "       (declare (in) vec3 arg0)\n"
  524.    "       (declare (in) vec3 arg1)\n"
  525.    "       (declare (in) vec3 arg2))\n"
  526.    "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  527.    "\n"
  528.    "   (signature vec4\n"
  529.    "     (parameters\n"
  530.    "       (declare (in) vec4 arg0)\n"
  531.    "       (declare (in) vec4 arg1)\n"
  532.    "       (declare (in) vec4 arg2))\n"
  533.    "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  534.    "\n"
  535.    "   (signature vec2\n"
  536.    "     (parameters\n"
  537.    "       (declare (in) vec2  arg0)\n"
  538.    "       (declare (in) float arg1)\n"
  539.    "       (declare (in) float arg2))\n"
  540.    "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  541.    "\n"
  542.    "   (signature vec3\n"
  543.    "     (parameters\n"
  544.    "       (declare (in) vec3  arg0)\n"
  545.    "       (declare (in) float arg1)\n"
  546.    "       (declare (in) float arg2))\n"
  547.    "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  548.    "\n"
  549.    "   (signature vec4\n"
  550.    "     (parameters\n"
  551.    "       (declare (in) vec4  arg0)\n"
  552.    "       (declare (in) float arg1)\n"
  553.    "       (declare (in) float arg2))\n"
  554.    "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  555.    "\n"
  556.    "   (signature int\n"
  557.    "     (parameters\n"
  558.    "       (declare (in) int arg0)\n"
  559.    "       (declare (in) int arg1)\n"
  560.    "       (declare (in) int arg2))\n"
  561.    "     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  562.    "\n"
  563.    "   (signature ivec2\n"
  564.    "     (parameters\n"
  565.    "       (declare (in) ivec2 arg0)\n"
  566.    "       (declare (in) ivec2 arg1)\n"
  567.    "       (declare (in) ivec2 arg2))\n"
  568.    "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  569.    "\n"
  570.    "   (signature ivec3\n"
  571.    "     (parameters\n"
  572.    "       (declare (in) ivec3 arg0)\n"
  573.    "       (declare (in) ivec3 arg1)\n"
  574.    "       (declare (in) ivec3 arg2))\n"
  575.    "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  576.    "\n"
  577.    "   (signature ivec4\n"
  578.    "     (parameters\n"
  579.    "       (declare (in) ivec4 arg0)\n"
  580.    "       (declare (in) ivec4 arg1)\n"
  581.    "       (declare (in) ivec4 arg2))\n"
  582.    "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  583.    "\n"
  584.    "   (signature ivec2\n"
  585.    "     (parameters\n"
  586.    "       (declare (in) ivec2 arg0)\n"
  587.    "       (declare (in) int arg1)\n"
  588.    "       (declare (in) int arg2))\n"
  589.    "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  590.    "\n"
  591.    "   (signature ivec3\n"
  592.    "     (parameters\n"
  593.    "       (declare (in) ivec3 arg0)\n"
  594.    "       (declare (in) int arg1)\n"
  595.    "       (declare (in) int arg2))\n"
  596.    "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  597.    "\n"
  598.    "   (signature ivec4\n"
  599.    "     (parameters\n"
  600.    "       (declare (in) ivec4 arg0)\n"
  601.    "       (declare (in) int arg1)\n"
  602.    "       (declare (in) int arg2))\n"
  603.    "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  604.    "\n"
  605.    "   (signature uint\n"
  606.    "     (parameters\n"
  607.    "       (declare (in) uint arg0)\n"
  608.    "       (declare (in) uint arg1)\n"
  609.    "       (declare (in) uint arg2))\n"
  610.    "     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  611.    "\n"
  612.    "   (signature uvec2\n"
  613.    "     (parameters\n"
  614.    "       (declare (in) uvec2 arg0)\n"
  615.    "       (declare (in) uvec2 arg1)\n"
  616.    "       (declare (in) uvec2 arg2))\n"
  617.    "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  618.    "\n"
  619.    "   (signature uvec3\n"
  620.    "     (parameters\n"
  621.    "       (declare (in) uvec3 arg0)\n"
  622.    "       (declare (in) uvec3 arg1)\n"
  623.    "       (declare (in) uvec3 arg2))\n"
  624.    "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  625.    "\n"
  626.    "   (signature uvec4\n"
  627.    "     (parameters\n"
  628.    "       (declare (in) uvec4 arg0)\n"
  629.    "       (declare (in) uvec4 arg1)\n"
  630.    "       (declare (in) uvec4 arg2))\n"
  631.    "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  632.    "\n"
  633.    "   (signature uvec2\n"
  634.    "     (parameters\n"
  635.    "       (declare (in) uvec2 arg0)\n"
  636.    "       (declare (in) uint arg1)\n"
  637.    "       (declare (in) uint arg2))\n"
  638.    "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  639.    "\n"
  640.    "   (signature uvec3\n"
  641.    "     (parameters\n"
  642.    "       (declare (in) uvec3 arg0)\n"
  643.    "       (declare (in) uint arg1)\n"
  644.    "       (declare (in) uint arg2))\n"
  645.    "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  646.    "\n"
  647.    "   (signature uvec4\n"
  648.    "     (parameters\n"
  649.    "       (declare (in) uvec4 arg0)\n"
  650.    "       (declare (in) uint arg1)\n"
  651.    "       (declare (in) uint arg2))\n"
  652.    "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
  653.    "))\n"
  654.    ""
  655. ;
  656. static const char builtin_cos[] =
  657.    "((function cos\n"
  658.    "   (signature float\n"
  659.    "     (parameters\n"
  660.    "       (declare (in) float angle))\n"
  661.    "     ((return (expression float cos (var_ref angle)))))\n"
  662.    "\n"
  663.    "   (signature vec2\n"
  664.    "     (parameters\n"
  665.    "       (declare (in) vec2 angle))\n"
  666.    "     ((return (expression vec2 cos (var_ref angle)))))\n"
  667.    "\n"
  668.    "   (signature vec3\n"
  669.    "     (parameters\n"
  670.    "       (declare (in) vec3 angle))\n"
  671.    "     ((return (expression vec3 cos (var_ref angle)))))\n"
  672.    "\n"
  673.    "   (signature vec4\n"
  674.    "     (parameters\n"
  675.    "       (declare (in) vec4 angle))\n"
  676.    "     ((return (expression vec4 cos (var_ref angle)))))\n"
  677.    "))\n"
  678.    ""
  679. ;
  680. static const char builtin_cosh[] =
  681.    "((function cosh\n"
  682.    "   (signature float\n"
  683.    "     (parameters\n"
  684.    "       (declare (in) float x))\n"
  685.    "     ((return (expression float * (constant float (0.5))\n"
  686.    "                (expression float +\n"
  687.    "              (expression float exp (var_ref x))\n"
  688.    "              (expression float exp (expression float neg (var_ref x))))))))\n"
  689.    "   (signature vec2\n"
  690.    "     (parameters\n"
  691.    "       (declare (in) vec2 x))\n"
  692.    "     ((return (expression vec2 * (constant vec2 (0.5))\n"
  693.    "                (expression vec2 +\n"
  694.    "              (expression vec2 exp (var_ref x))\n"
  695.    "              (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
  696.    "   (signature vec3\n"
  697.    "     (parameters\n"
  698.    "       (declare (in) vec3 x))\n"
  699.    "     ((return (expression vec3 * (constant vec3 (0.5))\n"
  700.    "                (expression vec3 +\n"
  701.    "              (expression vec3 exp (var_ref x))\n"
  702.    "              (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
  703.    "   (signature vec4\n"
  704.    "     (parameters\n"
  705.    "       (declare (in) vec4 x))\n"
  706.    "     ((return (expression vec4 * (constant vec4 (0.5))\n"
  707.    "                (expression vec4 +\n"
  708.    "              (expression vec4 exp (var_ref x))\n"
  709.    "              (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
  710.    "))\n"
  711.    ""
  712. ;
  713. static const char builtin_cross[] =
  714.    "((function cross\n"
  715.    "   (signature vec3\n"
  716.    "     (parameters\n"
  717.    "       (declare (in) vec3 a)\n"
  718.    "       (declare (in) vec3 b))\n"
  719.    "     ((return (expression vec3 -\n"
  720.    "        (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))\n"
  721.    "        (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))\n"
  722.    "))\n"
  723.    ""
  724. ;
  725. static const char builtin_dFdx[] =
  726.    "((function dFdx\n"
  727.    "   (signature float\n"
  728.    "     (parameters\n"
  729.    "       (declare (in) float p))\n"
  730.    "     ((return (expression float dFdx (var_ref p)))))\n"
  731.    "\n"
  732.    "   (signature vec2\n"
  733.    "     (parameters\n"
  734.    "       (declare (in) vec2 p))\n"
  735.    "     ((return (expression vec2 dFdx (var_ref p)))))\n"
  736.    "\n"
  737.    "   (signature vec3\n"
  738.    "     (parameters\n"
  739.    "       (declare (in) vec3 p))\n"
  740.    "     ((return (expression vec3 dFdx (var_ref p)))))\n"
  741.    "\n"
  742.    "   (signature vec4\n"
  743.    "     (parameters\n"
  744.    "       (declare (in) vec4 p))\n"
  745.    "     ((return (expression vec4 dFdx (var_ref p)))))\n"
  746.    "))\n"
  747.    ""
  748. ;
  749. static const char builtin_dFdy[] =
  750.    "((function dFdy\n"
  751.    "   (signature float\n"
  752.    "     (parameters\n"
  753.    "       (declare (in) float p))\n"
  754.    "     ((return (expression float dFdy (var_ref p)))))\n"
  755.    "\n"
  756.    "   (signature vec2\n"
  757.    "     (parameters\n"
  758.    "       (declare (in) vec2 p))\n"
  759.    "     ((return (expression vec2 dFdy (var_ref p)))))\n"
  760.    "\n"
  761.    "   (signature vec3\n"
  762.    "     (parameters\n"
  763.    "       (declare (in) vec3 p))\n"
  764.    "     ((return (expression vec3 dFdy (var_ref p)))))\n"
  765.    "\n"
  766.    "   (signature vec4\n"
  767.    "     (parameters\n"
  768.    "       (declare (in) vec4 p))\n"
  769.    "     ((return (expression vec4 dFdy (var_ref p)))))\n"
  770.    "))\n"
  771.    ""
  772. ;
  773. static const char builtin_degrees[] =
  774.    "((function degrees\n"
  775.    "   (signature float\n"
  776.    "     (parameters\n"
  777.    "       (declare (in) float arg0))\n"
  778.    "     ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
  779.    "\n"
  780.    "   (signature vec2\n"
  781.    "     (parameters\n"
  782.    "       (declare (in) vec2 arg0))\n"
  783.    "     ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
  784.    "\n"
  785.    "   (signature vec3\n"
  786.    "     (parameters\n"
  787.    "       (declare (in) vec3 arg0))\n"
  788.    "     ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
  789.    "\n"
  790.    "   (signature vec4\n"
  791.    "     (parameters\n"
  792.    "       (declare (in) vec4 arg0))\n"
  793.    "     ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
  794.    "))\n"
  795.    ""
  796. ;
  797. static const char builtin_distance[] =
  798.    "((function distance\n"
  799.    "   (signature float\n"
  800.    "     (parameters\n"
  801.    "       (declare (in) float p0)\n"
  802.    "       (declare (in) float p1))\n"
  803.    "     ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
  804.    "\n"
  805.    "   (signature float\n"
  806.    "     (parameters\n"
  807.    "       (declare (in) vec2 p0)\n"
  808.    "       (declare (in) vec2 p1))\n"
  809.    "     ((declare () vec2 p)\n"
  810.    "      (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
  811.    "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
  812.    "\n"
  813.    "   (signature float\n"
  814.    "     (parameters\n"
  815.    "       (declare (in) vec3 p0)\n"
  816.    "       (declare (in) vec3 p1))\n"
  817.    "     ((declare () vec3 p)\n"
  818.    "      (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
  819.    "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
  820.    "\n"
  821.    "   (signature float\n"
  822.    "     (parameters\n"
  823.    "       (declare (in) vec4 p0)\n"
  824.    "       (declare (in) vec4 p1))\n"
  825.    "     ((declare () vec4 p)\n"
  826.    "      (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
  827.    "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
  828.    "))\n"
  829.    ""
  830. ;
  831. static const char builtin_dot[] =
  832.    "((function dot\n"
  833.    "   (signature float\n"
  834.    "     (parameters\n"
  835.    "       (declare (in) float arg0)\n"
  836.    "       (declare (in) float arg1))\n"
  837.    "     ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
  838.    "\n"
  839.    "   (signature float\n"
  840.    "     (parameters\n"
  841.    "       (declare (in) vec2 arg0)\n"
  842.    "       (declare (in) vec2 arg1))\n"
  843.    "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
  844.    "\n"
  845.    "   (signature float\n"
  846.    "     (parameters\n"
  847.    "       (declare (in) vec3 arg0)\n"
  848.    "       (declare (in) vec3 arg1))\n"
  849.    "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
  850.    "\n"
  851.    "   (signature float\n"
  852.    "     (parameters\n"
  853.    "       (declare (in) vec4 arg0)\n"
  854.    "       (declare (in) vec4 arg1))\n"
  855.    "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
  856.    "))\n"
  857.    ""
  858. ;
  859. static const char builtin_equal[] =
  860.    "((function equal\n"
  861.    "   (signature bvec2\n"
  862.    "     (parameters\n"
  863.    "       (declare (in) vec2 arg0)\n"
  864.    "       (declare (in) vec2 arg1))\n"
  865.    "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
  866.    "\n"
  867.    "   (signature bvec3\n"
  868.    "     (parameters\n"
  869.    "       (declare (in) vec3 arg0)\n"
  870.    "       (declare (in) vec3 arg1))\n"
  871.    "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
  872.    "\n"
  873.    "   (signature bvec4\n"
  874.    "     (parameters\n"
  875.    "       (declare (in) vec4 arg0)\n"
  876.    "       (declare (in) vec4 arg1))\n"
  877.    "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
  878.    "\n"
  879.    "   (signature bvec2\n"
  880.    "     (parameters\n"
  881.    "       (declare (in) bvec2 arg0)\n"
  882.    "       (declare (in) bvec2 arg1))\n"
  883.    "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
  884.    "\n"
  885.    "   (signature bvec3\n"
  886.    "     (parameters\n"
  887.    "       (declare (in) bvec3 arg0)\n"
  888.    "       (declare (in) bvec3 arg1))\n"
  889.    "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
  890.    "\n"
  891.    "   (signature bvec4\n"
  892.    "     (parameters\n"
  893.    "       (declare (in) bvec4 arg0)\n"
  894.    "       (declare (in) bvec4 arg1))\n"
  895.    "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
  896.    "\n"
  897.    "   (signature bvec2\n"
  898.    "     (parameters\n"
  899.    "       (declare (in) ivec2 arg0)\n"
  900.    "       (declare (in) ivec2 arg1))\n"
  901.    "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
  902.    "\n"
  903.    "   (signature bvec3\n"
  904.    "     (parameters\n"
  905.    "       (declare (in) ivec3 arg0)\n"
  906.    "       (declare (in) ivec3 arg1))\n"
  907.    "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
  908.    "\n"
  909.    "   (signature bvec4\n"
  910.    "     (parameters\n"
  911.    "       (declare (in) ivec4 arg0)\n"
  912.    "       (declare (in) ivec4 arg1))\n"
  913.    "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
  914.    "\n"
  915.    "   (signature bvec2\n"
  916.    "     (parameters\n"
  917.    "       (declare (in) uvec2 arg0)\n"
  918.    "       (declare (in) uvec2 arg1))\n"
  919.    "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
  920.    "\n"
  921.    "   (signature bvec3\n"
  922.    "     (parameters\n"
  923.    "       (declare (in) uvec3 arg0)\n"
  924.    "       (declare (in) uvec3 arg1))\n"
  925.    "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
  926.    "\n"
  927.    "   (signature bvec4\n"
  928.    "     (parameters\n"
  929.    "       (declare (in) uvec4 arg0)\n"
  930.    "       (declare (in) uvec4 arg1))\n"
  931.    "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
  932.    "))\n"
  933.    ""
  934. ;
  935. static const char builtin_exp[] =
  936.    "((function exp\n"
  937.    "   (signature float\n"
  938.    "     (parameters\n"
  939.    "       (declare (in) float arg0))\n"
  940.    "     ((return (expression float exp (var_ref arg0)))))\n"
  941.    "\n"
  942.    "   (signature vec2\n"
  943.    "     (parameters\n"
  944.    "       (declare (in) vec2 arg0))\n"
  945.    "     ((return (expression vec2 exp (var_ref arg0)))))\n"
  946.    "\n"
  947.    "   (signature vec3\n"
  948.    "     (parameters\n"
  949.    "       (declare (in) vec3 arg0))\n"
  950.    "     ((return (expression vec3 exp (var_ref arg0)))))\n"
  951.    "\n"
  952.    "   (signature vec4\n"
  953.    "     (parameters\n"
  954.    "       (declare (in) vec4 arg0))\n"
  955.    "     ((return (expression vec4 exp (var_ref arg0)))))\n"
  956.    "))\n"
  957.    ""
  958. ;
  959. static const char builtin_exp2[] =
  960.    "((function exp2\n"
  961.    "   (signature float\n"
  962.    "     (parameters\n"
  963.    "       (declare (in) float arg0))\n"
  964.    "     ((return (expression float exp2 (var_ref arg0)))))\n"
  965.    "\n"
  966.    "   (signature vec2\n"
  967.    "     (parameters\n"
  968.    "       (declare (in) vec2 arg0))\n"
  969.    "     ((return (expression vec2 exp2 (var_ref arg0)))))\n"
  970.    "\n"
  971.    "   (signature vec3\n"
  972.    "     (parameters\n"
  973.    "       (declare (in) vec3 arg0))\n"
  974.    "     ((return (expression vec3 exp2 (var_ref arg0)))))\n"
  975.    "\n"
  976.    "   (signature vec4\n"
  977.    "     (parameters\n"
  978.    "       (declare (in) vec4 arg0))\n"
  979.    "     ((return (expression vec4 exp2 (var_ref arg0)))))\n"
  980.    "))\n"
  981.    ""
  982. ;
  983. static const char builtin_faceforward[] =
  984.    "((function faceforward\n"
  985.    "   (signature float\n"
  986.    "     (parameters\n"
  987.    "       (declare (in) float N)\n"
  988.    "       (declare (in) float I)\n"
  989.    "       (declare (in) float Nref))\n"
  990.    "     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
  991.    "          ((return (var_ref N)))\n"
  992.    "      ((return (expression float neg (var_ref N)))))))\n"
  993.    "\n"
  994.    "   (signature vec2\n"
  995.    "     (parameters\n"
  996.    "       (declare (in) vec2 N)\n"
  997.    "       (declare (in) vec2 I)\n"
  998.    "       (declare (in) vec2 Nref))\n"
  999.    "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
  1000.    "          ((return (var_ref N)))\n"
  1001.    "      ((return (expression vec2 neg (var_ref N)))))))\n"
  1002.    "\n"
  1003.    "   (signature vec3\n"
  1004.    "     (parameters\n"
  1005.    "       (declare (in) vec3 N)\n"
  1006.    "       (declare (in) vec3 I)\n"
  1007.    "       (declare (in) vec3 Nref))\n"
  1008.    "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
  1009.    "          ((return (var_ref N)))\n"
  1010.    "      ((return (expression vec3 neg (var_ref N)))))))\n"
  1011.    "\n"
  1012.    "   (signature vec4\n"
  1013.    "     (parameters\n"
  1014.    "       (declare (in) vec4 N)\n"
  1015.    "       (declare (in) vec4 I)\n"
  1016.    "       (declare (in) vec4 Nref))\n"
  1017.    "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
  1018.    "          ((return (var_ref N)))\n"
  1019.    "      ((return (expression vec4 neg (var_ref N)))))))\n"
  1020.    "))\n"
  1021.    ""
  1022. ;
  1023. static const char builtin_floor[] =
  1024.    "((function floor\n"
  1025.    "   (signature float\n"
  1026.    "     (parameters\n"
  1027.    "       (declare (in) float arg0))\n"
  1028.    "     ((return (expression float floor (var_ref arg0)))))\n"
  1029.    "\n"
  1030.    "   (signature vec2\n"
  1031.    "     (parameters\n"
  1032.    "       (declare (in) vec2 arg0))\n"
  1033.    "     ((return (expression vec2 floor (var_ref arg0)))))\n"
  1034.    "\n"
  1035.    "   (signature vec3\n"
  1036.    "     (parameters\n"
  1037.    "       (declare (in) vec3 arg0))\n"
  1038.    "     ((return (expression vec3 floor (var_ref arg0)))))\n"
  1039.    "\n"
  1040.    "   (signature vec4\n"
  1041.    "     (parameters\n"
  1042.    "       (declare (in) vec4 arg0))\n"
  1043.    "     ((return (expression vec4 floor (var_ref arg0)))))\n"
  1044.    "))\n"
  1045.    ""
  1046. ;
  1047. static const char builtin_fract[] =
  1048.    "((function fract\n"
  1049.    "   (signature float\n"
  1050.    "     (parameters\n"
  1051.    "       (declare (in) float x))\n"
  1052.    "     ((return (expression float fract (var_ref x)))))\n"
  1053.    "\n"
  1054.    "   (signature vec2\n"
  1055.    "     (parameters\n"
  1056.    "       (declare (in) vec2 x))\n"
  1057.    "     ((return (expression vec2 fract (var_ref x)))))\n"
  1058.    "\n"
  1059.    "   (signature vec3\n"
  1060.    "     (parameters\n"
  1061.    "       (declare (in) vec3 x))\n"
  1062.    "     ((return (expression vec3 fract (var_ref x)))))\n"
  1063.    "\n"
  1064.    "   (signature vec4\n"
  1065.    "     (parameters\n"
  1066.    "       (declare (in) vec4 x))\n"
  1067.    "     ((return (expression vec4 fract (var_ref x)))))\n"
  1068.    "))\n"
  1069.    "\n"
  1070.    ""
  1071. ;
  1072. static const char builtin_ftransform[] =
  1073.    "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
  1074.    " (declare (in) vec4 gl_Vertex)\n"
  1075.    " (function ftransform\n"
  1076.    "   (signature vec4\n"
  1077.    "     (parameters)\n"
  1078.    "    ((return (expression vec4 *\n"
  1079.    "          (var_ref gl_ModelViewProjectionMatrix)\n"
  1080.    "          (var_ref gl_Vertex)))))\n"
  1081.    "))\n"
  1082.    ""
  1083. ;
  1084. static const char builtin_fwidth[] =
  1085.    "((function fwidth\n"
  1086.    "   (signature float\n"
  1087.    "     (parameters\n"
  1088.    "       (declare (in) float p))\n"
  1089.    "     ((return (expression float +\n"
  1090.    "                (expression float abs (expression float dFdx (var_ref p)))\n"
  1091.    "                (expression float abs (expression float dFdy (var_ref p)))))))\n"
  1092.    "\n"
  1093.    "   (signature vec2\n"
  1094.    "     (parameters\n"
  1095.    "       (declare (in) vec2 p))\n"
  1096.    "     ((return (expression vec2 +\n"
  1097.    "                (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
  1098.    "                (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
  1099.    "\n"
  1100.    "   (signature vec3\n"
  1101.    "     (parameters\n"
  1102.    "       (declare (in) vec3 p))\n"
  1103.    "     ((return (expression vec3 +\n"
  1104.    "                (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
  1105.    "                (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
  1106.    "\n"
  1107.    "   (signature vec4\n"
  1108.    "     (parameters\n"
  1109.    "       (declare (in) vec4 p))\n"
  1110.    "     ((return (expression vec4 +\n"
  1111.    "                (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
  1112.    "                (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
  1113.    "))\n"
  1114.    ""
  1115. ;
  1116. static const char builtin_greaterThan[] =
  1117.    "((function greaterThan\n"
  1118.    "   (signature bvec2\n"
  1119.    "     (parameters\n"
  1120.    "       (declare (in) vec2 arg0)\n"
  1121.    "       (declare (in) vec2 arg1))\n"
  1122.    "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
  1123.    "\n"
  1124.    "   (signature bvec3\n"
  1125.    "     (parameters\n"
  1126.    "       (declare (in) vec3 arg0)\n"
  1127.    "       (declare (in) vec3 arg1))\n"
  1128.    "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
  1129.    "\n"
  1130.    "   (signature bvec4\n"
  1131.    "     (parameters\n"
  1132.    "       (declare (in) vec4 arg0)\n"
  1133.    "       (declare (in) vec4 arg1))\n"
  1134.    "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
  1135.    "\n"
  1136.    "   (signature bvec2\n"
  1137.    "     (parameters\n"
  1138.    "       (declare (in) ivec2 arg0)\n"
  1139.    "       (declare (in) ivec2 arg1))\n"
  1140.    "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
  1141.    "\n"
  1142.    "   (signature bvec3\n"
  1143.    "     (parameters\n"
  1144.    "       (declare (in) ivec3 arg0)\n"
  1145.    "       (declare (in) ivec3 arg1))\n"
  1146.    "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
  1147.    "\n"
  1148.    "   (signature bvec4\n"
  1149.    "     (parameters\n"
  1150.    "       (declare (in) ivec4 arg0)\n"
  1151.    "       (declare (in) ivec4 arg1))\n"
  1152.    "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
  1153.    "\n"
  1154.    "   (signature bvec2\n"
  1155.    "     (parameters\n"
  1156.    "       (declare (in) uvec2 arg0)\n"
  1157.    "       (declare (in) uvec2 arg1))\n"
  1158.    "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
  1159.    "\n"
  1160.    "   (signature bvec3\n"
  1161.    "     (parameters\n"
  1162.    "       (declare (in) uvec3 arg0)\n"
  1163.    "       (declare (in) uvec3 arg1))\n"
  1164.    "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
  1165.    "\n"
  1166.    "   (signature bvec4\n"
  1167.    "     (parameters\n"
  1168.    "       (declare (in) uvec4 arg0)\n"
  1169.    "       (declare (in) uvec4 arg1))\n"
  1170.    "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
  1171.    "))\n"
  1172.    ""
  1173. ;
  1174. static const char builtin_greaterThanEqual[] =
  1175.    "((function greaterThanEqual\n"
  1176.    "   (signature bvec2\n"
  1177.    "     (parameters\n"
  1178.    "       (declare (in) vec2 arg0)\n"
  1179.    "       (declare (in) vec2 arg1))\n"
  1180.    "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
  1181.    "\n"
  1182.    "   (signature bvec3\n"
  1183.    "     (parameters\n"
  1184.    "       (declare (in) vec3 arg0)\n"
  1185.    "       (declare (in) vec3 arg1))\n"
  1186.    "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
  1187.    "\n"
  1188.    "   (signature bvec4\n"
  1189.    "     (parameters\n"
  1190.    "       (declare (in) vec4 arg0)\n"
  1191.    "       (declare (in) vec4 arg1))\n"
  1192.    "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
  1193.    "\n"
  1194.    "   (signature bvec2\n"
  1195.    "     (parameters\n"
  1196.    "       (declare (in) ivec2 arg0)\n"
  1197.    "       (declare (in) ivec2 arg1))\n"
  1198.    "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
  1199.    "\n"
  1200.    "   (signature bvec3\n"
  1201.    "     (parameters\n"
  1202.    "       (declare (in) ivec3 arg0)\n"
  1203.    "       (declare (in) ivec3 arg1))\n"
  1204.    "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
  1205.    "\n"
  1206.    "   (signature bvec4\n"
  1207.    "     (parameters\n"
  1208.    "       (declare (in) ivec4 arg0)\n"
  1209.    "       (declare (in) ivec4 arg1))\n"
  1210.    "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
  1211.    "\n"
  1212.    "   (signature bvec2\n"
  1213.    "     (parameters\n"
  1214.    "       (declare (in) uvec2 arg0)\n"
  1215.    "       (declare (in) uvec2 arg1))\n"
  1216.    "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
  1217.    "\n"
  1218.    "   (signature bvec3\n"
  1219.    "     (parameters\n"
  1220.    "       (declare (in) uvec3 arg0)\n"
  1221.    "       (declare (in) uvec3 arg1))\n"
  1222.    "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
  1223.    "\n"
  1224.    "   (signature bvec4\n"
  1225.    "     (parameters\n"
  1226.    "       (declare (in) uvec4 arg0)\n"
  1227.    "       (declare (in) uvec4 arg1))\n"
  1228.    "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
  1229.    "))\n"
  1230.    ""
  1231. ;
  1232. static const char builtin_inversesqrt[] =
  1233.    "((function inversesqrt\n"
  1234.    "   (signature float\n"
  1235.    "     (parameters\n"
  1236.    "       (declare (in) float arg0))\n"
  1237.    "     ((return (expression float rsq (var_ref arg0)))))\n"
  1238.    "\n"
  1239.    "   (signature vec2\n"
  1240.    "     (parameters\n"
  1241.    "       (declare (in) vec2 arg0))\n"
  1242.    "     ((return (expression vec2 rsq (var_ref arg0)))))\n"
  1243.    "\n"
  1244.    "   (signature vec3\n"
  1245.    "     (parameters\n"
  1246.    "       (declare (in) vec3 arg0))\n"
  1247.    "     ((return (expression vec3 rsq (var_ref arg0)))))\n"
  1248.    "\n"
  1249.    "   (signature vec4\n"
  1250.    "     (parameters\n"
  1251.    "       (declare (in) vec4 arg0))\n"
  1252.    "     ((return (expression vec4 rsq (var_ref arg0)))))\n"
  1253.    "))\n"
  1254.    ""
  1255. ;
  1256. static const char builtin_length[] =
  1257.    "((function length\n"
  1258.    "   (signature float\n"
  1259.    "     (parameters\n"
  1260.    "       (declare (in) float arg0))\n"
  1261.    "     ((return (expression float abs (var_ref arg0)))))\n"
  1262.    "\n"
  1263.    "   (signature float\n"
  1264.    "     (parameters\n"
  1265.    "       (declare (in) vec2 arg0))\n"
  1266.    "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
  1267.    "\n"
  1268.    "   (signature float\n"
  1269.    "     (parameters\n"
  1270.    "       (declare (in) vec3 arg0))\n"
  1271.    "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
  1272.    "\n"
  1273.    "   (signature float\n"
  1274.    "     (parameters\n"
  1275.    "       (declare (in) vec4 arg0))\n"
  1276.    "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
  1277.    "))\n"
  1278.    ""
  1279. ;
  1280. static const char builtin_lessThan[] =
  1281.    "((function lessThan\n"
  1282.    "   (signature bvec2\n"
  1283.    "     (parameters\n"
  1284.    "       (declare (in) vec2 arg0)\n"
  1285.    "       (declare (in) vec2 arg1))\n"
  1286.    "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
  1287.    "\n"
  1288.    "   (signature bvec3\n"
  1289.    "     (parameters\n"
  1290.    "       (declare (in) vec3 arg0)\n"
  1291.    "       (declare (in) vec3 arg1))\n"
  1292.    "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
  1293.    "\n"
  1294.    "   (signature bvec4\n"
  1295.    "     (parameters\n"
  1296.    "       (declare (in) vec4 arg0)\n"
  1297.    "       (declare (in) vec4 arg1))\n"
  1298.    "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
  1299.    "\n"
  1300.    "   (signature bvec2\n"
  1301.    "     (parameters\n"
  1302.    "       (declare (in) ivec2 arg0)\n"
  1303.    "       (declare (in) ivec2 arg1))\n"
  1304.    "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
  1305.    "\n"
  1306.    "   (signature bvec3\n"
  1307.    "     (parameters\n"
  1308.    "       (declare (in) ivec3 arg0)\n"
  1309.    "       (declare (in) ivec3 arg1))\n"
  1310.    "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
  1311.    "\n"
  1312.    "   (signature bvec4\n"
  1313.    "     (parameters\n"
  1314.    "       (declare (in) ivec4 arg0)\n"
  1315.    "       (declare (in) ivec4 arg1))\n"
  1316.    "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
  1317.    "\n"
  1318.    "   (signature bvec2\n"
  1319.    "     (parameters\n"
  1320.    "       (declare (in) uvec2 arg0)\n"
  1321.    "       (declare (in) uvec2 arg1))\n"
  1322.    "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
  1323.    "\n"
  1324.    "   (signature bvec3\n"
  1325.    "     (parameters\n"
  1326.    "       (declare (in) uvec3 arg0)\n"
  1327.    "       (declare (in) uvec3 arg1))\n"
  1328.    "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
  1329.    "\n"
  1330.    "   (signature bvec4\n"
  1331.    "     (parameters\n"
  1332.    "       (declare (in) uvec4 arg0)\n"
  1333.    "       (declare (in) uvec4 arg1))\n"
  1334.    "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
  1335.    "))\n"
  1336.    ""
  1337. ;
  1338. static const char builtin_lessThanEqual[] =
  1339.    "((function lessThanEqual\n"
  1340.    "   (signature bvec2\n"
  1341.    "     (parameters\n"
  1342.    "       (declare (in) vec2 arg0)\n"
  1343.    "       (declare (in) vec2 arg1))\n"
  1344.    "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
  1345.    "\n"
  1346.    "   (signature bvec3\n"
  1347.    "     (parameters\n"
  1348.    "       (declare (in) vec3 arg0)\n"
  1349.    "       (declare (in) vec3 arg1))\n"
  1350.    "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
  1351.    "\n"
  1352.    "   (signature bvec4\n"
  1353.    "     (parameters\n"
  1354.    "       (declare (in) vec4 arg0)\n"
  1355.    "       (declare (in) vec4 arg1))\n"
  1356.    "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
  1357.    "\n"
  1358.    "   (signature bvec2\n"
  1359.    "     (parameters\n"
  1360.    "       (declare (in) ivec2 arg0)\n"
  1361.    "       (declare (in) ivec2 arg1))\n"
  1362.    "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
  1363.    "\n"
  1364.    "   (signature bvec3\n"
  1365.    "     (parameters\n"
  1366.    "       (declare (in) ivec3 arg0)\n"
  1367.    "       (declare (in) ivec3 arg1))\n"
  1368.    "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
  1369.    "\n"
  1370.    "   (signature bvec4\n"
  1371.    "     (parameters\n"
  1372.    "       (declare (in) ivec4 arg0)\n"
  1373.    "       (declare (in) ivec4 arg1))\n"
  1374.    "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
  1375.    "\n"
  1376.    "   (signature bvec2\n"
  1377.    "     (parameters\n"
  1378.    "       (declare (in) uvec2 arg0)\n"
  1379.    "       (declare (in) uvec2 arg1))\n"
  1380.    "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
  1381.    "\n"
  1382.    "   (signature bvec3\n"
  1383.    "     (parameters\n"
  1384.    "       (declare (in) uvec3 arg0)\n"
  1385.    "       (declare (in) uvec3 arg1))\n"
  1386.    "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
  1387.    "\n"
  1388.    "   (signature bvec4\n"
  1389.    "     (parameters\n"
  1390.    "       (declare (in) uvec4 arg0)\n"
  1391.    "       (declare (in) uvec4 arg1))\n"
  1392.    "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
  1393.    "))\n"
  1394.    ""
  1395. ;
  1396. static const char builtin_log[] =
  1397.    "((function log\n"
  1398.    "   (signature float\n"
  1399.    "     (parameters\n"
  1400.    "       (declare (in) float arg0))\n"
  1401.    "     ((return (expression float log (var_ref arg0)))))\n"
  1402.    "\n"
  1403.    "   (signature vec2\n"
  1404.    "     (parameters\n"
  1405.    "       (declare (in) vec2 arg0))\n"
  1406.    "     ((return (expression vec2 log (var_ref arg0)))))\n"
  1407.    "\n"
  1408.    "   (signature vec3\n"
  1409.    "     (parameters\n"
  1410.    "       (declare (in) vec3 arg0))\n"
  1411.    "     ((return (expression vec3 log (var_ref arg0)))))\n"
  1412.    "\n"
  1413.    "   (signature vec4\n"
  1414.    "     (parameters\n"
  1415.    "       (declare (in) vec4 arg0))\n"
  1416.    "     ((return (expression vec4 log (var_ref arg0)))))\n"
  1417.    "))\n"
  1418.    ""
  1419. ;
  1420. static const char builtin_log2[] =
  1421.    "((function log2\n"
  1422.    "   (signature float\n"
  1423.    "     (parameters\n"
  1424.    "       (declare (in) float arg0))\n"
  1425.    "     ((return (expression float log2 (var_ref arg0)))))\n"
  1426.    "\n"
  1427.    "   (signature vec2\n"
  1428.    "     (parameters\n"
  1429.    "       (declare (in) vec2 arg0))\n"
  1430.    "     ((return (expression vec2 log2 (var_ref arg0)))))\n"
  1431.    "\n"
  1432.    "   (signature vec3\n"
  1433.    "     (parameters\n"
  1434.    "       (declare (in) vec3 arg0))\n"
  1435.    "     ((return (expression vec3 log2 (var_ref arg0)))))\n"
  1436.    "\n"
  1437.    "   (signature vec4\n"
  1438.    "     (parameters\n"
  1439.    "       (declare (in) vec4 arg0))\n"
  1440.    "     ((return (expression vec4 log2 (var_ref arg0)))))\n"
  1441.    "))\n"
  1442.    ""
  1443. ;
  1444. static const char builtin_matrixCompMult[] =
  1445.    "((function matrixCompMult\n"
  1446.    "   (signature mat2\n"
  1447.    "     (parameters\n"
  1448.    "       (declare (in) mat2 x)\n"
  1449.    "       (declare (in) mat2 y))\n"
  1450.    "     ((declare () mat2 z)\n"
  1451.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1452.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1453.    "(return (var_ref z))))\n"
  1454.    "\n"
  1455.    "   (signature mat3\n"
  1456.    "     (parameters\n"
  1457.    "       (declare (in) mat3 x)\n"
  1458.    "       (declare (in) mat3 y))\n"
  1459.    "     ((declare () mat3 z)\n"
  1460.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1461.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1462.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1463.    "(return (var_ref z))))\n"
  1464.    "\n"
  1465.    "   (signature mat4\n"
  1466.    "     (parameters\n"
  1467.    "       (declare (in) mat4 x)\n"
  1468.    "       (declare (in) mat4 y))\n"
  1469.    "     ((declare () mat4 z)\n"
  1470.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1471.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1472.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1473.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3)))  (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
  1474.    "(return (var_ref z))))\n"
  1475.    "\n"
  1476.    "   (signature mat2x3\n"
  1477.    "     (parameters\n"
  1478.    "       (declare (in) mat2x3 x)\n"
  1479.    "       (declare (in) mat2x3 y))\n"
  1480.    "     ((declare () mat2x3 z)\n"
  1481.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1482.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1483.    "(return (var_ref z))))\n"
  1484.    "\n"
  1485.    "   (signature mat3x2\n"
  1486.    "     (parameters\n"
  1487.    "       (declare (in) mat3x2 x)\n"
  1488.    "       (declare (in) mat3x2 y))\n"
  1489.    "     ((declare () mat3x2 z)\n"
  1490.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1491.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1492.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1493.    "(return (var_ref z))))\n"
  1494.    "\n"
  1495.    "   (signature mat2x4\n"
  1496.    "     (parameters\n"
  1497.    "       (declare (in) mat2x4 x)\n"
  1498.    "       (declare (in) mat2x4 y))\n"
  1499.    "     ((declare () mat2x4 z)\n"
  1500.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1501.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1502.    "(return (var_ref z))))\n"
  1503.    "\n"
  1504.    "   (signature mat4x2\n"
  1505.    "     (parameters\n"
  1506.    "       (declare (in) mat4x2 x)\n"
  1507.    "       (declare (in) mat4x2 y))\n"
  1508.    "     ((declare () mat4x2 z)\n"
  1509.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1510.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1511.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1512.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3)))  (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
  1513.    "(return (var_ref z))))\n"
  1514.    "\n"
  1515.    "   (signature mat3x4\n"
  1516.    "     (parameters\n"
  1517.    "       (declare (in) mat3x4 x)\n"
  1518.    "       (declare (in) mat3x4 y))\n"
  1519.    "     ((declare () mat3x4 z)\n"
  1520.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1521.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1522.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1523.    "(return (var_ref z))))\n"
  1524.    "\n"
  1525.    "   (signature mat4x3\n"
  1526.    "     (parameters\n"
  1527.    "       (declare (in) mat4x3 x)\n"
  1528.    "       (declare (in) mat4x3 y))\n"
  1529.    "     ((declare () mat4x3 z)\n"
  1530.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
  1531.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
  1532.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
  1533.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3)))  (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
  1534.    "(return (var_ref z))))\n"
  1535.    "))\n"
  1536.    ""
  1537. ;
  1538. static const char builtin_max[] =
  1539.    "((function max\n"
  1540.    "   (signature float\n"
  1541.    "     (parameters\n"
  1542.    "       (declare (in) float arg0)\n"
  1543.    "       (declare (in) float arg1))\n"
  1544.    "     ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
  1545.    "\n"
  1546.    "   (signature vec2\n"
  1547.    "     (parameters\n"
  1548.    "       (declare (in) vec2 arg0)\n"
  1549.    "       (declare (in) vec2 arg1))\n"
  1550.    "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1551.    "\n"
  1552.    "   (signature vec3\n"
  1553.    "     (parameters\n"
  1554.    "       (declare (in) vec3 arg0)\n"
  1555.    "       (declare (in) vec3 arg1))\n"
  1556.    "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1557.    "\n"
  1558.    "   (signature vec4\n"
  1559.    "     (parameters\n"
  1560.    "       (declare (in) vec4 arg0)\n"
  1561.    "       (declare (in) vec4 arg1))\n"
  1562.    "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1563.    "\n"
  1564.    "   (signature vec2\n"
  1565.    "     (parameters\n"
  1566.    "       (declare (in) vec2  arg0)\n"
  1567.    "       (declare (in) float arg1))\n"
  1568.    "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1569.    "\n"
  1570.    "   (signature vec3\n"
  1571.    "     (parameters\n"
  1572.    "       (declare (in) vec3  arg0)\n"
  1573.    "       (declare (in) float arg1))\n"
  1574.    "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1575.    "\n"
  1576.    "   (signature vec4\n"
  1577.    "     (parameters\n"
  1578.    "       (declare (in) vec4  arg0)\n"
  1579.    "       (declare (in) float arg1))\n"
  1580.    "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1581.    "\n"
  1582.    "   (signature int\n"
  1583.    "     (parameters\n"
  1584.    "       (declare (in) int arg0)\n"
  1585.    "       (declare (in) int arg1))\n"
  1586.    "     ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
  1587.    "\n"
  1588.    "   (signature ivec2\n"
  1589.    "     (parameters\n"
  1590.    "       (declare (in) ivec2 arg0)\n"
  1591.    "       (declare (in) ivec2 arg1))\n"
  1592.    "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1593.    "\n"
  1594.    "   (signature ivec3\n"
  1595.    "     (parameters\n"
  1596.    "       (declare (in) ivec3 arg0)\n"
  1597.    "       (declare (in) ivec3 arg1))\n"
  1598.    "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1599.    "\n"
  1600.    "   (signature ivec4\n"
  1601.    "     (parameters\n"
  1602.    "       (declare (in) ivec4 arg0)\n"
  1603.    "       (declare (in) ivec4 arg1))\n"
  1604.    "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1605.    "\n"
  1606.    "   (signature ivec2\n"
  1607.    "     (parameters\n"
  1608.    "       (declare (in) ivec2  arg0)\n"
  1609.    "       (declare (in) int arg1))\n"
  1610.    "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1611.    "\n"
  1612.    "   (signature ivec3\n"
  1613.    "     (parameters\n"
  1614.    "       (declare (in) ivec3  arg0)\n"
  1615.    "       (declare (in) int arg1))\n"
  1616.    "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1617.    "\n"
  1618.    "   (signature ivec4\n"
  1619.    "     (parameters\n"
  1620.    "       (declare (in) ivec4  arg0)\n"
  1621.    "       (declare (in) int arg1))\n"
  1622.    "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1623.    "\n"
  1624.    "   (signature uint\n"
  1625.    "     (parameters\n"
  1626.    "       (declare (in) uint arg0)\n"
  1627.    "       (declare (in) uint arg1))\n"
  1628.    "     ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
  1629.    "\n"
  1630.    "   (signature uvec2\n"
  1631.    "     (parameters\n"
  1632.    "       (declare (in) uvec2 arg0)\n"
  1633.    "       (declare (in) uvec2 arg1))\n"
  1634.    "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1635.    "\n"
  1636.    "   (signature uvec3\n"
  1637.    "     (parameters\n"
  1638.    "       (declare (in) uvec3 arg0)\n"
  1639.    "       (declare (in) uvec3 arg1))\n"
  1640.    "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1641.    "\n"
  1642.    "   (signature uvec4\n"
  1643.    "     (parameters\n"
  1644.    "       (declare (in) uvec4 arg0)\n"
  1645.    "       (declare (in) uvec4 arg1))\n"
  1646.    "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1647.    "\n"
  1648.    "   (signature uvec2\n"
  1649.    "     (parameters\n"
  1650.    "       (declare (in) uvec2  arg0)\n"
  1651.    "       (declare (in) uint arg1))\n"
  1652.    "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
  1653.    "\n"
  1654.    "   (signature uvec3\n"
  1655.    "     (parameters\n"
  1656.    "       (declare (in) uvec3  arg0)\n"
  1657.    "       (declare (in) uint arg1))\n"
  1658.    "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
  1659.    "\n"
  1660.    "   (signature uvec4\n"
  1661.    "     (parameters\n"
  1662.    "       (declare (in) uvec4  arg0)\n"
  1663.    "       (declare (in) uint arg1))\n"
  1664.    "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
  1665.    "))\n"
  1666.    ""
  1667. ;
  1668. static const char builtin_min[] =
  1669.    "((function min\n"
  1670.    "   (signature float\n"
  1671.    "     (parameters\n"
  1672.    "       (declare (in) float arg0)\n"
  1673.    "       (declare (in) float arg1))\n"
  1674.    "     ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
  1675.    "\n"
  1676.    "   (signature vec2\n"
  1677.    "     (parameters\n"
  1678.    "       (declare (in) vec2 arg0)\n"
  1679.    "       (declare (in) vec2 arg1))\n"
  1680.    "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1681.    "\n"
  1682.    "   (signature vec3\n"
  1683.    "     (parameters\n"
  1684.    "       (declare (in) vec3 arg0)\n"
  1685.    "       (declare (in) vec3 arg1))\n"
  1686.    "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1687.    "\n"
  1688.    "   (signature vec4\n"
  1689.    "     (parameters\n"
  1690.    "       (declare (in) vec4 arg0)\n"
  1691.    "       (declare (in) vec4 arg1))\n"
  1692.    "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1693.    "\n"
  1694.    "   (signature vec2\n"
  1695.    "     (parameters\n"
  1696.    "       (declare (in) vec2  arg0)\n"
  1697.    "       (declare (in) float arg1))\n"
  1698.    "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1699.    "\n"
  1700.    "   (signature vec3\n"
  1701.    "     (parameters\n"
  1702.    "       (declare (in) vec3  arg0)\n"
  1703.    "       (declare (in) float arg1))\n"
  1704.    "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1705.    "\n"
  1706.    "   (signature vec4\n"
  1707.    "     (parameters\n"
  1708.    "       (declare (in) vec4  arg0)\n"
  1709.    "       (declare (in) float arg1))\n"
  1710.    "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1711.    "\n"
  1712.    "   (signature int\n"
  1713.    "     (parameters\n"
  1714.    "       (declare (in) int arg0)\n"
  1715.    "       (declare (in) int arg1))\n"
  1716.    "     ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
  1717.    "\n"
  1718.    "   (signature ivec2\n"
  1719.    "     (parameters\n"
  1720.    "       (declare (in) ivec2 arg0)\n"
  1721.    "       (declare (in) ivec2 arg1))\n"
  1722.    "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1723.    "\n"
  1724.    "   (signature ivec3\n"
  1725.    "     (parameters\n"
  1726.    "       (declare (in) ivec3 arg0)\n"
  1727.    "       (declare (in) ivec3 arg1))\n"
  1728.    "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1729.    "\n"
  1730.    "   (signature ivec4\n"
  1731.    "     (parameters\n"
  1732.    "       (declare (in) ivec4 arg0)\n"
  1733.    "       (declare (in) ivec4 arg1))\n"
  1734.    "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1735.    "\n"
  1736.    "   (signature ivec2\n"
  1737.    "     (parameters\n"
  1738.    "       (declare (in) ivec2  arg0)\n"
  1739.    "       (declare (in) int arg1))\n"
  1740.    "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1741.    "\n"
  1742.    "   (signature ivec3\n"
  1743.    "     (parameters\n"
  1744.    "       (declare (in) ivec3  arg0)\n"
  1745.    "       (declare (in) int arg1))\n"
  1746.    "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1747.    "\n"
  1748.    "   (signature ivec4\n"
  1749.    "     (parameters\n"
  1750.    "       (declare (in) ivec4  arg0)\n"
  1751.    "       (declare (in) int arg1))\n"
  1752.    "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1753.    "\n"
  1754.    "   (signature uint\n"
  1755.    "     (parameters\n"
  1756.    "       (declare (in) uint arg0)\n"
  1757.    "       (declare (in) uint arg1))\n"
  1758.    "     ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
  1759.    "\n"
  1760.    "   (signature uvec2\n"
  1761.    "     (parameters\n"
  1762.    "       (declare (in) uvec2 arg0)\n"
  1763.    "       (declare (in) uvec2 arg1))\n"
  1764.    "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1765.    "\n"
  1766.    "   (signature uvec3\n"
  1767.    "     (parameters\n"
  1768.    "       (declare (in) uvec3 arg0)\n"
  1769.    "       (declare (in) uvec3 arg1))\n"
  1770.    "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1771.    "\n"
  1772.    "   (signature uvec4\n"
  1773.    "     (parameters\n"
  1774.    "       (declare (in) uvec4 arg0)\n"
  1775.    "       (declare (in) uvec4 arg1))\n"
  1776.    "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1777.    "\n"
  1778.    "   (signature uvec2\n"
  1779.    "     (parameters\n"
  1780.    "       (declare (in) uvec2  arg0)\n"
  1781.    "       (declare (in) uint arg1))\n"
  1782.    "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
  1783.    "\n"
  1784.    "   (signature uvec3\n"
  1785.    "     (parameters\n"
  1786.    "       (declare (in) uvec3  arg0)\n"
  1787.    "       (declare (in) uint arg1))\n"
  1788.    "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
  1789.    "\n"
  1790.    "   (signature uvec4\n"
  1791.    "     (parameters\n"
  1792.    "       (declare (in) uvec4  arg0)\n"
  1793.    "       (declare (in) uint arg1))\n"
  1794.    "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
  1795.    "))\n"
  1796.    ""
  1797. ;
  1798. static const char builtin_mix[] =
  1799.    "((function mix\n"
  1800.    "   (signature float\n"
  1801.    "     (parameters\n"
  1802.    "       (declare (in) float arg0)\n"
  1803.    "       (declare (in) float arg1)\n"
  1804.    "       (declare (in) float arg2))\n"
  1805.    "     ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))\n"
  1806.    "\n"
  1807.    "   (signature vec2\n"
  1808.    "     (parameters\n"
  1809.    "       (declare (in) vec2 arg0)\n"
  1810.    "       (declare (in) vec2 arg1)\n"
  1811.    "       (declare (in) vec2 arg2))\n"
  1812.    "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
  1813.    "\n"
  1814.    "   (signature vec3\n"
  1815.    "     (parameters\n"
  1816.    "       (declare (in) vec3 arg0)\n"
  1817.    "       (declare (in) vec3 arg1)\n"
  1818.    "       (declare (in) vec3 arg2))\n"
  1819.    "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
  1820.    "\n"
  1821.    "   (signature vec4\n"
  1822.    "     (parameters\n"
  1823.    "       (declare (in) vec4 arg0)\n"
  1824.    "       (declare (in) vec4 arg1)\n"
  1825.    "       (declare (in) vec4 arg2))\n"
  1826.    "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
  1827.    "\n"
  1828.    "   (signature vec2\n"
  1829.    "     (parameters\n"
  1830.    "       (declare (in) vec2 arg0)\n"
  1831.    "       (declare (in) vec2 arg1)\n"
  1832.    "       (declare (in) float arg2))\n"
  1833.    "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
  1834.    "\n"
  1835.    "   (signature vec3\n"
  1836.    "     (parameters\n"
  1837.    "       (declare (in) vec3 arg0)\n"
  1838.    "       (declare (in) vec3 arg1)\n"
  1839.    "       (declare (in) float arg2))\n"
  1840.    "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
  1841.    "\n"
  1842.    "   (signature vec4\n"
  1843.    "     (parameters\n"
  1844.    "       (declare (in) vec4 arg0)\n"
  1845.    "       (declare (in) vec4 arg1)\n"
  1846.    "       (declare (in) float arg2))\n"
  1847.    "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
  1848.    "\n"
  1849.    "   (signature float\n"
  1850.    "     (parameters\n"
  1851.    "       (declare (in) float v1)\n"
  1852.    "       (declare (in) float v2)\n"
  1853.    "       (declare (in) bool  a))\n"
  1854.    "     ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
  1855.    "      (return (var_ref v1))))\n"
  1856.    "\n"
  1857.    "   (signature vec2\n"
  1858.    "     (parameters\n"
  1859.    "       (declare (in) vec2 v1)\n"
  1860.    "       (declare (in) vec2 v2)\n"
  1861.    "       (declare (in) bvec2 a))\n"
  1862.    "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
  1863.    "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
  1864.    "      (return (var_ref v1))))\n"
  1865.    "\n"
  1866.    "   (signature vec3\n"
  1867.    "     (parameters\n"
  1868.    "       (declare (in) vec3 v1)\n"
  1869.    "       (declare (in) vec3 v2)\n"
  1870.    "       (declare (in) bvec3 a))\n"
  1871.    "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
  1872.    "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
  1873.    "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
  1874.    "      (return (var_ref v1))))\n"
  1875.    "\n"
  1876.    "   (signature vec4\n"
  1877.    "     (parameters\n"
  1878.    "       (declare (in) vec4 v1)\n"
  1879.    "       (declare (in) vec4 v2)\n"
  1880.    "       (declare (in) bvec4 a))\n"
  1881.    "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
  1882.    "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
  1883.    "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
  1884.    "      (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
  1885.    "      (return (var_ref v1))))\n"
  1886.    "))\n"
  1887.    ""
  1888. ;
  1889. static const char builtin_mod[] =
  1890.    "((function mod\n"
  1891.    "   (signature float\n"
  1892.    "     (parameters\n"
  1893.    "       (declare (in) float arg0)\n"
  1894.    "       (declare (in) float arg1))\n"
  1895.    "     ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
  1896.    "\n"
  1897.    "   (signature vec2\n"
  1898.    "     (parameters\n"
  1899.    "       (declare (in) vec2 arg0)\n"
  1900.    "       (declare (in) vec2 arg1))\n"
  1901.    "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
  1902.    "\n"
  1903.    "   (signature vec3\n"
  1904.    "     (parameters\n"
  1905.    "       (declare (in) vec3 arg0)\n"
  1906.    "       (declare (in) vec3 arg1))\n"
  1907.    "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
  1908.    "\n"
  1909.    "   (signature vec4\n"
  1910.    "     (parameters\n"
  1911.    "       (declare (in) vec4 arg0)\n"
  1912.    "       (declare (in) vec4 arg1))\n"
  1913.    "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
  1914.    "\n"
  1915.    "   (signature vec2\n"
  1916.    "     (parameters\n"
  1917.    "       (declare (in) vec2  arg0)\n"
  1918.    "       (declare (in) float arg1))\n"
  1919.    "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
  1920.    "\n"
  1921.    "   (signature vec3\n"
  1922.    "     (parameters\n"
  1923.    "       (declare (in) vec3  arg0)\n"
  1924.    "       (declare (in) float arg1))\n"
  1925.    "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
  1926.    "\n"
  1927.    "   (signature vec4\n"
  1928.    "     (parameters\n"
  1929.    "       (declare (in) vec4  arg0)\n"
  1930.    "       (declare (in) float arg1))\n"
  1931.    "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
  1932.    "))\n"
  1933.    ""
  1934. ;
  1935. static const char builtin_modf[] =
  1936.    "((function modf\n"
  1937.    "   (signature float\n"
  1938.    "     (parameters\n"
  1939.    "       (declare (in)  float x)\n"
  1940.    "       (declare (out) float i))\n"
  1941.    "     ((declare () float t)\n"
  1942.    "      (assign (constant bool (1)) (x) (var_ref t)\n"
  1943.    "                                      (expression float trunc (var_ref x)))\n"
  1944.    "      (assign (constant bool (1)) (x) (var_ref i) (var_ref t))\n"
  1945.    "      (return (expression float - (var_ref x) (var_ref t)))))\n"
  1946.    "\n"
  1947.    "   (signature vec2\n"
  1948.    "     (parameters\n"
  1949.    "       (declare (in)  vec2 x)\n"
  1950.    "       (declare (out) vec2 i))\n"
  1951.    "     ((declare () vec2 t)\n"
  1952.    "      (assign (constant bool (1)) (xy) (var_ref t)\n"
  1953.    "                                       (expression vec2 trunc (var_ref x)))\n"
  1954.    "      (assign (constant bool (1)) (xy) (var_ref i) (var_ref t))\n"
  1955.    "      (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
  1956.    "\n"
  1957.    "   (signature vec3\n"
  1958.    "     (parameters\n"
  1959.    "       (declare (in)  vec3 x)\n"
  1960.    "       (declare (out) vec3 i))\n"
  1961.    "     ((declare () vec3 t)\n"
  1962.    "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
  1963.    "                                        (expression vec3 trunc (var_ref x)))\n"
  1964.    "      (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t))\n"
  1965.    "      (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
  1966.    "\n"
  1967.    "   (signature vec4\n"
  1968.    "     (parameters\n"
  1969.    "       (declare (in)  vec4 x)\n"
  1970.    "       (declare (out) vec4 i))\n"
  1971.    "     ((declare () vec4 t)\n"
  1972.    "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
  1973.    "                                         (expression vec4 trunc (var_ref x)))\n"
  1974.    "      (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t))\n"
  1975.    "      (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
  1976.    "))\n"
  1977.    ""
  1978. ;
  1979. static const char builtin_noise1[] =
  1980.    "((function noise1\n"
  1981.    "   (signature float\n"
  1982.    "     (parameters\n"
  1983.    "       (declare (in) float x))\n"
  1984.    "     ((return (expression float noise (var_ref x)))))\n"
  1985.    "   (signature float\n"
  1986.    "     (parameters\n"
  1987.    "       (declare (in) vec2 x))\n"
  1988.    "     ((return (expression float noise (var_ref x)))))\n"
  1989.    "   (signature float\n"
  1990.    "     (parameters\n"
  1991.    "       (declare (in) vec3 x))\n"
  1992.    "     ((return (expression float noise (var_ref x)))))\n"
  1993.    "   (signature float\n"
  1994.    "     (parameters\n"
  1995.    "       (declare (in) vec4 x))\n"
  1996.    "     ((return (expression float noise (var_ref x)))))\n"
  1997.    "))\n"
  1998.    ""
  1999. ;
  2000. static const char builtin_noise2[] =
  2001.    "((function noise2\n"
  2002.    "  (signature vec2\n"
  2003.    "    (parameters (declare (in) vec4 p))\n"
  2004.    "    (\n"
  2005.    "      (declare () float a)\n"
  2006.    "      (declare () float b)\n"
  2007.    "      (declare () vec2 t)\n"
  2008.    "\n"
  2009.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2010.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
  2011.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2012.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2013.    "      (return (var_ref t))\n"
  2014.    "    ))\n"
  2015.    "\n"
  2016.    "  (signature vec2\n"
  2017.    "    (parameters (declare (in) vec3 p))\n"
  2018.    "    (\n"
  2019.    "      (declare () float a)\n"
  2020.    "      (declare () float b)\n"
  2021.    "      (declare () vec2 t)\n"
  2022.    "\n"
  2023.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2024.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
  2025.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2026.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2027.    "      (return (var_ref t))\n"
  2028.    "    ))\n"
  2029.    "\n"
  2030.    "  (signature vec2\n"
  2031.    "    (parameters\n"
  2032.    "      (declare (in ) vec2 p)\n"
  2033.    "    )\n"
  2034.    "    (\n"
  2035.    "      (declare () float a)\n"
  2036.    "      (declare () float b)\n"
  2037.    "      (declare () vec2 t)\n"
  2038.    "\n"
  2039.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2040.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
  2041.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2042.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2043.    "      (return (var_ref t))\n"
  2044.    "    ))\n"
  2045.    "\n"
  2046.    "  (signature vec2\n"
  2047.    "    (parameters\n"
  2048.    "      (declare (in ) float p)\n"
  2049.    "    )\n"
  2050.    "    (\n"
  2051.    "      (declare () float a)\n"
  2052.    "      (declare () float b)\n"
  2053.    "      (declare () vec2 t)\n"
  2054.    "\n"
  2055.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2056.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
  2057.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2058.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2059.    "      (return (var_ref t))\n"
  2060.    "    ))\n"
  2061.    "))\n"
  2062.    ""
  2063. ;
  2064. static const char builtin_noise3[] =
  2065.    "((function noise3\n"
  2066.    "  (signature vec3\n"
  2067.    "    (parameters (declare (in) vec4 p))\n"
  2068.    "    (\n"
  2069.    "      (declare () float a)\n"
  2070.    "      (declare () float b)\n"
  2071.    "      (declare () float c)\n"
  2072.    "      (declare () vec3 t)\n"
  2073.    "\n"
  2074.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2075.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
  2076.    "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
  2077.    "\n"
  2078.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2079.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2080.    "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
  2081.    "      (return (var_ref t))\n"
  2082.    "    ))\n"
  2083.    "\n"
  2084.    "  (signature vec3\n"
  2085.    "    (parameters (declare (in) vec3 p))\n"
  2086.    "    (\n"
  2087.    "      (declare () float a)\n"
  2088.    "      (declare () float b)\n"
  2089.    "      (declare () float c)\n"
  2090.    "      (declare () vec3 t)\n"
  2091.    "\n"
  2092.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2093.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
  2094.    "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
  2095.    "\n"
  2096.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2097.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2098.    "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
  2099.    "      (return (var_ref t))\n"
  2100.    "    ))\n"
  2101.    "\n"
  2102.    "  (signature vec3\n"
  2103.    "    (parameters (declare (in) vec2 p))\n"
  2104.    "    (\n"
  2105.    "      (declare () float a)\n"
  2106.    "      (declare () float b)\n"
  2107.    "      (declare () float c)\n"
  2108.    "      (declare () vec3 t)\n"
  2109.    "\n"
  2110.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2111.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
  2112.    "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
  2113.    "\n"
  2114.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2115.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2116.    "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
  2117.    "      (return (var_ref t))\n"
  2118.    "    ))\n"
  2119.    "\n"
  2120.    "  (signature vec3\n"
  2121.    "    (parameters (declare (in) float p))\n"
  2122.    "    (\n"
  2123.    "      (declare () float a)\n"
  2124.    "      (declare () float b)\n"
  2125.    "      (declare () float c)\n"
  2126.    "      (declare () vec3 t)\n"
  2127.    "\n"
  2128.    "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
  2129.    "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
  2130.    "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
  2131.    "\n"
  2132.    "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
  2133.    "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
  2134.    "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
  2135.    "      (return (var_ref t))\n"
  2136.    "    ))\n"
  2137.    "))\n"
  2138.    ""
  2139. ;
  2140. static const char builtin_noise4[] =
  2141.    "((function noise4\n"
  2142.    "  (signature vec4\n"
  2143.    "    (parameters (declare (in) vec4 p))\n"
  2144.    "    (\n"
  2145.    "      (declare () float _x)\n"
  2146.    "      (declare () float _y)\n"
  2147.    "      (declare () float _z)\n"
  2148.    "      (declare () float _w)\n"
  2149.    "      (declare () vec4 _r)\n"
  2150.    "\n"
  2151.    "      (declare () vec4 _p)\n"
  2152.    "      (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
  2153.    "\n"
  2154.    "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
  2155.    "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
  2156.    "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
  2157.    "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
  2158.    "\n"
  2159.    "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
  2160.    "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
  2161.    "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
  2162.    "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
  2163.    "      (return (var_ref _r))\n"
  2164.    "    ))\n"
  2165.    "\n"
  2166.    "  (signature vec4\n"
  2167.    "    (parameters (declare (in) vec3 p))\n"
  2168.    "    (\n"
  2169.    "      (declare () float _x)\n"
  2170.    "      (declare () float _y)\n"
  2171.    "      (declare () float _z)\n"
  2172.    "      (declare () float _w)\n"
  2173.    "      (declare () vec4 _r)\n"
  2174.    "\n"
  2175.    "      (declare () vec3 _p)\n"
  2176.    "      (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
  2177.    "\n"
  2178.    "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
  2179.    "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
  2180.    "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
  2181.    "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
  2182.    "\n"
  2183.    "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
  2184.    "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
  2185.    "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
  2186.    "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
  2187.    "      (return (var_ref _r))\n"
  2188.    "    ))\n"
  2189.    "\n"
  2190.    "  (signature vec4\n"
  2191.    "    (parameters (declare (in) vec2 p))\n"
  2192.    "    (\n"
  2193.    "      (declare () float _x)\n"
  2194.    "      (declare () float _y)\n"
  2195.    "      (declare () float _z)\n"
  2196.    "      (declare () float _w)\n"
  2197.    "      (declare () vec4 _r)\n"
  2198.    "\n"
  2199.    "      (declare () vec2 _p)\n"
  2200.    "      (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
  2201.    "\n"
  2202.    "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
  2203.    "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
  2204.    "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
  2205.    "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
  2206.    "\n"
  2207.    "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
  2208.    "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
  2209.    "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
  2210.    "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
  2211.    "      (return (var_ref _r))\n"
  2212.    "    ))\n"
  2213.    "\n"
  2214.    "  (signature vec4\n"
  2215.    "    (parameters (declare (in) float p))\n"
  2216.    "    (\n"
  2217.    "      (declare () float _x)\n"
  2218.    "      (declare () float _y)\n"
  2219.    "      (declare () float _z)\n"
  2220.    "      (declare () float _w)\n"
  2221.    "      (declare () vec4 _r)\n"
  2222.    "\n"
  2223.    "      (declare () float _p)\n"
  2224.    "      (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
  2225.    "\n"
  2226.    "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
  2227.    "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0)))))\n"
  2228.    "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
  2229.    "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0)))))\n"
  2230.    "\n"
  2231.    "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
  2232.    "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
  2233.    "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
  2234.    "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
  2235.    "      (return (var_ref _r))\n"
  2236.    "    ))\n"
  2237.    "))\n"
  2238.    ""
  2239. ;
  2240. static const char builtin_normalize[] =
  2241.    "((function normalize\n"
  2242.    "   (signature float\n"
  2243.    "     (parameters\n"
  2244.    "       (declare (in) float arg0))\n"
  2245.    "     ((return (expression float sign (var_ref arg0)))))\n"
  2246.    "\n"
  2247.    "   (signature vec2\n"
  2248.    "     (parameters\n"
  2249.    "       (declare (in) vec2 arg0))\n"
  2250.    "     ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
  2251.    "\n"
  2252.    "   (signature vec3\n"
  2253.    "     (parameters\n"
  2254.    "       (declare (in) vec3 arg0))\n"
  2255.    "     ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
  2256.    "\n"
  2257.    "   (signature vec4\n"
  2258.    "     (parameters\n"
  2259.    "       (declare (in) vec4 arg0))\n"
  2260.    "     ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
  2261.    "))\n"
  2262.    ""
  2263. ;
  2264. static const char builtin_not[] =
  2265.    "((function not\n"
  2266.    "   (signature bvec2\n"
  2267.    "     (parameters\n"
  2268.    "       (declare (in) bvec2 arg0))\n"
  2269.    "     ((return (expression bvec2 ! (var_ref arg0)))))\n"
  2270.    "\n"
  2271.    "   (signature bvec3\n"
  2272.    "     (parameters\n"
  2273.    "       (declare (in) bvec3 arg0))\n"
  2274.    "     ((return (expression bvec3 ! (var_ref arg0)))))\n"
  2275.    "\n"
  2276.    "   (signature bvec4\n"
  2277.    "     (parameters\n"
  2278.    "       (declare (in) bvec4 arg0))\n"
  2279.    "     ((return (expression bvec4 ! (var_ref arg0)))))\n"
  2280.    "))\n"
  2281.    ""
  2282. ;
  2283. static const char builtin_notEqual[] =
  2284.    "((function notEqual\n"
  2285.    "   (signature bvec2\n"
  2286.    "     (parameters\n"
  2287.    "       (declare (in) vec2 arg0)\n"
  2288.    "       (declare (in) vec2 arg1))\n"
  2289.    "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
  2290.    "\n"
  2291.    "   (signature bvec3\n"
  2292.    "     (parameters\n"
  2293.    "       (declare (in) vec3 arg0)\n"
  2294.    "       (declare (in) vec3 arg1))\n"
  2295.    "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
  2296.    "\n"
  2297.    "   (signature bvec4\n"
  2298.    "     (parameters\n"
  2299.    "       (declare (in) vec4 arg0)\n"
  2300.    "       (declare (in) vec4 arg1))\n"
  2301.    "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
  2302.    "\n"
  2303.    "   (signature bvec2\n"
  2304.    "     (parameters\n"
  2305.    "       (declare (in) bvec2 arg0)\n"
  2306.    "       (declare (in) bvec2 arg1))\n"
  2307.    "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
  2308.    "\n"
  2309.    "   (signature bvec3\n"
  2310.    "     (parameters\n"
  2311.    "       (declare (in) bvec3 arg0)\n"
  2312.    "       (declare (in) bvec3 arg1))\n"
  2313.    "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
  2314.    "\n"
  2315.    "   (signature bvec4\n"
  2316.    "     (parameters\n"
  2317.    "       (declare (in) bvec4 arg0)\n"
  2318.    "       (declare (in) bvec4 arg1))\n"
  2319.    "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
  2320.    "\n"
  2321.    "   (signature bvec2\n"
  2322.    "     (parameters\n"
  2323.    "       (declare (in) ivec2 arg0)\n"
  2324.    "       (declare (in) ivec2 arg1))\n"
  2325.    "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
  2326.    "\n"
  2327.    "   (signature bvec3\n"
  2328.    "     (parameters\n"
  2329.    "       (declare (in) ivec3 arg0)\n"
  2330.    "       (declare (in) ivec3 arg1))\n"
  2331.    "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
  2332.    "\n"
  2333.    "   (signature bvec4\n"
  2334.    "     (parameters\n"
  2335.    "       (declare (in) ivec4 arg0)\n"
  2336.    "       (declare (in) ivec4 arg1))\n"
  2337.    "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
  2338.    "\n"
  2339.    "   (signature bvec2\n"
  2340.    "     (parameters\n"
  2341.    "       (declare (in) uvec2 arg0)\n"
  2342.    "       (declare (in) uvec2 arg1))\n"
  2343.    "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
  2344.    "\n"
  2345.    "   (signature bvec3\n"
  2346.    "     (parameters\n"
  2347.    "       (declare (in) uvec3 arg0)\n"
  2348.    "       (declare (in) uvec3 arg1))\n"
  2349.    "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
  2350.    "\n"
  2351.    "   (signature bvec4\n"
  2352.    "     (parameters\n"
  2353.    "       (declare (in) uvec4 arg0)\n"
  2354.    "       (declare (in) uvec4 arg1))\n"
  2355.    "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
  2356.    "))\n"
  2357.    ""
  2358. ;
  2359. static const char builtin_outerProduct[] =
  2360.    "((function outerProduct\n"
  2361.    "   (signature mat2\n"
  2362.    "     (parameters\n"
  2363.    "       (declare (in) vec2 u)\n"
  2364.    "       (declare (in) vec2 v))\n"
  2365.    "     ((declare () mat2 m)\n"
  2366.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
  2367.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
  2368.    "      (return (var_ref m))))\n"
  2369.    "\n"
  2370.    "   (signature mat2x3\n"
  2371.    "     (parameters\n"
  2372.    "       (declare (in) vec3 u)\n"
  2373.    "       (declare (in) vec2 v))\n"
  2374.    "     ((declare () mat2x3 m)\n"
  2375.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
  2376.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
  2377.    "      (return (var_ref m))))\n"
  2378.    "\n"
  2379.    "   (signature mat2x4\n"
  2380.    "     (parameters\n"
  2381.    "       (declare (in) vec4 u)\n"
  2382.    "       (declare (in) vec2 v))\n"
  2383.    "     ((declare () mat2x4 m)\n"
  2384.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
  2385.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
  2386.    "      (return (var_ref m))))\n"
  2387.    "\n"
  2388.    "   (signature mat3x2\n"
  2389.    "     (parameters\n"
  2390.    "       (declare (in) vec2 u)\n"
  2391.    "       (declare (in) vec3 v))\n"
  2392.    "     ((declare () mat3x2 m)\n"
  2393.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
  2394.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
  2395.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
  2396.    "      (return (var_ref m))\n"
  2397.    " ))\n"
  2398.    "\n"
  2399.    "   (signature mat3\n"
  2400.    "     (parameters\n"
  2401.    "       (declare (in) vec3 u)\n"
  2402.    "       (declare (in) vec3 v))\n"
  2403.    "     ((declare () mat3 m)\n"
  2404.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
  2405.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
  2406.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
  2407.    "      (return (var_ref m))))\n"
  2408.    "\n"
  2409.    "   (signature mat3x4\n"
  2410.    "     (parameters\n"
  2411.    "       (declare (in) vec4 u)\n"
  2412.    "       (declare (in) vec3 v))\n"
  2413.    "     ((declare () mat3x4 m)\n"
  2414.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
  2415.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
  2416.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
  2417.    "      (return (var_ref m))))\n"
  2418.    "\n"
  2419.    "   (signature mat4x2\n"
  2420.    "     (parameters\n"
  2421.    "       (declare (in) vec2 u)\n"
  2422.    "       (declare (in) vec4 v))\n"
  2423.    "     ((declare () mat4x2 m)\n"
  2424.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
  2425.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
  2426.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
  2427.    "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
  2428.    "      (return (var_ref m))))\n"
  2429.    "\n"
  2430.    "   (signature mat4x3\n"
  2431.    "     (parameters\n"
  2432.    "       (declare (in) vec3 u)\n"
  2433.    "       (declare (in) vec4 v))\n"
  2434.    "     ((declare () mat4x3 m)\n"
  2435.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
  2436.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
  2437.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
  2438.    "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
  2439.    "      (return (var_ref m))))\n"
  2440.    "\n"
  2441.    "   (signature mat4\n"
  2442.    "     (parameters\n"
  2443.    "       (declare (in) vec4 u)\n"
  2444.    "       (declare (in) vec4 v))\n"
  2445.    "     ((declare () mat4 m)\n"
  2446.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
  2447.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
  2448.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
  2449.    "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
  2450.    "      (return (var_ref m))))\n"
  2451.    "))\n"
  2452.    ""
  2453. ;
  2454. static const char builtin_pow[] =
  2455.    "((function pow\n"
  2456.    "   (signature float\n"
  2457.    "     (parameters\n"
  2458.    "       (declare (in) float arg0)\n"
  2459.    "       (declare (in) float arg1))\n"
  2460.    "     ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
  2461.    "\n"
  2462.    "   (signature vec2\n"
  2463.    "     (parameters\n"
  2464.    "       (declare (in) vec2 arg0)\n"
  2465.    "       (declare (in) vec2 arg1))\n"
  2466.    "     ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
  2467.    "\n"
  2468.    "   (signature vec3\n"
  2469.    "     (parameters\n"
  2470.    "       (declare (in) vec3 arg0)\n"
  2471.    "       (declare (in) vec3 arg1))\n"
  2472.    "     ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
  2473.    "\n"
  2474.    "   (signature vec4\n"
  2475.    "     (parameters\n"
  2476.    "       (declare (in) vec4 arg0)\n"
  2477.    "       (declare (in) vec4 arg1))\n"
  2478.    "     ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
  2479.    "))\n"
  2480.    ""
  2481. ;
  2482. static const char builtin_radians[] =
  2483.    "((function radians\n"
  2484.    "   (signature float\n"
  2485.    "     (parameters\n"
  2486.    "       (declare (in) float arg0))\n"
  2487.    "     ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
  2488.    "\n"
  2489.    "   (signature vec2\n"
  2490.    "     (parameters\n"
  2491.    "       (declare (in) vec2 arg0))\n"
  2492.    "     ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
  2493.    "\n"
  2494.    "   (signature vec3\n"
  2495.    "     (parameters\n"
  2496.    "       (declare (in) vec3 arg0))\n"
  2497.    "     ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
  2498.    "\n"
  2499.    "   (signature vec4\n"
  2500.    "     (parameters\n"
  2501.    "       (declare (in) vec4 arg0))\n"
  2502.    "     ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
  2503.    "))\n"
  2504.    ""
  2505. ;
  2506. static const char builtin_reflect[] =
  2507.    "((function reflect\n"
  2508.    "   (signature float\n"
  2509.    "     (parameters\n"
  2510.    "       (declare (in) float i)\n"
  2511.    "       (declare (in) float n))\n"
  2512.    "     ((return (expression float -\n"
  2513.    "           (var_ref i)\n"
  2514.    "           (expression float *\n"
  2515.    "            (constant float (2.0))\n"
  2516.    "            (expression float *\n"
  2517.    "             (expression float *\n"
  2518.    "              (var_ref n)\n"
  2519.    "              (var_ref i))\n"
  2520.    "             (var_ref n)))))))\n"
  2521.    "\n"
  2522.    "   (signature vec2\n"
  2523.    "     (parameters\n"
  2524.    "       (declare (in) vec2 i)\n"
  2525.    "       (declare (in) vec2 n))\n"
  2526.    "     ((return (expression vec2 -\n"
  2527.    "           (var_ref i)\n"
  2528.    "           (expression vec2 *\n"
  2529.    "            (constant float (2.0))\n"
  2530.    "            (expression vec2 *\n"
  2531.    "             (expression float dot\n"
  2532.    "              (var_ref n)\n"
  2533.    "              (var_ref i))\n"
  2534.    "             (var_ref n)))))))\n"
  2535.    "\n"
  2536.    "   (signature vec3\n"
  2537.    "     (parameters\n"
  2538.    "       (declare (in) vec3 i)\n"
  2539.    "       (declare (in) vec3 n))\n"
  2540.    "     ((return (expression vec3 -\n"
  2541.    "           (var_ref i)\n"
  2542.    "           (expression vec3 *\n"
  2543.    "            (constant float (2.0))\n"
  2544.    "            (expression vec3 *\n"
  2545.    "             (expression float dot\n"
  2546.    "              (var_ref n)\n"
  2547.    "              (var_ref i))\n"
  2548.    "             (var_ref n)))))))\n"
  2549.    "\n"
  2550.    "   (signature vec4\n"
  2551.    "     (parameters\n"
  2552.    "       (declare (in) vec4 i)\n"
  2553.    "       (declare (in) vec4 n))\n"
  2554.    "     ((return (expression vec4 -\n"
  2555.    "           (var_ref i)\n"
  2556.    "           (expression vec4 *\n"
  2557.    "            (constant float (2.0))\n"
  2558.    "            (expression vec4 *\n"
  2559.    "             (expression float dot\n"
  2560.    "              (var_ref n)\n"
  2561.    "              (var_ref i))\n"
  2562.    "             (var_ref n)))))))\n"
  2563.    "\n"
  2564.    "))\n"
  2565.    ""
  2566. ;
  2567. static const char builtin_refract[] =
  2568.    "((function refract\n"
  2569.    "   (signature float\n"
  2570.    "     (parameters\n"
  2571.    "       (declare (in) float i)\n"
  2572.    "       (declare (in) float n)\n"
  2573.    "       (declare (in) float eta))\n"
  2574.    "     ((declare () float k)\n"
  2575.    "      (assign (constant bool (1)) (x) (var_ref k)\n"
  2576.    "              (expression float - (constant float (1.0))\n"
  2577.    "            (expression float * (var_ref eta)\n"
  2578.    "              (expression float * (var_ref eta)\n"
  2579.    "                (expression float - (constant float (1.0))\n"
  2580.    "                  (expression float * \n"
  2581.    "                    (expression float * (var_ref n) (var_ref i))\n"
  2582.    "                    (expression float * (var_ref n) (var_ref i))))))))\n"
  2583.    "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
  2584.    "          ((return (constant float (0.0))))\n"
  2585.    "      ((return (expression float -\n"
  2586.    "                 (expression float * (var_ref eta) (var_ref i))\n"
  2587.    "                 (expression float *\n"
  2588.    "                   (expression float +\n"
  2589.    "                     (expression float * (var_ref eta)\n"
  2590.    "                       (expression float * (var_ref n) (var_ref i)))\n"
  2591.    "                     (expression float sqrt (var_ref k)))\n"
  2592.    "                   (var_ref n))))))))\n"
  2593.    "\n"
  2594.    "   (signature vec2\n"
  2595.    "     (parameters\n"
  2596.    "       (declare (in) vec2 i)\n"
  2597.    "       (declare (in) vec2 n)\n"
  2598.    "       (declare (in) float eta))\n"
  2599.    "     ((declare () float k)\n"
  2600.    "      (assign (constant bool (1)) (x) (var_ref k)\n"
  2601.    "              (expression float - (constant float (1.0))\n"
  2602.    "            (expression float * (var_ref eta)\n"
  2603.    "              (expression float * (var_ref eta)\n"
  2604.    "                (expression float - (constant float (1.0))\n"
  2605.    "                  (expression float * \n"
  2606.    "                    (expression float dot (var_ref n) (var_ref i))\n"
  2607.    "                    (expression float dot (var_ref n) (var_ref i))))))))\n"
  2608.    "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
  2609.    "          ((return (constant vec2 (0.0 0.0))))\n"
  2610.    "      ((return (expression vec2 -\n"
  2611.    "                 (expression vec2 * (var_ref eta) (var_ref i))\n"
  2612.    "                 (expression vec2 *\n"
  2613.    "                   (expression float +\n"
  2614.    "                     (expression float * (var_ref eta)\n"
  2615.    "                       (expression float dot (var_ref n) (var_ref i)))\n"
  2616.    "                     (expression float sqrt (var_ref k)))\n"
  2617.    "                   (var_ref n))))))))\n"
  2618.    "\n"
  2619.    "   (signature vec3\n"
  2620.    "     (parameters\n"
  2621.    "       (declare (in) vec3 i)\n"
  2622.    "       (declare (in) vec3 n)\n"
  2623.    "       (declare (in) float eta))\n"
  2624.    "     ((declare () float k)\n"
  2625.    "      (assign (constant bool (1)) (x) (var_ref k)\n"
  2626.    "              (expression float - (constant float (1.0))\n"
  2627.    "            (expression float * (var_ref eta)\n"
  2628.    "              (expression float * (var_ref eta)\n"
  2629.    "                (expression float - (constant float (1.0))\n"
  2630.    "                  (expression float * \n"
  2631.    "                    (expression float dot (var_ref n) (var_ref i))\n"
  2632.    "                    (expression float dot (var_ref n) (var_ref i))))))))\n"
  2633.    "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
  2634.    "          ((return (constant vec3 (0.0 0.0 0.0))))\n"
  2635.    "      ((return (expression vec3 -\n"
  2636.    "                 (expression vec3 * (var_ref eta) (var_ref i))\n"
  2637.    "                 (expression vec3 *\n"
  2638.    "                   (expression float +\n"
  2639.    "                     (expression float * (var_ref eta)\n"
  2640.    "                       (expression float dot (var_ref n) (var_ref i)))\n"
  2641.    "                     (expression float sqrt (var_ref k)))\n"
  2642.    "                   (var_ref n))))))))\n"
  2643.    "\n"
  2644.    "   (signature vec4\n"
  2645.    "     (parameters\n"
  2646.    "       (declare (in) vec4 i)\n"
  2647.    "       (declare (in) vec4 n)\n"
  2648.    "       (declare (in) float eta))\n"
  2649.    "     ((declare () float k)\n"
  2650.    "      (assign (constant bool (1)) (x) (var_ref k)\n"
  2651.    "              (expression float - (constant float (1.0))\n"
  2652.    "            (expression float * (var_ref eta)\n"
  2653.    "              (expression float * (var_ref eta)\n"
  2654.    "                (expression float - (constant float (1.0))\n"
  2655.    "                  (expression float * \n"
  2656.    "                    (expression float dot (var_ref n) (var_ref i))\n"
  2657.    "                    (expression float dot (var_ref n) (var_ref i))))))))\n"
  2658.    "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
  2659.    "          ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
  2660.    "      ((return (expression vec4 -\n"
  2661.    "                 (expression vec4 * (var_ref eta) (var_ref i))\n"
  2662.    "                 (expression vec4 *\n"
  2663.    "                   (expression float +\n"
  2664.    "                     (expression float * (var_ref eta)\n"
  2665.    "                       (expression float dot (var_ref n) (var_ref i)))\n"
  2666.    "                     (expression float sqrt (var_ref k)))\n"
  2667.    "                   (var_ref n))))))))\n"
  2668.    "\n"
  2669.    "))\n"
  2670.    ""
  2671. ;
  2672. static const char builtin_round[] =
  2673.    "((function round\n"
  2674.    "   (signature float\n"
  2675.    "     (parameters\n"
  2676.    "       (declare (in) float arg0))\n"
  2677.    "     ((return (expression float round_even (var_ref arg0)))))\n"
  2678.    "\n"
  2679.    "   (signature vec2\n"
  2680.    "     (parameters\n"
  2681.    "       (declare (in) vec2 arg0))\n"
  2682.    "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
  2683.    "\n"
  2684.    "   (signature vec3\n"
  2685.    "     (parameters\n"
  2686.    "       (declare (in) vec3 arg0))\n"
  2687.    "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
  2688.    "\n"
  2689.    "   (signature vec4\n"
  2690.    "     (parameters\n"
  2691.    "       (declare (in) vec4 arg0))\n"
  2692.    "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
  2693.    "))\n"
  2694.    ""
  2695. ;
  2696. static const char builtin_roundEven[] =
  2697.    "((function roundEven\n"
  2698.    "   (signature float\n"
  2699.    "     (parameters\n"
  2700.    "       (declare (in) float arg0))\n"
  2701.    "     ((return (expression float round_even (var_ref arg0)))))\n"
  2702.    "\n"
  2703.    "   (signature vec2\n"
  2704.    "     (parameters\n"
  2705.    "       (declare (in) vec2 arg0))\n"
  2706.    "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
  2707.    "\n"
  2708.    "   (signature vec3\n"
  2709.    "     (parameters\n"
  2710.    "       (declare (in) vec3 arg0))\n"
  2711.    "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
  2712.    "\n"
  2713.    "   (signature vec4\n"
  2714.    "     (parameters\n"
  2715.    "       (declare (in) vec4 arg0))\n"
  2716.    "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
  2717.    "))\n"
  2718.    ""
  2719. ;
  2720. static const char builtin_shadow1D[] =
  2721.    "((function shadow1D\n"
  2722.    "   (signature vec4\n"
  2723.    "     (parameters\n"
  2724.    "       (declare (in) sampler1DShadow sampler)\n"
  2725.    "       (declare (in) vec3 P) )\n"
  2726.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
  2727.    "\n"
  2728.    "   (signature vec4\n"
  2729.    "     (parameters\n"
  2730.    "       (declare (in) sampler1DShadow sampler)\n"
  2731.    "       (declare (in) vec3 P) \n"
  2732.    "       (declare (in) float bias) )\n"
  2733.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
  2734.    "\n"
  2735.    "))\n"
  2736.    ""
  2737. ;
  2738. static const char builtin_shadow1DArray[] =
  2739.    "((function shadow1DArray\n"
  2740.    "   (signature vec4\n"
  2741.    "     (parameters\n"
  2742.    "       (declare (in) sampler1DArrayShadow sampler)\n"
  2743.    "       (declare (in) vec3 P) )\n"
  2744.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
  2745.    "\n"
  2746.    "   (signature vec4\n"
  2747.    "     (parameters\n"
  2748.    "       (declare (in) sampler1DArrayShadow sampler)\n"
  2749.    "       (declare (in) vec3 P) \n"
  2750.    "       (declare (in) float bias) )\n"
  2751.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
  2752.    "\n"
  2753.    "))\n"
  2754.    ""
  2755. ;
  2756. static const char builtin_shadow1DArrayLod[] =
  2757.    "((function shadow1DArrayLod\n"
  2758.    "   (signature vec4\n"
  2759.    "     (parameters\n"
  2760.    "       (declare (in) sampler1DArrayShadow sampler)\n"
  2761.    "       (declare (in) vec3 P) \n"
  2762.    "       (declare (in) float lod) )\n"
  2763.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
  2764.    "\n"
  2765.    "))\n"
  2766.    ""
  2767. ;
  2768. static const char builtin_shadow1DLod[] =
  2769.    "((function shadow1DLod\n"
  2770.    "   (signature vec4\n"
  2771.    "     (parameters\n"
  2772.    "       (declare (in) sampler1DShadow sampler)\n"
  2773.    "       (declare (in) vec3 P) \n"
  2774.    "       (declare (in) float lod) )\n"
  2775.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
  2776.    "\n"
  2777.    "))\n"
  2778.    ""
  2779. ;
  2780. static const char builtin_shadow1DProj[] =
  2781.    "((function shadow1DProj\n"
  2782.    "   (signature vec4\n"
  2783.    "     (parameters\n"
  2784.    "       (declare (in) sampler1DShadow sampler)\n"
  2785.    "       (declare (in) vec4 P) )\n"
  2786.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
  2787.    "\n"
  2788.    "   (signature vec4\n"
  2789.    "     (parameters\n"
  2790.    "       (declare (in) sampler1DShadow sampler)\n"
  2791.    "       (declare (in) vec4 P) \n"
  2792.    "       (declare (in) float bias) )\n"
  2793.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
  2794.    "\n"
  2795.    "))\n"
  2796.    ""
  2797. ;
  2798. static const char builtin_shadow1DProjLod[] =
  2799.    "((function shadow1DProjLod\n"
  2800.    "   (signature vec4\n"
  2801.    "     (parameters\n"
  2802.    "       (declare (in) sampler1DShadow sampler)\n"
  2803.    "       (declare (in) vec4 P) \n"
  2804.    "       (declare (in) float lod) )\n"
  2805.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
  2806.    "\n"
  2807.    "))\n"
  2808.    ""
  2809. ;
  2810. static const char builtin_shadow2D[] =
  2811.    "((function shadow2D\n"
  2812.    "   (signature vec4\n"
  2813.    "     (parameters\n"
  2814.    "       (declare (in) sampler2DShadow sampler)\n"
  2815.    "       (declare (in) vec3 P) )\n"
  2816.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
  2817.    "\n"
  2818.    "   (signature vec4\n"
  2819.    "     (parameters\n"
  2820.    "       (declare (in) sampler2DShadow sampler)\n"
  2821.    "       (declare (in) vec3 P) \n"
  2822.    "       (declare (in) float bias) )\n"
  2823.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
  2824.    "\n"
  2825.    "))\n"
  2826.    ""
  2827. ;
  2828. static const char builtin_shadow2DArray[] =
  2829.    "((function shadow2DArray\n"
  2830.    "   (signature vec4\n"
  2831.    "     (parameters\n"
  2832.    "       (declare (in) sampler2DArrayShadow sampler)\n"
  2833.    "       (declare (in) vec4 P) )\n"
  2834.    "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
  2835.    "\n"
  2836.    "))\n"
  2837.    ""
  2838. ;
  2839. static const char builtin_shadow2DLod[] =
  2840.    "((function shadow2DLod\n"
  2841.    "   (signature vec4\n"
  2842.    "     (parameters\n"
  2843.    "       (declare (in) sampler2DShadow sampler)\n"
  2844.    "       (declare (in) vec3 P) \n"
  2845.    "       (declare (in) float lod) )\n"
  2846.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
  2847.    "\n"
  2848.    "))\n"
  2849.    ""
  2850. ;
  2851. static const char builtin_shadow2DProj[] =
  2852.    "((function shadow2DProj\n"
  2853.    "   (signature vec4\n"
  2854.    "     (parameters\n"
  2855.    "       (declare (in) sampler2DShadow sampler)\n"
  2856.    "       (declare (in) vec4 P) )\n"
  2857.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
  2858.    "\n"
  2859.    "   (signature vec4\n"
  2860.    "     (parameters\n"
  2861.    "       (declare (in) sampler2DShadow sampler)\n"
  2862.    "       (declare (in) vec4 P) \n"
  2863.    "       (declare (in) float bias) )\n"
  2864.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
  2865.    "\n"
  2866.    "))\n"
  2867.    ""
  2868. ;
  2869. static const char builtin_shadow2DProjLod[] =
  2870.    "((function shadow2DProjLod\n"
  2871.    "   (signature vec4\n"
  2872.    "     (parameters\n"
  2873.    "       (declare (in) sampler2DShadow sampler)\n"
  2874.    "       (declare (in) vec4 P) \n"
  2875.    "       (declare (in) float lod) )\n"
  2876.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
  2877.    "\n"
  2878.    "))\n"
  2879.    ""
  2880. ;
  2881. static const char builtin_shadow2DRect[] =
  2882.    "((function shadow2DRect\n"
  2883.    "   (signature vec4\n"
  2884.    "     (parameters\n"
  2885.    "       (declare (in) sampler2DRectShadow sampler)\n"
  2886.    "       (declare (in) vec3 P) )\n"
  2887.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
  2888.    "\n"
  2889.    "))\n"
  2890.    ""
  2891. ;
  2892. static const char builtin_shadow2DRectProj[] =
  2893.    "((function shadow2DRectProj\n"
  2894.    "   (signature vec4\n"
  2895.    "     (parameters\n"
  2896.    "       (declare (in) sampler2DRectShadow sampler)\n"
  2897.    "       (declare (in) vec4 P) )\n"
  2898.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
  2899.    "\n"
  2900.    "))\n"
  2901.    ""
  2902. ;
  2903. static const char builtin_sign[] =
  2904.    "((function sign\n"
  2905.    "   (signature float\n"
  2906.    "     (parameters\n"
  2907.    "       (declare (in) float x))\n"
  2908.    "     ((return (expression float sign (var_ref x)))))\n"
  2909.    "\n"
  2910.    "   (signature vec2\n"
  2911.    "     (parameters\n"
  2912.    "       (declare (in) vec2 x))\n"
  2913.    "     ((return (expression vec2 sign (var_ref x)))))\n"
  2914.    "\n"
  2915.    "   (signature vec3\n"
  2916.    "     (parameters\n"
  2917.    "       (declare (in) vec3 x))\n"
  2918.    "     ((return (expression vec3 sign (var_ref x)))))\n"
  2919.    "\n"
  2920.    "   (signature vec4\n"
  2921.    "     (parameters\n"
  2922.    "       (declare (in) vec4 x))\n"
  2923.    "     ((return (expression vec4 sign (var_ref x)))))\n"
  2924.    "\n"
  2925.    "   (signature int\n"
  2926.    "     (parameters\n"
  2927.    "       (declare (in) int x))\n"
  2928.    "     ((return (expression int sign (var_ref x)))))\n"
  2929.    "\n"
  2930.    "   (signature ivec2\n"
  2931.    "     (parameters\n"
  2932.    "       (declare (in) ivec2 x))\n"
  2933.    "     ((return (expression ivec2 sign (var_ref x)))))\n"
  2934.    "\n"
  2935.    "   (signature ivec3\n"
  2936.    "     (parameters\n"
  2937.    "       (declare (in) ivec3 x))\n"
  2938.    "     ((return (expression ivec3 sign (var_ref x)))))\n"
  2939.    "\n"
  2940.    "   (signature ivec4\n"
  2941.    "     (parameters\n"
  2942.    "       (declare (in) ivec4 x))\n"
  2943.    "     ((return (expression ivec4 sign (var_ref x)))))\n"
  2944.    "))\n"
  2945.    "\n"
  2946.    ""
  2947. ;
  2948. static const char builtin_sin[] =
  2949.    "((function sin\n"
  2950.    "   (signature float\n"
  2951.    "     (parameters\n"
  2952.    "       (declare (in) float angle))\n"
  2953.    "     ((return (expression float sin (var_ref angle)))))\n"
  2954.    "\n"
  2955.    "   (signature vec2\n"
  2956.    "     (parameters\n"
  2957.    "       (declare (in) vec2 angle))\n"
  2958.    "     ((return (expression vec2 sin (var_ref angle)))))\n"
  2959.    "\n"
  2960.    "   (signature vec3\n"
  2961.    "     (parameters\n"
  2962.    "       (declare (in) vec3 angle))\n"
  2963.    "     ((return (expression vec3 sin (var_ref angle)))))\n"
  2964.    "\n"
  2965.    "   (signature vec4\n"
  2966.    "     (parameters\n"
  2967.    "       (declare (in) vec4 angle))\n"
  2968.    "     ((return (expression vec4 sin (var_ref angle)))))\n"
  2969.    "))\n"
  2970.    ""
  2971. ;
  2972. static const char builtin_sinh[] =
  2973.    "((function sinh\n"
  2974.    "   (signature float\n"
  2975.    "     (parameters\n"
  2976.    "       (declare (in) float x))\n"
  2977.    "     ((return (expression float * (constant float (0.5))\n"
  2978.    "                (expression float -\n"
  2979.    "              (expression float exp (var_ref x))\n"
  2980.    "              (expression float exp (expression float neg (var_ref x))))))))\n"
  2981.    "   (signature vec2\n"
  2982.    "     (parameters\n"
  2983.    "       (declare (in) vec2 x))\n"
  2984.    "     ((return (expression vec2 * (constant vec2 (0.5))\n"
  2985.    "                (expression vec2 -\n"
  2986.    "              (expression vec2 exp (var_ref x))\n"
  2987.    "              (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
  2988.    "   (signature vec3\n"
  2989.    "     (parameters\n"
  2990.    "       (declare (in) vec3 x))\n"
  2991.    "     ((return (expression vec3 * (constant vec3 (0.5))\n"
  2992.    "                (expression vec3 -\n"
  2993.    "              (expression vec3 exp (var_ref x))\n"
  2994.    "              (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
  2995.    "   (signature vec4\n"
  2996.    "     (parameters\n"
  2997.    "       (declare (in) vec4 x))\n"
  2998.    "     ((return (expression vec4 * (constant vec4 (0.5))\n"
  2999.    "                (expression vec4 -\n"
  3000.    "              (expression vec4 exp (var_ref x))\n"
  3001.    "              (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
  3002.    "))\n"
  3003.    ""
  3004. ;
  3005. static const char builtin_smoothstep[] =
  3006.    "((function smoothstep\n"
  3007.    "   (signature float\n"
  3008.    "     (parameters\n"
  3009.    "       (declare (in) float edge0)\n"
  3010.    "       (declare (in) float edge1)\n"
  3011.    "       (declare (in) float x))\n"
  3012.    "     ((declare () float t)\n"
  3013.    "      (assign (constant bool (1)) (x) (var_ref t)\n"
  3014.    "              (expression float max\n"
  3015.    "                      (expression float min\n"
  3016.    "                                  (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
  3017.    "                                  (constant float (1.0)))\n"
  3018.    "                      (constant float (0.0))))\n"
  3019.    "      (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.0)) (expression float * (constant float (2.0)) (var_ref t))))))))\n"
  3020.    "   (signature vec2\n"
  3021.    "     (parameters\n"
  3022.    "       (declare (in) float edge0)\n"
  3023.    "       (declare (in) float edge1)\n"
  3024.    "       (declare (in) vec2 x))\n"
  3025.    "     ((declare () vec2 t)\n"
  3026.    "      (assign (constant bool (1)) (xy) (var_ref t)\n"
  3027.    "              (expression vec2 max\n"
  3028.    "                      (expression vec2 min\n"
  3029.    "                                  (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
  3030.    "                                  (constant float (1.0)))\n"
  3031.    "                      (constant float (0.0))))\n"
  3032.    "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
  3033.    "\n"
  3034.    "   (signature vec3\n"
  3035.    "     (parameters\n"
  3036.    "       (declare (in) float edge0)\n"
  3037.    "       (declare (in) float edge1)\n"
  3038.    "       (declare (in) vec3 x))\n"
  3039.    "     ((declare () vec3 t)\n"
  3040.    "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
  3041.    "              (expression vec3 max\n"
  3042.    "                      (expression vec3 min\n"
  3043.    "                                  (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
  3044.    "                                  (constant float (1.0)))\n"
  3045.    "                      (constant float (0.0))))\n"
  3046.    "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
  3047.    "\n"
  3048.    "\n"
  3049.    "   (signature vec4\n"
  3050.    "     (parameters\n"
  3051.    "       (declare (in) float edge0)\n"
  3052.    "       (declare (in) float edge1)\n"
  3053.    "       (declare (in) vec4 x))\n"
  3054.    "     ((declare () vec4 t)\n"
  3055.    "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
  3056.    "              (expression vec4 max\n"
  3057.    "                      (expression vec4 min\n"
  3058.    "                                  (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
  3059.    "                                  (constant float (1.0)))\n"
  3060.    "                      (constant float (0.0))))\n"
  3061.    "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
  3062.    "\n"
  3063.    "   (signature vec2\n"
  3064.    "     (parameters\n"
  3065.    "       (declare (in) vec2 edge0)\n"
  3066.    "       (declare (in) vec2 edge1)\n"
  3067.    "       (declare (in) vec2 x))\n"
  3068.    "     ((declare () vec2 t)\n"
  3069.    "      (assign (constant bool (1)) (xy) (var_ref t)\n"
  3070.    "              (expression vec2 max\n"
  3071.    "                          (expression vec2 min\n"
  3072.    "                                      (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
  3073.    "                                      (constant float (1.0)))\n"
  3074.    "                          (constant float (0.0))))\n"
  3075.    "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
  3076.    "\n"
  3077.    "   (signature vec3\n"
  3078.    "     (parameters\n"
  3079.    "       (declare (in) vec3 edge0)\n"
  3080.    "       (declare (in) vec3 edge1)\n"
  3081.    "       (declare (in) vec3 x))\n"
  3082.    "     ((declare () vec3 t)\n"
  3083.    "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
  3084.    "              (expression vec3 max\n"
  3085.    "                          (expression vec3 min\n"
  3086.    "                                      (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
  3087.    "                                      (constant float (1.0)))\n"
  3088.    "                          (constant float (0.0))))\n"
  3089.    "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
  3090.    "\n"
  3091.    "   (signature vec4\n"
  3092.    "     (parameters\n"
  3093.    "       (declare (in) vec4 edge0)\n"
  3094.    "       (declare (in) vec4 edge1)\n"
  3095.    "       (declare (in) vec4 x))\n"
  3096.    "     ((declare () vec4 t)\n"
  3097.    "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
  3098.    "              (expression vec4 max\n"
  3099.    "                          (expression vec4 min\n"
  3100.    "                                      (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
  3101.    "                                      (constant float (1.0)))\n"
  3102.    "                          (constant float (0.0))))\n"
  3103.    "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
  3104.    "))\n"
  3105.    "\n"
  3106.    ""
  3107. ;
  3108. static const char builtin_sqrt[] =
  3109.    "((function sqrt\n"
  3110.    "   (signature float\n"
  3111.    "     (parameters\n"
  3112.    "       (declare (in) float arg0))\n"
  3113.    "     ((return (expression float sqrt (var_ref arg0)))))\n"
  3114.    "\n"
  3115.    "   (signature vec2\n"
  3116.    "     (parameters\n"
  3117.    "       (declare (in) vec2 arg0))\n"
  3118.    "     ((return (expression vec2 sqrt (var_ref arg0)))))\n"
  3119.    "\n"
  3120.    "   (signature vec3\n"
  3121.    "     (parameters\n"
  3122.    "       (declare (in) vec3 arg0))\n"
  3123.    "     ((return (expression vec3 sqrt (var_ref arg0)))))\n"
  3124.    "\n"
  3125.    "   (signature vec4\n"
  3126.    "     (parameters\n"
  3127.    "       (declare (in) vec4 arg0))\n"
  3128.    "     ((return (expression vec4 sqrt (var_ref arg0)))))\n"
  3129.    "))\n"
  3130.    ""
  3131. ;
  3132. static const char builtin_step[] =
  3133.    "((function step\n"
  3134.    "   (signature float\n"
  3135.    "     (parameters\n"
  3136.    "       (declare (in) float edge)\n"
  3137.    "       (declare (in) float x))\n"
  3138.    "     ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
  3139.    "\n"
  3140.    "   (signature vec2\n"
  3141.    "     (parameters\n"
  3142.    "       (declare (in) float edge)\n"
  3143.    "       (declare (in) vec2 x))\n"
  3144.    "     ((declare () vec2 t)\n"
  3145.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
  3146.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
  3147.    "      (return (var_ref t))))\n"
  3148.    "\n"
  3149.    "   (signature vec3\n"
  3150.    "     (parameters\n"
  3151.    "       (declare (in) float edge)\n"
  3152.    "       (declare (in) vec3 x))\n"
  3153.    "     ((declare () vec3 t)\n"
  3154.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
  3155.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
  3156.    "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
  3157.    "      (return (var_ref t))))\n"
  3158.    "\n"
  3159.    "   (signature vec4\n"
  3160.    "     (parameters\n"
  3161.    "       (declare (in) float edge)\n"
  3162.    "       (declare (in) vec4 x))\n"
  3163.    "     ((declare () vec4 t)\n"
  3164.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
  3165.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
  3166.    "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
  3167.    "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
  3168.    "      (return (var_ref t))))\n"
  3169.    "\n"
  3170.    "   (signature vec2\n"
  3171.    "     (parameters\n"
  3172.    "       (declare (in) vec2 edge)\n"
  3173.    "       (declare (in) vec2 x))\n"
  3174.    "     ((declare () vec2 t)\n"
  3175.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
  3176.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
  3177.    "      (return (var_ref t))))\n"
  3178.    "\n"
  3179.    "   (signature vec3\n"
  3180.    "     (parameters\n"
  3181.    "       (declare (in) vec3 edge)\n"
  3182.    "       (declare (in) vec3 x))\n"
  3183.    "     ((declare () vec3 t)\n"
  3184.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
  3185.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
  3186.    "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
  3187.    "      (return (var_ref t))))\n"
  3188.    "\n"
  3189.    "   (signature vec4\n"
  3190.    "     (parameters\n"
  3191.    "       (declare (in) vec4 edge)\n"
  3192.    "       (declare (in) vec4 x))\n"
  3193.    "     ((declare () vec4 t)\n"
  3194.    "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
  3195.    "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
  3196.    "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
  3197.    "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
  3198.    "      (return (var_ref t))))\n"
  3199.    "))\n"
  3200.    "\n"
  3201.    ""
  3202. ;
  3203. static const char builtin_tan[] =
  3204.    "((function tan\n"
  3205.    "   (signature float\n"
  3206.    "     (parameters\n"
  3207.    "       (declare (in) float angle))\n"
  3208.    "     ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
  3209.    "\n"
  3210.    "   (signature vec2\n"
  3211.    "     (parameters\n"
  3212.    "       (declare (in) vec2 angle))\n"
  3213.    "     ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
  3214.    "\n"
  3215.    "   (signature vec3\n"
  3216.    "     (parameters\n"
  3217.    "       (declare (in) vec3 angle))\n"
  3218.    "     ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
  3219.    "\n"
  3220.    "   (signature vec4\n"
  3221.    "     (parameters\n"
  3222.    "       (declare (in) vec4 angle))\n"
  3223.    "     ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
  3224.    "))\n"
  3225.    ""
  3226. ;
  3227. static const char builtin_tanh[] =
  3228.    "((function tanh\n"
  3229.    "   (signature float\n"
  3230.    "     (parameters\n"
  3231.    "       (declare (in) float x))\n"
  3232.    "     ((return (expression float /\n"
  3233.    "                (expression float -\n"
  3234.    "              (expression float exp (var_ref x))\n"
  3235.    "              (expression float exp (expression float neg (var_ref x))))\n"
  3236.    "                (expression float +\n"
  3237.    "              (expression float exp (var_ref x))\n"
  3238.    "              (expression float exp (expression float neg (var_ref x))))))))\n"
  3239.    "   (signature vec2\n"
  3240.    "     (parameters\n"
  3241.    "       (declare (in) vec2 x))\n"
  3242.    "     ((return (expression vec2 /\n"
  3243.    "                (expression vec2 -\n"
  3244.    "              (expression vec2 exp (var_ref x))\n"
  3245.    "              (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
  3246.    "                (expression vec2 +\n"
  3247.    "              (expression vec2 exp (var_ref x))\n"
  3248.    "              (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
  3249.    "   (signature vec3\n"
  3250.    "     (parameters\n"
  3251.    "       (declare (in) vec3 x))\n"
  3252.    "     ((return (expression vec3 /\n"
  3253.    "                (expression vec3 -\n"
  3254.    "              (expression vec3 exp (var_ref x))\n"
  3255.    "              (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
  3256.    "                (expression vec3 +\n"
  3257.    "              (expression vec3 exp (var_ref x))\n"
  3258.    "              (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
  3259.    "   (signature vec4\n"
  3260.    "     (parameters\n"
  3261.    "       (declare (in) vec4 x))\n"
  3262.    "     ((return (expression vec4 /\n"
  3263.    "                (expression vec4 -\n"
  3264.    "              (expression vec4 exp (var_ref x))\n"
  3265.    "              (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
  3266.    "                (expression vec4 +\n"
  3267.    "              (expression vec4 exp (var_ref x))\n"
  3268.    "              (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
  3269.    "))\n"
  3270.    ""
  3271. ;
  3272. static const char builtin_texelFetch[] =
  3273.    "((function texelFetch\n"
  3274.    "   (signature vec4\n"
  3275.    "     (parameters\n"
  3276.    "       (declare (in) sampler1D sampler)\n"
  3277.    "       (declare (in) int P) \n"
  3278.    "       (declare (in) int lod) )\n"
  3279.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3280.    "\n"
  3281.    "   (signature ivec4\n"
  3282.    "     (parameters\n"
  3283.    "       (declare (in) isampler1D sampler)\n"
  3284.    "       (declare (in) int P) \n"
  3285.    "       (declare (in) int lod) )\n"
  3286.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3287.    "\n"
  3288.    "   (signature uvec4\n"
  3289.    "     (parameters\n"
  3290.    "       (declare (in) usampler1D sampler)\n"
  3291.    "       (declare (in) int P) \n"
  3292.    "       (declare (in) int lod) )\n"
  3293.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3294.    "\n"
  3295.    "   (signature vec4\n"
  3296.    "     (parameters\n"
  3297.    "       (declare (in) sampler2D sampler)\n"
  3298.    "       (declare (in) ivec2 P) \n"
  3299.    "       (declare (in) int lod) )\n"
  3300.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3301.    "\n"
  3302.    "   (signature ivec4\n"
  3303.    "     (parameters\n"
  3304.    "       (declare (in) isampler2D sampler)\n"
  3305.    "       (declare (in) ivec2 P) \n"
  3306.    "       (declare (in) int lod) )\n"
  3307.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3308.    "\n"
  3309.    "   (signature uvec4\n"
  3310.    "     (parameters\n"
  3311.    "       (declare (in) usampler2D sampler)\n"
  3312.    "       (declare (in) ivec2 P) \n"
  3313.    "       (declare (in) int lod) )\n"
  3314.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3315.    "\n"
  3316.    "   (signature vec4\n"
  3317.    "     (parameters\n"
  3318.    "       (declare (in) sampler3D sampler)\n"
  3319.    "       (declare (in) ivec3 P) \n"
  3320.    "       (declare (in) int lod) )\n"
  3321.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3322.    "\n"
  3323.    "   (signature ivec4\n"
  3324.    "     (parameters\n"
  3325.    "       (declare (in) isampler3D sampler)\n"
  3326.    "       (declare (in) ivec3 P) \n"
  3327.    "       (declare (in) int lod) )\n"
  3328.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3329.    "\n"
  3330.    "   (signature uvec4\n"
  3331.    "     (parameters\n"
  3332.    "       (declare (in) usampler3D sampler)\n"
  3333.    "       (declare (in) ivec3 P) \n"
  3334.    "       (declare (in) int lod) )\n"
  3335.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3336.    "\n"
  3337.    "   (signature vec4\n"
  3338.    "     (parameters\n"
  3339.    "       (declare (in) sampler1DArray sampler)\n"
  3340.    "       (declare (in) ivec2 P) \n"
  3341.    "       (declare (in) int lod) )\n"
  3342.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3343.    "\n"
  3344.    "   (signature ivec4\n"
  3345.    "     (parameters\n"
  3346.    "       (declare (in) isampler1DArray sampler)\n"
  3347.    "       (declare (in) ivec2 P) \n"
  3348.    "       (declare (in) int lod) )\n"
  3349.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3350.    "\n"
  3351.    "   (signature uvec4\n"
  3352.    "     (parameters\n"
  3353.    "       (declare (in) usampler1DArray sampler)\n"
  3354.    "       (declare (in) ivec2 P) \n"
  3355.    "       (declare (in) int lod) )\n"
  3356.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3357.    "\n"
  3358.    "   (signature vec4\n"
  3359.    "     (parameters\n"
  3360.    "       (declare (in) sampler2DArray sampler)\n"
  3361.    "       (declare (in) ivec3 P) \n"
  3362.    "       (declare (in) int lod) )\n"
  3363.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3364.    "\n"
  3365.    "   (signature ivec4\n"
  3366.    "     (parameters\n"
  3367.    "       (declare (in) isampler2DArray sampler)\n"
  3368.    "       (declare (in) ivec3 P) \n"
  3369.    "       (declare (in) int lod) )\n"
  3370.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3371.    "\n"
  3372.    "   (signature uvec4\n"
  3373.    "     (parameters\n"
  3374.    "       (declare (in) usampler2DArray sampler)\n"
  3375.    "       (declare (in) ivec3 P) \n"
  3376.    "       (declare (in) int lod) )\n"
  3377.    "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
  3378.    "\n"
  3379.    "))\n"
  3380.    ""
  3381. ;
  3382. static const char builtin_texture[] =
  3383.    "((function texture\n"
  3384.    "   (signature vec4\n"
  3385.    "     (parameters\n"
  3386.    "       (declare (in) sampler1D sampler)\n"
  3387.    "       (declare (in) float P) )\n"
  3388.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3389.    "\n"
  3390.    "   (signature ivec4\n"
  3391.    "     (parameters\n"
  3392.    "       (declare (in) isampler1D sampler)\n"
  3393.    "       (declare (in) float P) )\n"
  3394.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3395.    "\n"
  3396.    "   (signature uvec4\n"
  3397.    "     (parameters\n"
  3398.    "       (declare (in) usampler1D sampler)\n"
  3399.    "       (declare (in) float P) )\n"
  3400.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3401.    "\n"
  3402.    "   (signature vec4\n"
  3403.    "     (parameters\n"
  3404.    "       (declare (in) sampler2D sampler)\n"
  3405.    "       (declare (in) vec2 P) )\n"
  3406.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3407.    "\n"
  3408.    "   (signature ivec4\n"
  3409.    "     (parameters\n"
  3410.    "       (declare (in) isampler2D sampler)\n"
  3411.    "       (declare (in) vec2 P) )\n"
  3412.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3413.    "\n"
  3414.    "   (signature uvec4\n"
  3415.    "     (parameters\n"
  3416.    "       (declare (in) usampler2D sampler)\n"
  3417.    "       (declare (in) vec2 P) )\n"
  3418.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3419.    "\n"
  3420.    "   (signature vec4\n"
  3421.    "     (parameters\n"
  3422.    "       (declare (in) sampler3D sampler)\n"
  3423.    "       (declare (in) vec3 P) )\n"
  3424.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3425.    "\n"
  3426.    "   (signature ivec4\n"
  3427.    "     (parameters\n"
  3428.    "       (declare (in) isampler3D sampler)\n"
  3429.    "       (declare (in) vec3 P) )\n"
  3430.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3431.    "\n"
  3432.    "   (signature uvec4\n"
  3433.    "     (parameters\n"
  3434.    "       (declare (in) usampler3D sampler)\n"
  3435.    "       (declare (in) vec3 P) )\n"
  3436.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3437.    "\n"
  3438.    "   (signature vec4\n"
  3439.    "     (parameters\n"
  3440.    "       (declare (in) samplerCube sampler)\n"
  3441.    "       (declare (in) vec3 P) )\n"
  3442.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3443.    "\n"
  3444.    "   (signature ivec4\n"
  3445.    "     (parameters\n"
  3446.    "       (declare (in) isamplerCube sampler)\n"
  3447.    "       (declare (in) vec3 P) )\n"
  3448.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3449.    "\n"
  3450.    "   (signature uvec4\n"
  3451.    "     (parameters\n"
  3452.    "       (declare (in) usamplerCube sampler)\n"
  3453.    "       (declare (in) vec3 P) )\n"
  3454.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3455.    "\n"
  3456.    "   (signature vec4\n"
  3457.    "     (parameters\n"
  3458.    "       (declare (in) sampler1DArray sampler)\n"
  3459.    "       (declare (in) vec2 P) )\n"
  3460.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3461.    "\n"
  3462.    "   (signature ivec4\n"
  3463.    "     (parameters\n"
  3464.    "       (declare (in) isampler1DArray sampler)\n"
  3465.    "       (declare (in) vec2 P) )\n"
  3466.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3467.    "\n"
  3468.    "   (signature uvec4\n"
  3469.    "     (parameters\n"
  3470.    "       (declare (in) usampler1DArray sampler)\n"
  3471.    "       (declare (in) vec2 P) )\n"
  3472.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3473.    "\n"
  3474.    "   (signature vec4\n"
  3475.    "     (parameters\n"
  3476.    "       (declare (in) sampler2DArray sampler)\n"
  3477.    "       (declare (in) vec3 P) )\n"
  3478.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3479.    "\n"
  3480.    "   (signature ivec4\n"
  3481.    "     (parameters\n"
  3482.    "       (declare (in) isampler2DArray sampler)\n"
  3483.    "       (declare (in) vec3 P) )\n"
  3484.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3485.    "\n"
  3486.    "   (signature uvec4\n"
  3487.    "     (parameters\n"
  3488.    "       (declare (in) usampler2DArray sampler)\n"
  3489.    "       (declare (in) vec3 P) )\n"
  3490.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3491.    "\n"
  3492.    "   (signature vec4\n"
  3493.    "     (parameters\n"
  3494.    "       (declare (in) sampler1D sampler)\n"
  3495.    "       (declare (in) float P) \n"
  3496.    "       (declare (in) float bias) )\n"
  3497.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3498.    "\n"
  3499.    "   (signature ivec4\n"
  3500.    "     (parameters\n"
  3501.    "       (declare (in) isampler1D sampler)\n"
  3502.    "       (declare (in) float P) \n"
  3503.    "       (declare (in) float bias) )\n"
  3504.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3505.    "\n"
  3506.    "   (signature uvec4\n"
  3507.    "     (parameters\n"
  3508.    "       (declare (in) usampler1D sampler)\n"
  3509.    "       (declare (in) float P) \n"
  3510.    "       (declare (in) float bias) )\n"
  3511.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3512.    "\n"
  3513.    "   (signature vec4\n"
  3514.    "     (parameters\n"
  3515.    "       (declare (in) sampler2D sampler)\n"
  3516.    "       (declare (in) vec2 P) \n"
  3517.    "       (declare (in) float bias) )\n"
  3518.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3519.    "\n"
  3520.    "   (signature ivec4\n"
  3521.    "     (parameters\n"
  3522.    "       (declare (in) isampler2D sampler)\n"
  3523.    "       (declare (in) vec2 P) \n"
  3524.    "       (declare (in) float bias) )\n"
  3525.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3526.    "\n"
  3527.    "   (signature uvec4\n"
  3528.    "     (parameters\n"
  3529.    "       (declare (in) usampler2D sampler)\n"
  3530.    "       (declare (in) vec2 P) \n"
  3531.    "       (declare (in) float bias) )\n"
  3532.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3533.    "\n"
  3534.    "   (signature vec4\n"
  3535.    "     (parameters\n"
  3536.    "       (declare (in) sampler3D sampler)\n"
  3537.    "       (declare (in) vec3 P) \n"
  3538.    "       (declare (in) float bias) )\n"
  3539.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3540.    "\n"
  3541.    "   (signature ivec4\n"
  3542.    "     (parameters\n"
  3543.    "       (declare (in) isampler3D sampler)\n"
  3544.    "       (declare (in) vec3 P) \n"
  3545.    "       (declare (in) float bias) )\n"
  3546.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3547.    "\n"
  3548.    "   (signature uvec4\n"
  3549.    "     (parameters\n"
  3550.    "       (declare (in) usampler3D sampler)\n"
  3551.    "       (declare (in) vec3 P) \n"
  3552.    "       (declare (in) float bias) )\n"
  3553.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3554.    "\n"
  3555.    "   (signature vec4\n"
  3556.    "     (parameters\n"
  3557.    "       (declare (in) samplerCube sampler)\n"
  3558.    "       (declare (in) vec3 P) \n"
  3559.    "       (declare (in) float bias) )\n"
  3560.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3561.    "\n"
  3562.    "   (signature ivec4\n"
  3563.    "     (parameters\n"
  3564.    "       (declare (in) isamplerCube sampler)\n"
  3565.    "       (declare (in) vec3 P) \n"
  3566.    "       (declare (in) float bias) )\n"
  3567.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3568.    "\n"
  3569.    "   (signature uvec4\n"
  3570.    "     (parameters\n"
  3571.    "       (declare (in) usamplerCube sampler)\n"
  3572.    "       (declare (in) vec3 P) \n"
  3573.    "       (declare (in) float bias) )\n"
  3574.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3575.    "\n"
  3576.    "   (signature vec4\n"
  3577.    "     (parameters\n"
  3578.    "       (declare (in) sampler1DArray sampler)\n"
  3579.    "       (declare (in) vec2 P) \n"
  3580.    "       (declare (in) float bias) )\n"
  3581.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3582.    "\n"
  3583.    "   (signature ivec4\n"
  3584.    "     (parameters\n"
  3585.    "       (declare (in) isampler1DArray sampler)\n"
  3586.    "       (declare (in) vec2 P) \n"
  3587.    "       (declare (in) float bias) )\n"
  3588.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3589.    "\n"
  3590.    "   (signature uvec4\n"
  3591.    "     (parameters\n"
  3592.    "       (declare (in) usampler1DArray sampler)\n"
  3593.    "       (declare (in) vec2 P) \n"
  3594.    "       (declare (in) float bias) )\n"
  3595.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3596.    "\n"
  3597.    "   (signature vec4\n"
  3598.    "     (parameters\n"
  3599.    "       (declare (in) sampler2DArray sampler)\n"
  3600.    "       (declare (in) vec3 P) \n"
  3601.    "       (declare (in) float bias) )\n"
  3602.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3603.    "\n"
  3604.    "   (signature ivec4\n"
  3605.    "     (parameters\n"
  3606.    "       (declare (in) isampler2DArray sampler)\n"
  3607.    "       (declare (in) vec3 P) \n"
  3608.    "       (declare (in) float bias) )\n"
  3609.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3610.    "\n"
  3611.    "   (signature uvec4\n"
  3612.    "     (parameters\n"
  3613.    "       (declare (in) usampler2DArray sampler)\n"
  3614.    "       (declare (in) vec3 P) \n"
  3615.    "       (declare (in) float bias) )\n"
  3616.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3617.    "\n"
  3618.    "))\n"
  3619.    ""
  3620. ;
  3621. static const char builtin_texture1D[] =
  3622.    "((function texture1D\n"
  3623.    "   (signature vec4\n"
  3624.    "     (parameters\n"
  3625.    "       (declare (in) sampler1D sampler)\n"
  3626.    "       (declare (in) float P) )\n"
  3627.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3628.    "\n"
  3629.    "   (signature vec4\n"
  3630.    "     (parameters\n"
  3631.    "       (declare (in) sampler1D sampler)\n"
  3632.    "       (declare (in) float P) \n"
  3633.    "       (declare (in) float bias) )\n"
  3634.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3635.    "\n"
  3636.    "))\n"
  3637.    ""
  3638. ;
  3639. static const char builtin_texture1DArray[] =
  3640.    "((function texture1DArray\n"
  3641.    "   (signature vec4\n"
  3642.    "     (parameters\n"
  3643.    "       (declare (in) sampler1DArray sampler)\n"
  3644.    "       (declare (in) vec2 P) )\n"
  3645.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3646.    "\n"
  3647.    "   (signature vec4\n"
  3648.    "     (parameters\n"
  3649.    "       (declare (in) sampler1DArray sampler)\n"
  3650.    "       (declare (in) vec2 P) \n"
  3651.    "       (declare (in) float bias) )\n"
  3652.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3653.    "\n"
  3654.    "))\n"
  3655.    ""
  3656. ;
  3657. static const char builtin_texture1DArrayLod[] =
  3658.    "((function texture1DArrayLod\n"
  3659.    "   (signature vec4\n"
  3660.    "     (parameters\n"
  3661.    "       (declare (in) sampler1DArray sampler)\n"
  3662.    "       (declare (in) vec2 P) \n"
  3663.    "       (declare (in) float lod) )\n"
  3664.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3665.    "\n"
  3666.    "))\n"
  3667.    ""
  3668. ;
  3669. static const char builtin_texture1DLod[] =
  3670.    "((function texture1DLod\n"
  3671.    "   (signature vec4\n"
  3672.    "     (parameters\n"
  3673.    "       (declare (in) sampler1D sampler)\n"
  3674.    "       (declare (in) float P) \n"
  3675.    "       (declare (in) float lod) )\n"
  3676.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3677.    "\n"
  3678.    "))\n"
  3679.    ""
  3680. ;
  3681. static const char builtin_texture1DProj[] =
  3682.    "((function texture1DProj\n"
  3683.    "   (signature vec4\n"
  3684.    "     (parameters\n"
  3685.    "       (declare (in) sampler1D sampler)\n"
  3686.    "       (declare (in) vec2 P) )\n"
  3687.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
  3688.    "\n"
  3689.    "   (signature vec4\n"
  3690.    "     (parameters\n"
  3691.    "       (declare (in) sampler1D sampler)\n"
  3692.    "       (declare (in) vec4 P) )\n"
  3693.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  3694.    "\n"
  3695.    "   (signature vec4\n"
  3696.    "     (parameters\n"
  3697.    "       (declare (in) sampler1D sampler)\n"
  3698.    "       (declare (in) vec2 P) \n"
  3699.    "       (declare (in) float bias) )\n"
  3700.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
  3701.    "\n"
  3702.    "   (signature vec4\n"
  3703.    "     (parameters\n"
  3704.    "       (declare (in) sampler1D sampler)\n"
  3705.    "       (declare (in) vec4 P) \n"
  3706.    "       (declare (in) float bias) )\n"
  3707.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  3708.    "\n"
  3709.    "))\n"
  3710.    ""
  3711. ;
  3712. static const char builtin_texture1DProjLod[] =
  3713.    "((function texture1DProjLod\n"
  3714.    "   (signature vec4\n"
  3715.    "     (parameters\n"
  3716.    "       (declare (in) sampler1D sampler)\n"
  3717.    "       (declare (in) vec2 P) \n"
  3718.    "       (declare (in) float lod) )\n"
  3719.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
  3720.    "\n"
  3721.    "   (signature vec4\n"
  3722.    "     (parameters\n"
  3723.    "       (declare (in) sampler1D sampler)\n"
  3724.    "       (declare (in) vec4 P) \n"
  3725.    "       (declare (in) float lod) )\n"
  3726.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  3727.    "\n"
  3728.    "))\n"
  3729.    ""
  3730. ;
  3731. static const char builtin_texture2D[] =
  3732.    "((function texture2D\n"
  3733.    "   (signature vec4\n"
  3734.    "     (parameters\n"
  3735.    "       (declare (in) sampler2D sampler)\n"
  3736.    "       (declare (in) vec2 P) )\n"
  3737.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3738.    "\n"
  3739.    "   (signature vec4\n"
  3740.    "     (parameters\n"
  3741.    "       (declare (in) sampler2D sampler)\n"
  3742.    "       (declare (in) vec2 P) \n"
  3743.    "       (declare (in) float bias) )\n"
  3744.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3745.    "\n"
  3746.    "))\n"
  3747.    ""
  3748. ;
  3749. static const char builtin_texture2DArray[] =
  3750.    "((function texture2DArray\n"
  3751.    "   (signature vec4\n"
  3752.    "     (parameters\n"
  3753.    "       (declare (in) sampler2DArray sampler)\n"
  3754.    "       (declare (in) vec3 P) )\n"
  3755.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3756.    "\n"
  3757.    "   (signature vec4\n"
  3758.    "     (parameters\n"
  3759.    "       (declare (in) sampler2DArray sampler)\n"
  3760.    "       (declare (in) vec3 P) \n"
  3761.    "       (declare (in) float bias) )\n"
  3762.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3763.    "\n"
  3764.    "))\n"
  3765.    ""
  3766. ;
  3767. static const char builtin_texture2DArrayLod[] =
  3768.    "((function texture2DArrayLod\n"
  3769.    "   (signature vec4\n"
  3770.    "     (parameters\n"
  3771.    "       (declare (in) sampler2DArray sampler)\n"
  3772.    "       (declare (in) vec3 P) \n"
  3773.    "       (declare (in) float lod) )\n"
  3774.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3775.    "\n"
  3776.    "))\n"
  3777.    ""
  3778. ;
  3779. static const char builtin_texture2DLod[] =
  3780.    "((function texture2DLod\n"
  3781.    "   (signature vec4\n"
  3782.    "     (parameters\n"
  3783.    "       (declare (in) sampler2D sampler)\n"
  3784.    "       (declare (in) vec2 P) \n"
  3785.    "       (declare (in) float lod) )\n"
  3786.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3787.    "\n"
  3788.    "))\n"
  3789.    ""
  3790. ;
  3791. static const char builtin_texture2DProj[] =
  3792.    "((function texture2DProj\n"
  3793.    "   (signature vec4\n"
  3794.    "     (parameters\n"
  3795.    "       (declare (in) sampler2D sampler)\n"
  3796.    "       (declare (in) vec3 P) )\n"
  3797.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
  3798.    "\n"
  3799.    "   (signature vec4\n"
  3800.    "     (parameters\n"
  3801.    "       (declare (in) sampler2D sampler)\n"
  3802.    "       (declare (in) vec4 P) )\n"
  3803.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  3804.    "\n"
  3805.    "   (signature vec4\n"
  3806.    "     (parameters\n"
  3807.    "       (declare (in) sampler2D sampler)\n"
  3808.    "       (declare (in) vec3 P) \n"
  3809.    "       (declare (in) float bias) )\n"
  3810.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
  3811.    "\n"
  3812.    "   (signature vec4\n"
  3813.    "     (parameters\n"
  3814.    "       (declare (in) sampler2D sampler)\n"
  3815.    "       (declare (in) vec4 P) \n"
  3816.    "       (declare (in) float bias) )\n"
  3817.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  3818.    "\n"
  3819.    "))\n"
  3820.    ""
  3821. ;
  3822. static const char builtin_texture2DProjLod[] =
  3823.    "((function texture2DProjLod\n"
  3824.    "   (signature vec4\n"
  3825.    "     (parameters\n"
  3826.    "       (declare (in) sampler2D sampler)\n"
  3827.    "       (declare (in) vec3 P) \n"
  3828.    "       (declare (in) float lod) )\n"
  3829.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
  3830.    "\n"
  3831.    "   (signature vec4\n"
  3832.    "     (parameters\n"
  3833.    "       (declare (in) sampler2D sampler)\n"
  3834.    "       (declare (in) vec4 P) \n"
  3835.    "       (declare (in) float lod) )\n"
  3836.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  3837.    "\n"
  3838.    "))\n"
  3839.    ""
  3840. ;
  3841. static const char builtin_texture2DRect[] =
  3842.    "((function texture2DRect\n"
  3843.    "   (signature vec4\n"
  3844.    "     (parameters\n"
  3845.    "       (declare (in) sampler2DRect sampler)\n"
  3846.    "       (declare (in) vec2 P) )\n"
  3847.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3848.    "\n"
  3849.    "))\n"
  3850.    ""
  3851. ;
  3852. static const char builtin_texture2DRectProj[] =
  3853.    "((function texture2DRectProj\n"
  3854.    "   (signature vec4\n"
  3855.    "     (parameters\n"
  3856.    "       (declare (in) sampler2DRect sampler)\n"
  3857.    "       (declare (in) vec3 P) )\n"
  3858.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
  3859.    "\n"
  3860.    "   (signature vec4\n"
  3861.    "     (parameters\n"
  3862.    "       (declare (in) sampler2DRect sampler)\n"
  3863.    "       (declare (in) vec4 P) )\n"
  3864.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  3865.    "\n"
  3866.    "))\n"
  3867.    ""
  3868. ;
  3869. static const char builtin_texture3D[] =
  3870.    "((function texture3D\n"
  3871.    "   (signature vec4\n"
  3872.    "     (parameters\n"
  3873.    "       (declare (in) sampler3D sampler)\n"
  3874.    "       (declare (in) vec3 P) )\n"
  3875.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3876.    "\n"
  3877.    "   (signature vec4\n"
  3878.    "     (parameters\n"
  3879.    "       (declare (in) sampler3D sampler)\n"
  3880.    "       (declare (in) vec3 P) \n"
  3881.    "       (declare (in) float bias) )\n"
  3882.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3883.    "\n"
  3884.    "))\n"
  3885.    ""
  3886. ;
  3887. static const char builtin_texture3DLod[] =
  3888.    "((function texture3DLod\n"
  3889.    "   (signature vec4\n"
  3890.    "     (parameters\n"
  3891.    "       (declare (in) sampler3D sampler)\n"
  3892.    "       (declare (in) vec3 P) \n"
  3893.    "       (declare (in) float lod) )\n"
  3894.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3895.    "\n"
  3896.    "))\n"
  3897.    ""
  3898. ;
  3899. static const char builtin_texture3DProj[] =
  3900.    "((function texture3DProj\n"
  3901.    "   (signature vec4\n"
  3902.    "     (parameters\n"
  3903.    "       (declare (in) sampler3D sampler)\n"
  3904.    "       (declare (in) vec4 P) )\n"
  3905.    "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  3906.    "\n"
  3907.    "   (signature vec4\n"
  3908.    "     (parameters\n"
  3909.    "       (declare (in) sampler3D sampler)\n"
  3910.    "       (declare (in) vec4 P) \n"
  3911.    "       (declare (in) float bias) )\n"
  3912.    "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  3913.    "\n"
  3914.    "))\n"
  3915.    ""
  3916. ;
  3917. static const char builtin_texture3DProjLod[] =
  3918.    "((function texture3DProjLod\n"
  3919.    "   (signature vec4\n"
  3920.    "     (parameters\n"
  3921.    "       (declare (in) sampler3D sampler)\n"
  3922.    "       (declare (in) vec4 P) \n"
  3923.    "       (declare (in) float lod) )\n"
  3924.    "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  3925.    "\n"
  3926.    "))\n"
  3927.    ""
  3928. ;
  3929. static const char builtin_textureCube[] =
  3930.    "((function textureCube\n"
  3931.    "   (signature vec4\n"
  3932.    "     (parameters\n"
  3933.    "       (declare (in) samplerCube sampler)\n"
  3934.    "       (declare (in) vec3 P) )\n"
  3935.    "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
  3936.    "\n"
  3937.    "   (signature vec4\n"
  3938.    "     (parameters\n"
  3939.    "       (declare (in) samplerCube sampler)\n"
  3940.    "       (declare (in) vec3 P) \n"
  3941.    "       (declare (in) float bias) )\n"
  3942.    "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
  3943.    "\n"
  3944.    "))\n"
  3945.    ""
  3946. ;
  3947. static const char builtin_textureCubeLod[] =
  3948.    "((function textureCubeLod\n"
  3949.    "   (signature vec4\n"
  3950.    "     (parameters\n"
  3951.    "       (declare (in) samplerCube sampler)\n"
  3952.    "       (declare (in) vec3 P) \n"
  3953.    "       (declare (in) float lod) )\n"
  3954.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  3955.    "\n"
  3956.    "))\n"
  3957.    ""
  3958. ;
  3959. static const char builtin_textureGrad[] =
  3960.    "((function textureGrad\n"
  3961.    "   (signature vec4\n"
  3962.    "     (parameters\n"
  3963.    "       (declare (in) sampler1D sampler)\n"
  3964.    "       (declare (in) float P) \n"
  3965.    "       (declare (in) float dPdx) \n"
  3966.    "       (declare (in) float dPdy) )\n"
  3967.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  3968.    "\n"
  3969.    "   (signature ivec4\n"
  3970.    "     (parameters\n"
  3971.    "       (declare (in) isampler1D sampler)\n"
  3972.    "       (declare (in) float P) \n"
  3973.    "       (declare (in) float dPdx) \n"
  3974.    "       (declare (in) float dPdy) )\n"
  3975.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  3976.    "\n"
  3977.    "   (signature uvec4\n"
  3978.    "     (parameters\n"
  3979.    "       (declare (in) usampler1D sampler)\n"
  3980.    "       (declare (in) float P) \n"
  3981.    "       (declare (in) float dPdx) \n"
  3982.    "       (declare (in) float dPdy) )\n"
  3983.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  3984.    "\n"
  3985.    "   (signature vec4\n"
  3986.    "     (parameters\n"
  3987.    "       (declare (in) sampler2D sampler)\n"
  3988.    "       (declare (in) vec2 P) \n"
  3989.    "       (declare (in) vec2 dPdx) \n"
  3990.    "       (declare (in) vec2 dPdy) )\n"
  3991.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  3992.    "\n"
  3993.    "   (signature ivec4\n"
  3994.    "     (parameters\n"
  3995.    "       (declare (in) isampler2D sampler)\n"
  3996.    "       (declare (in) vec2 P) \n"
  3997.    "       (declare (in) vec2 dPdx) \n"
  3998.    "       (declare (in) vec2 dPdy) )\n"
  3999.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4000.    "\n"
  4001.    "   (signature uvec4\n"
  4002.    "     (parameters\n"
  4003.    "       (declare (in) usampler2D sampler)\n"
  4004.    "       (declare (in) vec2 P) \n"
  4005.    "       (declare (in) vec2 dPdx) \n"
  4006.    "       (declare (in) vec2 dPdy) )\n"
  4007.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4008.    "\n"
  4009.    "   (signature vec4\n"
  4010.    "     (parameters\n"
  4011.    "       (declare (in) sampler3D sampler)\n"
  4012.    "       (declare (in) vec3 P) \n"
  4013.    "       (declare (in) vec3 dPdx) \n"
  4014.    "       (declare (in) vec3 dPdy) )\n"
  4015.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4016.    "\n"
  4017.    "   (signature ivec4\n"
  4018.    "     (parameters\n"
  4019.    "       (declare (in) isampler3D sampler)\n"
  4020.    "       (declare (in) vec3 P) \n"
  4021.    "       (declare (in) vec3 dPdx) \n"
  4022.    "       (declare (in) vec3 dPdy) )\n"
  4023.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4024.    "\n"
  4025.    "   (signature uvec4\n"
  4026.    "     (parameters\n"
  4027.    "       (declare (in) usampler3D sampler)\n"
  4028.    "       (declare (in) vec3 P) \n"
  4029.    "       (declare (in) vec3 dPdx) \n"
  4030.    "       (declare (in) vec3 dPdy) )\n"
  4031.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4032.    "\n"
  4033.    "   (signature vec4\n"
  4034.    "     (parameters\n"
  4035.    "       (declare (in) samplerCube sampler)\n"
  4036.    "       (declare (in) vec3 P) \n"
  4037.    "       (declare (in) vec3 dPdx) \n"
  4038.    "       (declare (in) vec3 dPdy) )\n"
  4039.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4040.    "\n"
  4041.    "   (signature ivec4\n"
  4042.    "     (parameters\n"
  4043.    "       (declare (in) isamplerCube sampler)\n"
  4044.    "       (declare (in) vec3 P) \n"
  4045.    "       (declare (in) vec3 dPdx) \n"
  4046.    "       (declare (in) vec3 dPdy) )\n"
  4047.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4048.    "\n"
  4049.    "   (signature uvec4\n"
  4050.    "     (parameters\n"
  4051.    "       (declare (in) usamplerCube sampler)\n"
  4052.    "       (declare (in) vec3 P) \n"
  4053.    "       (declare (in) vec3 dPdx) \n"
  4054.    "       (declare (in) vec3 dPdy) )\n"
  4055.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4056.    "\n"
  4057.    "   (signature vec4\n"
  4058.    "     (parameters\n"
  4059.    "       (declare (in) sampler1DArray sampler)\n"
  4060.    "       (declare (in) vec2 P) \n"
  4061.    "       (declare (in) vec2 dPdx) \n"
  4062.    "       (declare (in) vec2 dPdy) )\n"
  4063.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4064.    "\n"
  4065.    "   (signature ivec4\n"
  4066.    "     (parameters\n"
  4067.    "       (declare (in) isampler1DArray sampler)\n"
  4068.    "       (declare (in) vec2 P) \n"
  4069.    "       (declare (in) vec2 dPdx) \n"
  4070.    "       (declare (in) vec2 dPdy) )\n"
  4071.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4072.    "\n"
  4073.    "   (signature uvec4\n"
  4074.    "     (parameters\n"
  4075.    "       (declare (in) usampler1DArray sampler)\n"
  4076.    "       (declare (in) vec2 P) \n"
  4077.    "       (declare (in) vec2 dPdx) \n"
  4078.    "       (declare (in) vec2 dPdy) )\n"
  4079.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4080.    "\n"
  4081.    "   (signature vec4\n"
  4082.    "     (parameters\n"
  4083.    "       (declare (in) sampler2DArray sampler)\n"
  4084.    "       (declare (in) vec3 P) \n"
  4085.    "       (declare (in) vec3 dPdx) \n"
  4086.    "       (declare (in) vec3 dPdy) )\n"
  4087.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4088.    "\n"
  4089.    "   (signature ivec4\n"
  4090.    "     (parameters\n"
  4091.    "       (declare (in) isampler2DArray sampler)\n"
  4092.    "       (declare (in) vec3 P) \n"
  4093.    "       (declare (in) vec3 dPdx) \n"
  4094.    "       (declare (in) vec3 dPdy) )\n"
  4095.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4096.    "\n"
  4097.    "   (signature uvec4\n"
  4098.    "     (parameters\n"
  4099.    "       (declare (in) usampler2DArray sampler)\n"
  4100.    "       (declare (in) vec3 P) \n"
  4101.    "       (declare (in) vec3 dPdx) \n"
  4102.    "       (declare (in) vec3 dPdy) )\n"
  4103.    "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4104.    "\n"
  4105.    "))\n"
  4106.    ""
  4107. ;
  4108. static const char builtin_textureLod[] =
  4109.    "((function textureLod\n"
  4110.    "   (signature vec4\n"
  4111.    "     (parameters\n"
  4112.    "       (declare (in) sampler1D sampler)\n"
  4113.    "       (declare (in) float P) \n"
  4114.    "       (declare (in) float lod) )\n"
  4115.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4116.    "\n"
  4117.    "   (signature ivec4\n"
  4118.    "     (parameters\n"
  4119.    "       (declare (in) isampler1D sampler)\n"
  4120.    "       (declare (in) float P) \n"
  4121.    "       (declare (in) float lod) )\n"
  4122.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4123.    "\n"
  4124.    "   (signature uvec4\n"
  4125.    "     (parameters\n"
  4126.    "       (declare (in) usampler1D sampler)\n"
  4127.    "       (declare (in) float P) \n"
  4128.    "       (declare (in) float lod) )\n"
  4129.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4130.    "\n"
  4131.    "   (signature vec4\n"
  4132.    "     (parameters\n"
  4133.    "       (declare (in) sampler2D sampler)\n"
  4134.    "       (declare (in) vec2 P) \n"
  4135.    "       (declare (in) float lod) )\n"
  4136.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4137.    "\n"
  4138.    "   (signature ivec4\n"
  4139.    "     (parameters\n"
  4140.    "       (declare (in) isampler2D sampler)\n"
  4141.    "       (declare (in) vec2 P) \n"
  4142.    "       (declare (in) float lod) )\n"
  4143.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4144.    "\n"
  4145.    "   (signature uvec4\n"
  4146.    "     (parameters\n"
  4147.    "       (declare (in) usampler2D sampler)\n"
  4148.    "       (declare (in) vec2 P) \n"
  4149.    "       (declare (in) float lod) )\n"
  4150.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4151.    "\n"
  4152.    "   (signature vec4\n"
  4153.    "     (parameters\n"
  4154.    "       (declare (in) sampler3D sampler)\n"
  4155.    "       (declare (in) vec3 P) \n"
  4156.    "       (declare (in) float lod) )\n"
  4157.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4158.    "\n"
  4159.    "   (signature ivec4\n"
  4160.    "     (parameters\n"
  4161.    "       (declare (in) isampler3D sampler)\n"
  4162.    "       (declare (in) vec3 P) \n"
  4163.    "       (declare (in) float lod) )\n"
  4164.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4165.    "\n"
  4166.    "   (signature uvec4\n"
  4167.    "     (parameters\n"
  4168.    "       (declare (in) usampler3D sampler)\n"
  4169.    "       (declare (in) vec3 P) \n"
  4170.    "       (declare (in) float lod) )\n"
  4171.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4172.    "\n"
  4173.    "   (signature vec4\n"
  4174.    "     (parameters\n"
  4175.    "       (declare (in) samplerCube sampler)\n"
  4176.    "       (declare (in) vec3 P) \n"
  4177.    "       (declare (in) float lod) )\n"
  4178.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4179.    "\n"
  4180.    "   (signature ivec4\n"
  4181.    "     (parameters\n"
  4182.    "       (declare (in) isamplerCube sampler)\n"
  4183.    "       (declare (in) vec3 P) \n"
  4184.    "       (declare (in) float lod) )\n"
  4185.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4186.    "\n"
  4187.    "   (signature uvec4\n"
  4188.    "     (parameters\n"
  4189.    "       (declare (in) usamplerCube sampler)\n"
  4190.    "       (declare (in) vec3 P) \n"
  4191.    "       (declare (in) float lod) )\n"
  4192.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4193.    "\n"
  4194.    "   (signature vec4\n"
  4195.    "     (parameters\n"
  4196.    "       (declare (in) sampler1DArray sampler)\n"
  4197.    "       (declare (in) vec2 P) \n"
  4198.    "       (declare (in) float lod) )\n"
  4199.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4200.    "\n"
  4201.    "   (signature ivec4\n"
  4202.    "     (parameters\n"
  4203.    "       (declare (in) isampler1DArray sampler)\n"
  4204.    "       (declare (in) vec2 P) \n"
  4205.    "       (declare (in) float lod) )\n"
  4206.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4207.    "\n"
  4208.    "   (signature uvec4\n"
  4209.    "     (parameters\n"
  4210.    "       (declare (in) usampler1DArray sampler)\n"
  4211.    "       (declare (in) vec2 P) \n"
  4212.    "       (declare (in) float lod) )\n"
  4213.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4214.    "\n"
  4215.    "   (signature vec4\n"
  4216.    "     (parameters\n"
  4217.    "       (declare (in) sampler2DArray sampler)\n"
  4218.    "       (declare (in) vec3 P) \n"
  4219.    "       (declare (in) float lod) )\n"
  4220.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4221.    "\n"
  4222.    "   (signature ivec4\n"
  4223.    "     (parameters\n"
  4224.    "       (declare (in) isampler2DArray sampler)\n"
  4225.    "       (declare (in) vec3 P) \n"
  4226.    "       (declare (in) float lod) )\n"
  4227.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4228.    "\n"
  4229.    "   (signature uvec4\n"
  4230.    "     (parameters\n"
  4231.    "       (declare (in) usampler2DArray sampler)\n"
  4232.    "       (declare (in) vec3 P) \n"
  4233.    "       (declare (in) float lod) )\n"
  4234.    "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
  4235.    "\n"
  4236.    "))\n"
  4237.    ""
  4238. ;
  4239. static const char builtin_textureProj[] =
  4240.    "((function textureProj\n"
  4241.    "   (signature vec4\n"
  4242.    "     (parameters\n"
  4243.    "       (declare (in) sampler1D sampler)\n"
  4244.    "       (declare (in) vec2 P) )\n"
  4245.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
  4246.    "\n"
  4247.    "   (signature ivec4\n"
  4248.    "     (parameters\n"
  4249.    "       (declare (in) isampler1D sampler)\n"
  4250.    "       (declare (in) vec2 P) )\n"
  4251.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
  4252.    "\n"
  4253.    "   (signature uvec4\n"
  4254.    "     (parameters\n"
  4255.    "       (declare (in) usampler1D sampler)\n"
  4256.    "       (declare (in) vec2 P) )\n"
  4257.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
  4258.    "\n"
  4259.    "   (signature vec4\n"
  4260.    "     (parameters\n"
  4261.    "       (declare (in) sampler1D sampler)\n"
  4262.    "       (declare (in) vec4 P) )\n"
  4263.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4264.    "\n"
  4265.    "   (signature ivec4\n"
  4266.    "     (parameters\n"
  4267.    "       (declare (in) isampler1D sampler)\n"
  4268.    "       (declare (in) vec4 P) )\n"
  4269.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4270.    "\n"
  4271.    "   (signature uvec4\n"
  4272.    "     (parameters\n"
  4273.    "       (declare (in) usampler1D sampler)\n"
  4274.    "       (declare (in) vec4 P) )\n"
  4275.    "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4276.    "\n"
  4277.    "   (signature vec4\n"
  4278.    "     (parameters\n"
  4279.    "       (declare (in) sampler2D sampler)\n"
  4280.    "       (declare (in) vec3 P) )\n"
  4281.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
  4282.    "\n"
  4283.    "   (signature ivec4\n"
  4284.    "     (parameters\n"
  4285.    "       (declare (in) isampler2D sampler)\n"
  4286.    "       (declare (in) vec3 P) )\n"
  4287.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
  4288.    "\n"
  4289.    "   (signature uvec4\n"
  4290.    "     (parameters\n"
  4291.    "       (declare (in) usampler2D sampler)\n"
  4292.    "       (declare (in) vec3 P) )\n"
  4293.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
  4294.    "\n"
  4295.    "   (signature vec4\n"
  4296.    "     (parameters\n"
  4297.    "       (declare (in) sampler2D sampler)\n"
  4298.    "       (declare (in) vec4 P) )\n"
  4299.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4300.    "\n"
  4301.    "   (signature ivec4\n"
  4302.    "     (parameters\n"
  4303.    "       (declare (in) isampler2D sampler)\n"
  4304.    "       (declare (in) vec4 P) )\n"
  4305.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4306.    "\n"
  4307.    "   (signature uvec4\n"
  4308.    "     (parameters\n"
  4309.    "       (declare (in) usampler2D sampler)\n"
  4310.    "       (declare (in) vec4 P) )\n"
  4311.    "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4312.    "\n"
  4313.    "   (signature vec4\n"
  4314.    "     (parameters\n"
  4315.    "       (declare (in) sampler3D sampler)\n"
  4316.    "       (declare (in) vec4 P) )\n"
  4317.    "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4318.    "\n"
  4319.    "   (signature ivec4\n"
  4320.    "     (parameters\n"
  4321.    "       (declare (in) isampler3D sampler)\n"
  4322.    "       (declare (in) vec4 P) )\n"
  4323.    "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4324.    "\n"
  4325.    "   (signature uvec4\n"
  4326.    "     (parameters\n"
  4327.    "       (declare (in) usampler3D sampler)\n"
  4328.    "       (declare (in) vec4 P) )\n"
  4329.    "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
  4330.    "\n"
  4331.    "   (signature vec4\n"
  4332.    "     (parameters\n"
  4333.    "       (declare (in) sampler1D sampler)\n"
  4334.    "       (declare (in) vec2 P) \n"
  4335.    "       (declare (in) float bias) )\n"
  4336.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
  4337.    "\n"
  4338.    "   (signature ivec4\n"
  4339.    "     (parameters\n"
  4340.    "       (declare (in) isampler1D sampler)\n"
  4341.    "       (declare (in) vec2 P) \n"
  4342.    "       (declare (in) float bias) )\n"
  4343.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
  4344.    "\n"
  4345.    "   (signature uvec4\n"
  4346.    "     (parameters\n"
  4347.    "       (declare (in) usampler1D sampler)\n"
  4348.    "       (declare (in) vec2 P) \n"
  4349.    "       (declare (in) float bias) )\n"
  4350.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
  4351.    "\n"
  4352.    "   (signature vec4\n"
  4353.    "     (parameters\n"
  4354.    "       (declare (in) sampler1D sampler)\n"
  4355.    "       (declare (in) vec4 P) \n"
  4356.    "       (declare (in) float bias) )\n"
  4357.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4358.    "\n"
  4359.    "   (signature ivec4\n"
  4360.    "     (parameters\n"
  4361.    "       (declare (in) isampler1D sampler)\n"
  4362.    "       (declare (in) vec4 P) \n"
  4363.    "       (declare (in) float bias) )\n"
  4364.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4365.    "\n"
  4366.    "   (signature uvec4\n"
  4367.    "     (parameters\n"
  4368.    "       (declare (in) usampler1D sampler)\n"
  4369.    "       (declare (in) vec4 P) \n"
  4370.    "       (declare (in) float bias) )\n"
  4371.    "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4372.    "\n"
  4373.    "   (signature vec4\n"
  4374.    "     (parameters\n"
  4375.    "       (declare (in) sampler2D sampler)\n"
  4376.    "       (declare (in) vec3 P) \n"
  4377.    "       (declare (in) float bias) )\n"
  4378.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
  4379.    "\n"
  4380.    "   (signature ivec4\n"
  4381.    "     (parameters\n"
  4382.    "       (declare (in) isampler2D sampler)\n"
  4383.    "       (declare (in) vec3 P) \n"
  4384.    "       (declare (in) float bias) )\n"
  4385.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
  4386.    "\n"
  4387.    "   (signature uvec4\n"
  4388.    "     (parameters\n"
  4389.    "       (declare (in) usampler2D sampler)\n"
  4390.    "       (declare (in) vec3 P) \n"
  4391.    "       (declare (in) float bias) )\n"
  4392.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
  4393.    "\n"
  4394.    "   (signature vec4\n"
  4395.    "     (parameters\n"
  4396.    "       (declare (in) sampler2D sampler)\n"
  4397.    "       (declare (in) vec4 P) \n"
  4398.    "       (declare (in) float bias) )\n"
  4399.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4400.    "\n"
  4401.    "   (signature ivec4\n"
  4402.    "     (parameters\n"
  4403.    "       (declare (in) isampler2D sampler)\n"
  4404.    "       (declare (in) vec4 P) \n"
  4405.    "       (declare (in) float bias) )\n"
  4406.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4407.    "\n"
  4408.    "   (signature uvec4\n"
  4409.    "     (parameters\n"
  4410.    "       (declare (in) usampler2D sampler)\n"
  4411.    "       (declare (in) vec4 P) \n"
  4412.    "       (declare (in) float bias) )\n"
  4413.    "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4414.    "\n"
  4415.    "   (signature vec4\n"
  4416.    "     (parameters\n"
  4417.    "       (declare (in) sampler3D sampler)\n"
  4418.    "       (declare (in) vec4 P) \n"
  4419.    "       (declare (in) float bias) )\n"
  4420.    "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4421.    "\n"
  4422.    "   (signature ivec4\n"
  4423.    "     (parameters\n"
  4424.    "       (declare (in) isampler3D sampler)\n"
  4425.    "       (declare (in) vec4 P) \n"
  4426.    "       (declare (in) float bias) )\n"
  4427.    "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4428.    "\n"
  4429.    "   (signature uvec4\n"
  4430.    "     (parameters\n"
  4431.    "       (declare (in) usampler3D sampler)\n"
  4432.    "       (declare (in) vec4 P) \n"
  4433.    "       (declare (in) float bias) )\n"
  4434.    "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
  4435.    "\n"
  4436.    "))\n"
  4437.    ""
  4438. ;
  4439. static const char builtin_textureProjGrad[] =
  4440.    "((function textureProjGrad\n"
  4441.    "   (signature vec4\n"
  4442.    "     (parameters\n"
  4443.    "       (declare (in) sampler1D sampler)\n"
  4444.    "       (declare (in) vec2 P) \n"
  4445.    "       (declare (in) float dPdx) \n"
  4446.    "       (declare (in) float dPdy) )\n"
  4447.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4448.    "\n"
  4449.    "   (signature ivec4\n"
  4450.    "     (parameters\n"
  4451.    "       (declare (in) isampler1D sampler)\n"
  4452.    "       (declare (in) vec2 P) \n"
  4453.    "       (declare (in) float dPdx) \n"
  4454.    "       (declare (in) float dPdy) )\n"
  4455.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4456.    "\n"
  4457.    "   (signature uvec4\n"
  4458.    "     (parameters\n"
  4459.    "       (declare (in) usampler1D sampler)\n"
  4460.    "       (declare (in) vec2 P) \n"
  4461.    "       (declare (in) float dPdx) \n"
  4462.    "       (declare (in) float dPdy) )\n"
  4463.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4464.    "\n"
  4465.    "   (signature vec4\n"
  4466.    "     (parameters\n"
  4467.    "       (declare (in) sampler1D sampler)\n"
  4468.    "       (declare (in) vec4 P) \n"
  4469.    "       (declare (in) float dPdx) \n"
  4470.    "       (declare (in) float dPdy) )\n"
  4471.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4472.    "\n"
  4473.    "   (signature ivec4\n"
  4474.    "     (parameters\n"
  4475.    "       (declare (in) isampler1D sampler)\n"
  4476.    "       (declare (in) vec4 P) \n"
  4477.    "       (declare (in) float dPdx) \n"
  4478.    "       (declare (in) float dPdy) )\n"
  4479.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4480.    "\n"
  4481.    "   (signature uvec4\n"
  4482.    "     (parameters\n"
  4483.    "       (declare (in) usampler1D sampler)\n"
  4484.    "       (declare (in) vec4 P) \n"
  4485.    "       (declare (in) float dPdx) \n"
  4486.    "       (declare (in) float dPdy) )\n"
  4487.    "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4488.    "\n"
  4489.    "   (signature vec4\n"
  4490.    "     (parameters\n"
  4491.    "       (declare (in) sampler2D sampler)\n"
  4492.    "       (declare (in) vec3 P) \n"
  4493.    "       (declare (in) vec2 dPdx) \n"
  4494.    "       (declare (in) vec2 dPdy) )\n"
  4495.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4496.    "\n"
  4497.    "   (signature ivec4\n"
  4498.    "     (parameters\n"
  4499.    "       (declare (in) isampler2D sampler)\n"
  4500.    "       (declare (in) vec3 P) \n"
  4501.    "       (declare (in) vec2 dPdx) \n"
  4502.    "       (declare (in) vec2 dPdy) )\n"
  4503.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4504.    "\n"
  4505.    "   (signature uvec4\n"
  4506.    "     (parameters\n"
  4507.    "       (declare (in) usampler2D sampler)\n"
  4508.    "       (declare (in) vec3 P) \n"
  4509.    "       (declare (in) vec2 dPdx) \n"
  4510.    "       (declare (in) vec2 dPdy) )\n"
  4511.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4512.    "\n"
  4513.    "   (signature vec4\n"
  4514.    "     (parameters\n"
  4515.    "       (declare (in) sampler2D sampler)\n"
  4516.    "       (declare (in) vec4 P) \n"
  4517.    "       (declare (in) vec2 dPdx) \n"
  4518.    "       (declare (in) vec2 dPdy) )\n"
  4519.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4520.    "\n"
  4521.    "   (signature ivec4\n"
  4522.    "     (parameters\n"
  4523.    "       (declare (in) isampler2D sampler)\n"
  4524.    "       (declare (in) vec4 P) \n"
  4525.    "       (declare (in) vec2 dPdx) \n"
  4526.    "       (declare (in) vec2 dPdy) )\n"
  4527.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4528.    "\n"
  4529.    "   (signature uvec4\n"
  4530.    "     (parameters\n"
  4531.    "       (declare (in) usampler2D sampler)\n"
  4532.    "       (declare (in) vec4 P) \n"
  4533.    "       (declare (in) vec2 dPdx) \n"
  4534.    "       (declare (in) vec2 dPdy) )\n"
  4535.    "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4536.    "\n"
  4537.    "   (signature vec4\n"
  4538.    "     (parameters\n"
  4539.    "       (declare (in) sampler3D sampler)\n"
  4540.    "       (declare (in) vec4 P) \n"
  4541.    "       (declare (in) vec3 dPdx) \n"
  4542.    "       (declare (in) vec3 dPdy) )\n"
  4543.    "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4544.    "\n"
  4545.    "   (signature ivec4\n"
  4546.    "     (parameters\n"
  4547.    "       (declare (in) isampler3D sampler)\n"
  4548.    "       (declare (in) vec4 P) \n"
  4549.    "       (declare (in) vec3 dPdx) \n"
  4550.    "       (declare (in) vec3 dPdy) )\n"
  4551.    "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4552.    "\n"
  4553.    "   (signature uvec4\n"
  4554.    "     (parameters\n"
  4555.    "       (declare (in) usampler3D sampler)\n"
  4556.    "       (declare (in) vec4 P) \n"
  4557.    "       (declare (in) vec3 dPdx) \n"
  4558.    "       (declare (in) vec3 dPdy) )\n"
  4559.    "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
  4560.    "\n"
  4561.    "))\n"
  4562.    ""
  4563. ;
  4564. static const char builtin_textureProjLod[] =
  4565.    "((function textureProjLod\n"
  4566.    "   (signature vec4\n"
  4567.    "     (parameters\n"
  4568.    "       (declare (in) sampler1D sampler)\n"
  4569.    "       (declare (in) vec2 P) \n"
  4570.    "       (declare (in) float lod) )\n"
  4571.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
  4572.    "\n"
  4573.    "   (signature ivec4\n"
  4574.    "     (parameters\n"
  4575.    "       (declare (in) isampler1D sampler)\n"
  4576.    "       (declare (in) vec2 P) \n"
  4577.    "       (declare (in) float lod) )\n"
  4578.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
  4579.    "\n"
  4580.    "   (signature uvec4\n"
  4581.    "     (parameters\n"
  4582.    "       (declare (in) usampler1D sampler)\n"
  4583.    "       (declare (in) vec2 P) \n"
  4584.    "       (declare (in) float lod) )\n"
  4585.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
  4586.    "\n"
  4587.    "   (signature vec4\n"
  4588.    "     (parameters\n"
  4589.    "       (declare (in) sampler1D sampler)\n"
  4590.    "       (declare (in) vec4 P) \n"
  4591.    "       (declare (in) float lod) )\n"
  4592.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4593.    "\n"
  4594.    "   (signature ivec4\n"
  4595.    "     (parameters\n"
  4596.    "       (declare (in) isampler1D sampler)\n"
  4597.    "       (declare (in) vec4 P) \n"
  4598.    "       (declare (in) float lod) )\n"
  4599.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4600.    "\n"
  4601.    "   (signature uvec4\n"
  4602.    "     (parameters\n"
  4603.    "       (declare (in) usampler1D sampler)\n"
  4604.    "       (declare (in) vec4 P) \n"
  4605.    "       (declare (in) float lod) )\n"
  4606.    "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4607.    "\n"
  4608.    "   (signature vec4\n"
  4609.    "     (parameters\n"
  4610.    "       (declare (in) sampler2D sampler)\n"
  4611.    "       (declare (in) vec3 P) \n"
  4612.    "       (declare (in) float lod) )\n"
  4613.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
  4614.    "\n"
  4615.    "   (signature ivec4\n"
  4616.    "     (parameters\n"
  4617.    "       (declare (in) isampler2D sampler)\n"
  4618.    "       (declare (in) vec3 P) \n"
  4619.    "       (declare (in) float lod) )\n"
  4620.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
  4621.    "\n"
  4622.    "   (signature uvec4\n"
  4623.    "     (parameters\n"
  4624.    "       (declare (in) usampler2D sampler)\n"
  4625.    "       (declare (in) vec3 P) \n"
  4626.    "       (declare (in) float lod) )\n"
  4627.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
  4628.    "\n"
  4629.    "   (signature vec4\n"
  4630.    "     (parameters\n"
  4631.    "       (declare (in) sampler2D sampler)\n"
  4632.    "       (declare (in) vec4 P) \n"
  4633.    "       (declare (in) float lod) )\n"
  4634.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4635.    "\n"
  4636.    "   (signature ivec4\n"
  4637.    "     (parameters\n"
  4638.    "       (declare (in) isampler2D sampler)\n"
  4639.    "       (declare (in) vec4 P) \n"
  4640.    "       (declare (in) float lod) )\n"
  4641.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4642.    "\n"
  4643.    "   (signature uvec4\n"
  4644.    "     (parameters\n"
  4645.    "       (declare (in) usampler2D sampler)\n"
  4646.    "       (declare (in) vec4 P) \n"
  4647.    "       (declare (in) float lod) )\n"
  4648.    "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4649.    "\n"
  4650.    "   (signature vec4\n"
  4651.    "     (parameters\n"
  4652.    "       (declare (in) sampler3D sampler)\n"
  4653.    "       (declare (in) vec4 P) \n"
  4654.    "       (declare (in) float lod) )\n"
  4655.    "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4656.    "\n"
  4657.    "   (signature ivec4\n"
  4658.    "     (parameters\n"
  4659.    "       (declare (in) isampler3D sampler)\n"
  4660.    "       (declare (in) vec4 P) \n"
  4661.    "       (declare (in) float lod) )\n"
  4662.    "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4663.    "\n"
  4664.    "   (signature uvec4\n"
  4665.    "     (parameters\n"
  4666.    "       (declare (in) usampler3D sampler)\n"
  4667.    "       (declare (in) vec4 P) \n"
  4668.    "       (declare (in) float lod) )\n"
  4669.    "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
  4670.    "\n"
  4671.    "))\n"
  4672.    ""
  4673. ;
  4674. static const char builtin_transpose[] =
  4675.    "((function transpose\n"
  4676.    "   (signature mat2\n"
  4677.    "     (parameters\n"
  4678.    "       (declare (in) mat2 m))\n"
  4679.    "     ((declare () mat2 t)\n"
  4680.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4681.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4682.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4683.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4684.    "(return (var_ref t))))\n"
  4685.    "\n"
  4686.    "   (signature mat3x2\n"
  4687.    "     (parameters\n"
  4688.    "       (declare (in) mat2x3 m))\n"
  4689.    "     ((declare () mat3x2 t)\n"
  4690.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4691.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4692.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4693.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4694.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4695.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4696.    "(return (var_ref t))))\n"
  4697.    "\n"
  4698.    "   (signature mat4x2\n"
  4699.    "     (parameters\n"
  4700.    "       (declare (in) mat2x4 m))\n"
  4701.    "     ((declare () mat4x2 t)\n"
  4702.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4703.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4704.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4705.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
  4706.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4707.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4708.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4709.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
  4710.    "(return (var_ref t))))\n"
  4711.    "\n"
  4712.    "   (signature mat2x3\n"
  4713.    "     (parameters\n"
  4714.    "       (declare (in) mat3x2 m))\n"
  4715.    "     ((declare () mat2x3 t)\n"
  4716.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4717.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4718.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4719.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4720.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4721.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4722.    "(return (var_ref t))))\n"
  4723.    "\n"
  4724.    "   (signature mat3\n"
  4725.    "     (parameters\n"
  4726.    "       (declare (in) mat3 m))\n"
  4727.    "     ((declare () mat3 t)\n"
  4728.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4729.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4730.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4731.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4732.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4733.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4734.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4735.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4736.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
  4737.    "(return (var_ref t))))\n"
  4738.    "\n"
  4739.    "   (signature mat4x3\n"
  4740.    "     (parameters\n"
  4741.    "       (declare (in) mat3x4 m))\n"
  4742.    "     ((declare () mat4x3 t)\n"
  4743.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4744.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4745.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4746.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
  4747.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4748.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4749.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4750.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
  4751.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4752.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4753.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
  4754.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
  4755.    "(return (var_ref t))))\n"
  4756.    "\n"
  4757.    "   (signature mat2x4\n"
  4758.    "     (parameters\n"
  4759.    "       (declare (in) mat4x2 m))\n"
  4760.    "     ((declare () mat2x4 t)\n"
  4761.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4762.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4763.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4764.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4765.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4766.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4767.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
  4768.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
  4769.    "(return (var_ref t))))\n"
  4770.    "\n"
  4771.    "   (signature mat3x4\n"
  4772.    "     (parameters\n"
  4773.    "       (declare (in) mat4x3 m))\n"
  4774.    "     ((declare () mat3x4 t)\n"
  4775.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4776.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4777.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4778.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4779.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4780.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4781.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4782.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4783.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
  4784.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
  4785.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
  4786.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
  4787.    "(return (var_ref t))))\n"
  4788.    "\n"
  4789.    "   (signature mat4\n"
  4790.    "     (parameters\n"
  4791.    "       (declare (in) mat4 m))\n"
  4792.    "     ((declare () mat4 t)\n"
  4793.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
  4794.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
  4795.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
  4796.    "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
  4797.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
  4798.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
  4799.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
  4800.    "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
  4801.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
  4802.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
  4803.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
  4804.    "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
  4805.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
  4806.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
  4807.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
  4808.    "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
  4809.    "(return (var_ref t))))\n"
  4810.    ")\n"
  4811.    "\n"
  4812.    ")\n"
  4813.    "\n"
  4814.    ""
  4815. ;
  4816. static const char builtin_trunc[] =
  4817.    "((function trunc\n"
  4818.    "   (signature float\n"
  4819.    "     (parameters\n"
  4820.    "       (declare (in) float arg0))\n"
  4821.    "     ((return (expression float trunc (var_ref arg0)))))\n"
  4822.    "\n"
  4823.    "   (signature vec2\n"
  4824.    "     (parameters\n"
  4825.    "       (declare (in) vec2 arg0))\n"
  4826.    "     ((return (expression vec2 trunc (var_ref arg0)))))\n"
  4827.    "\n"
  4828.    "   (signature vec3\n"
  4829.    "     (parameters\n"
  4830.    "       (declare (in) vec3 arg0))\n"
  4831.    "     ((return (expression vec3 trunc (var_ref arg0)))))\n"
  4832.    "\n"
  4833.    "   (signature vec4\n"
  4834.    "     (parameters\n"
  4835.    "       (declare (in) vec4 arg0))\n"
  4836.    "     ((return (expression vec4 trunc (var_ref arg0)))))\n"
  4837.    "))\n"
  4838.    ""
  4839. ;
  4840. static const char prototypes_for_100_frag[] =
  4841.    "(\n"
  4842.    "(function radians\n"
  4843.    "  (signature float\n"
  4844.    "    (parameters\n"
  4845.    "      (declare (in) float degrees))\n"
  4846.    "    ())\n"
  4847.    "  (signature vec2\n"
  4848.    "    (parameters\n"
  4849.    "      (declare (in) vec2 degrees))\n"
  4850.    "    ())\n"
  4851.    "  (signature vec3\n"
  4852.    "    (parameters\n"
  4853.    "      (declare (in) vec3 degrees))\n"
  4854.    "    ())\n"
  4855.    "  (signature vec4\n"
  4856.    "    (parameters\n"
  4857.    "      (declare (in) vec4 degrees))\n"
  4858.    "    ()))\n"
  4859.    "(function degrees\n"
  4860.    "  (signature float\n"
  4861.    "    (parameters\n"
  4862.    "      (declare (in) float radians))\n"
  4863.    "    ())\n"
  4864.    "  (signature vec2\n"
  4865.    "    (parameters\n"
  4866.    "      (declare (in) vec2 radians))\n"
  4867.    "    ())\n"
  4868.    "  (signature vec3\n"
  4869.    "    (parameters\n"
  4870.    "      (declare (in) vec3 radians))\n"
  4871.    "    ())\n"
  4872.    "  (signature vec4\n"
  4873.    "    (parameters\n"
  4874.    "      (declare (in) vec4 radians))\n"
  4875.    "    ()))\n"
  4876.    "(function sin\n"
  4877.    "  (signature float\n"
  4878.    "    (parameters\n"
  4879.    "      (declare (in) float angle))\n"
  4880.    "    ())\n"
  4881.    "  (signature vec2\n"
  4882.    "    (parameters\n"
  4883.    "      (declare (in) vec2 angle))\n"
  4884.    "    ())\n"
  4885.    "  (signature vec3\n"
  4886.    "    (parameters\n"
  4887.    "      (declare (in) vec3 angle))\n"
  4888.    "    ())\n"
  4889.    "  (signature vec4\n"
  4890.    "    (parameters\n"
  4891.    "      (declare (in) vec4 angle))\n"
  4892.    "    ()))\n"
  4893.    "(function cos\n"
  4894.    "  (signature float\n"
  4895.    "    (parameters\n"
  4896.    "      (declare (in) float angle))\n"
  4897.    "    ())\n"
  4898.    "  (signature vec2\n"
  4899.    "    (parameters\n"
  4900.    "      (declare (in) vec2 angle))\n"
  4901.    "    ())\n"
  4902.    "  (signature vec3\n"
  4903.    "    (parameters\n"
  4904.    "      (declare (in) vec3 angle))\n"
  4905.    "    ())\n"
  4906.    "  (signature vec4\n"
  4907.    "    (parameters\n"
  4908.    "      (declare (in) vec4 angle))\n"
  4909.    "    ()))\n"
  4910.    "(function tan\n"
  4911.    "  (signature float\n"
  4912.    "    (parameters\n"
  4913.    "      (declare (in) float angle))\n"
  4914.    "    ())\n"
  4915.    "  (signature vec2\n"
  4916.    "    (parameters\n"
  4917.    "      (declare (in) vec2 angle))\n"
  4918.    "    ())\n"
  4919.    "  (signature vec3\n"
  4920.    "    (parameters\n"
  4921.    "      (declare (in) vec3 angle))\n"
  4922.    "    ())\n"
  4923.    "  (signature vec4\n"
  4924.    "    (parameters\n"
  4925.    "      (declare (in) vec4 angle))\n"
  4926.    "    ()))\n"
  4927.    "(function asin\n"
  4928.    "  (signature float\n"
  4929.    "    (parameters\n"
  4930.    "      (declare (in) float angle))\n"
  4931.    "    ())\n"
  4932.    "  (signature vec2\n"
  4933.    "    (parameters\n"
  4934.    "      (declare (in) vec2 angle))\n"
  4935.    "    ())\n"
  4936.    "  (signature vec3\n"
  4937.    "    (parameters\n"
  4938.    "      (declare (in) vec3 angle))\n"
  4939.    "    ())\n"
  4940.    "  (signature vec4\n"
  4941.    "    (parameters\n"
  4942.    "      (declare (in) vec4 angle))\n"
  4943.    "    ()))\n"
  4944.    "(function acos\n"
  4945.    "  (signature float\n"
  4946.    "    (parameters\n"
  4947.    "      (declare (in) float angle))\n"
  4948.    "    ())\n"
  4949.    "  (signature vec2\n"
  4950.    "    (parameters\n"
  4951.    "      (declare (in) vec2 angle))\n"
  4952.    "    ())\n"
  4953.    "  (signature vec3\n"
  4954.    "    (parameters\n"
  4955.    "      (declare (in) vec3 angle))\n"
  4956.    "    ())\n"
  4957.    "  (signature vec4\n"
  4958.    "    (parameters\n"
  4959.    "      (declare (in) vec4 angle))\n"
  4960.    "    ()))\n"
  4961.    "(function atan\n"
  4962.    "  (signature float\n"
  4963.    "    (parameters\n"
  4964.    "      (declare (in) float y)\n"
  4965.    "      (declare (in) float x))\n"
  4966.    "    ())\n"
  4967.    "  (signature vec2\n"
  4968.    "    (parameters\n"
  4969.    "      (declare (in) vec2 y)\n"
  4970.    "      (declare (in) vec2 x))\n"
  4971.    "    ())\n"
  4972.    "  (signature vec3\n"
  4973.    "    (parameters\n"
  4974.    "      (declare (in) vec3 y)\n"
  4975.    "      (declare (in) vec3 x))\n"
  4976.    "    ())\n"
  4977.    "  (signature vec4\n"
  4978.    "    (parameters\n"
  4979.    "      (declare (in) vec4 y)\n"
  4980.    "      (declare (in) vec4 x))\n"
  4981.    "    ())\n"
  4982.    "  (signature float\n"
  4983.    "    (parameters\n"
  4984.    "      (declare (in) float y_over_x))\n"
  4985.    "    ())\n"
  4986.    "  (signature vec2\n"
  4987.    "    (parameters\n"
  4988.    "      (declare (in) vec2 y_over_x))\n"
  4989.    "    ())\n"
  4990.    "  (signature vec3\n"
  4991.    "    (parameters\n"
  4992.    "      (declare (in) vec3 y_over_x))\n"
  4993.    "    ())\n"
  4994.    "  (signature vec4\n"
  4995.    "    (parameters\n"
  4996.    "      (declare (in) vec4 y_over_x))\n"
  4997.    "    ()))\n"
  4998.    "(function pow\n"
  4999.    "  (signature float\n"
  5000.    "    (parameters\n"
  5001.    "      (declare (in) float x)\n"
  5002.    "      (declare (in) float y))\n"
  5003.    "    ())\n"
  5004.    "  (signature vec2\n"
  5005.    "    (parameters\n"
  5006.    "      (declare (in) vec2 x)\n"
  5007.    "      (declare (in) vec2 y))\n"
  5008.    "    ())\n"
  5009.    "  (signature vec3\n"
  5010.    "    (parameters\n"
  5011.    "      (declare (in) vec3 x)\n"
  5012.    "      (declare (in) vec3 y))\n"
  5013.    "    ())\n"
  5014.    "  (signature vec4\n"
  5015.    "    (parameters\n"
  5016.    "      (declare (in) vec4 x)\n"
  5017.    "      (declare (in) vec4 y))\n"
  5018.    "    ()))\n"
  5019.    "(function exp\n"
  5020.    "  (signature float\n"
  5021.    "    (parameters\n"
  5022.    "      (declare (in) float x))\n"
  5023.    "    ())\n"
  5024.    "  (signature vec2\n"
  5025.    "    (parameters\n"
  5026.    "      (declare (in) vec2 x))\n"
  5027.    "    ())\n"
  5028.    "  (signature vec3\n"
  5029.    "    (parameters\n"
  5030.    "      (declare (in) vec3 x))\n"
  5031.    "    ())\n"
  5032.    "  (signature vec4\n"
  5033.    "    (parameters\n"
  5034.    "      (declare (in) vec4 x))\n"
  5035.    "    ()))\n"
  5036.    "(function log\n"
  5037.    "  (signature float\n"
  5038.    "    (parameters\n"
  5039.    "      (declare (in) float x))\n"
  5040.    "    ())\n"
  5041.    "  (signature vec2\n"
  5042.    "    (parameters\n"
  5043.    "      (declare (in) vec2 x))\n"
  5044.    "    ())\n"
  5045.    "  (signature vec3\n"
  5046.    "    (parameters\n"
  5047.    "      (declare (in) vec3 x))\n"
  5048.    "    ())\n"
  5049.    "  (signature vec4\n"
  5050.    "    (parameters\n"
  5051.    "      (declare (in) vec4 x))\n"
  5052.    "    ()))\n"
  5053.    "(function exp2\n"
  5054.    "  (signature float\n"
  5055.    "    (parameters\n"
  5056.    "      (declare (in) float x))\n"
  5057.    "    ())\n"
  5058.    "  (signature vec2\n"
  5059.    "    (parameters\n"
  5060.    "      (declare (in) vec2 x))\n"
  5061.    "    ())\n"
  5062.    "  (signature vec3\n"
  5063.    "    (parameters\n"
  5064.    "      (declare (in) vec3 x))\n"
  5065.    "    ())\n"
  5066.    "  (signature vec4\n"
  5067.    "    (parameters\n"
  5068.    "      (declare (in) vec4 x))\n"
  5069.    "    ()))\n"
  5070.    "(function log2\n"
  5071.    "  (signature float\n"
  5072.    "    (parameters\n"
  5073.    "      (declare (in) float x))\n"
  5074.    "    ())\n"
  5075.    "  (signature vec2\n"
  5076.    "    (parameters\n"
  5077.    "      (declare (in) vec2 x))\n"
  5078.    "    ())\n"
  5079.    "  (signature vec3\n"
  5080.    "    (parameters\n"
  5081.    "      (declare (in) vec3 x))\n"
  5082.    "    ())\n"
  5083.    "  (signature vec4\n"
  5084.    "    (parameters\n"
  5085.    "      (declare (in) vec4 x))\n"
  5086.    "    ()))\n"
  5087.    "(function sqrt\n"
  5088.    "  (signature float\n"
  5089.    "    (parameters\n"
  5090.    "      (declare (in) float x))\n"
  5091.    "    ())\n"
  5092.    "  (signature vec2\n"
  5093.    "    (parameters\n"
  5094.    "      (declare (in) vec2 x))\n"
  5095.    "    ())\n"
  5096.    "  (signature vec3\n"
  5097.    "    (parameters\n"
  5098.    "      (declare (in) vec3 x))\n"
  5099.    "    ())\n"
  5100.    "  (signature vec4\n"
  5101.    "    (parameters\n"
  5102.    "      (declare (in) vec4 x))\n"
  5103.    "    ()))\n"
  5104.    "(function inversesqrt\n"
  5105.    "  (signature float\n"
  5106.    "    (parameters\n"
  5107.    "      (declare (in) float x))\n"
  5108.    "    ())\n"
  5109.    "  (signature vec2\n"
  5110.    "    (parameters\n"
  5111.    "      (declare (in) vec2 x))\n"
  5112.    "    ())\n"
  5113.    "  (signature vec3\n"
  5114.    "    (parameters\n"
  5115.    "      (declare (in) vec3 x))\n"
  5116.    "    ())\n"
  5117.    "  (signature vec4\n"
  5118.    "    (parameters\n"
  5119.    "      (declare (in) vec4 x))\n"
  5120.    "    ()))\n"
  5121.    "(function abs\n"
  5122.    "  (signature float\n"
  5123.    "    (parameters\n"
  5124.    "      (declare (in) float x))\n"
  5125.    "    ())\n"
  5126.    "  (signature vec2\n"
  5127.    "    (parameters\n"
  5128.    "      (declare (in) vec2 x))\n"
  5129.    "    ())\n"
  5130.    "  (signature vec3\n"
  5131.    "    (parameters\n"
  5132.    "      (declare (in) vec3 x))\n"
  5133.    "    ())\n"
  5134.    "  (signature vec4\n"
  5135.    "    (parameters\n"
  5136.    "      (declare (in) vec4 x))\n"
  5137.    "    ()))\n"
  5138.    "(function sign\n"
  5139.    "  (signature float\n"
  5140.    "    (parameters\n"
  5141.    "      (declare (in) float x))\n"
  5142.    "    ())\n"
  5143.    "  (signature vec2\n"
  5144.    "    (parameters\n"
  5145.    "      (declare (in) vec2 x))\n"
  5146.    "    ())\n"
  5147.    "  (signature vec3\n"
  5148.    "    (parameters\n"
  5149.    "      (declare (in) vec3 x))\n"
  5150.    "    ())\n"
  5151.    "  (signature vec4\n"
  5152.    "    (parameters\n"
  5153.    "      (declare (in) vec4 x))\n"
  5154.    "    ()))\n"
  5155.    "(function floor\n"
  5156.    "  (signature float\n"
  5157.    "    (parameters\n"
  5158.    "      (declare (in) float x))\n"
  5159.    "    ())\n"
  5160.    "  (signature vec2\n"
  5161.    "    (parameters\n"
  5162.    "      (declare (in) vec2 x))\n"
  5163.    "    ())\n"
  5164.    "  (signature vec3\n"
  5165.    "    (parameters\n"
  5166.    "      (declare (in) vec3 x))\n"
  5167.    "    ())\n"
  5168.    "  (signature vec4\n"
  5169.    "    (parameters\n"
  5170.    "      (declare (in) vec4 x))\n"
  5171.    "    ()))\n"
  5172.    "(function ceil\n"
  5173.    "  (signature float\n"
  5174.    "    (parameters\n"
  5175.    "      (declare (in) float x))\n"
  5176.    "    ())\n"
  5177.    "  (signature vec2\n"
  5178.    "    (parameters\n"
  5179.    "      (declare (in) vec2 x))\n"
  5180.    "    ())\n"
  5181.    "  (signature vec3\n"
  5182.    "    (parameters\n"
  5183.    "      (declare (in) vec3 x))\n"
  5184.    "    ())\n"
  5185.    "  (signature vec4\n"
  5186.    "    (parameters\n"
  5187.    "      (declare (in) vec4 x))\n"
  5188.    "    ()))\n"
  5189.    "(function fract\n"
  5190.    "  (signature float\n"
  5191.    "    (parameters\n"
  5192.    "      (declare (in) float x))\n"
  5193.    "    ())\n"
  5194.    "  (signature vec2\n"
  5195.    "    (parameters\n"
  5196.    "      (declare (in) vec2 x))\n"
  5197.    "    ())\n"
  5198.    "  (signature vec3\n"
  5199.    "    (parameters\n"
  5200.    "      (declare (in) vec3 x))\n"
  5201.    "    ())\n"
  5202.    "  (signature vec4\n"
  5203.    "    (parameters\n"
  5204.    "      (declare (in) vec4 x))\n"
  5205.    "    ()))\n"
  5206.    "(function mod\n"
  5207.    "  (signature float\n"
  5208.    "    (parameters\n"
  5209.    "      (declare (in) float x)\n"
  5210.    "      (declare (in) float y))\n"
  5211.    "    ())\n"
  5212.    "  (signature vec2\n"
  5213.    "    (parameters\n"
  5214.    "      (declare (in) vec2 x)\n"
  5215.    "      (declare (in) float y))\n"
  5216.    "    ())\n"
  5217.    "  (signature vec3\n"
  5218.    "    (parameters\n"
  5219.    "      (declare (in) vec3 x)\n"
  5220.    "      (declare (in) float y))\n"
  5221.    "    ())\n"
  5222.    "  (signature vec4\n"
  5223.    "    (parameters\n"
  5224.    "      (declare (in) vec4 x)\n"
  5225.    "      (declare (in) float y))\n"
  5226.    "    ())\n"
  5227.    "  (signature vec2\n"
  5228.    "    (parameters\n"
  5229.    "      (declare (in) vec2 x)\n"
  5230.    "      (declare (in) vec2 y))\n"
  5231.    "    ())\n"
  5232.    "  (signature vec3\n"
  5233.    "    (parameters\n"
  5234.    "      (declare (in) vec3 x)\n"
  5235.    "      (declare (in) vec3 y))\n"
  5236.    "    ())\n"
  5237.    "  (signature vec4\n"
  5238.    "    (parameters\n"
  5239.    "      (declare (in) vec4 x)\n"
  5240.    "      (declare (in) vec4 y))\n"
  5241.    "    ()))\n"
  5242.    "(function min\n"
  5243.    "  (signature float\n"
  5244.    "    (parameters\n"
  5245.    "      (declare (in) float x)\n"
  5246.    "      (declare (in) float y))\n"
  5247.    "    ())\n"
  5248.    "  (signature vec2\n"
  5249.    "    (parameters\n"
  5250.    "      (declare (in) vec2 x)\n"
  5251.    "      (declare (in) vec2 y))\n"
  5252.    "    ())\n"
  5253.    "  (signature vec3\n"
  5254.    "    (parameters\n"
  5255.    "      (declare (in) vec3 x)\n"
  5256.    "      (declare (in) vec3 y))\n"
  5257.    "    ())\n"
  5258.    "  (signature vec4\n"
  5259.    "    (parameters\n"
  5260.    "      (declare (in) vec4 x)\n"
  5261.    "      (declare (in) vec4 y))\n"
  5262.    "    ())\n"
  5263.    "  (signature vec2\n"
  5264.    "    (parameters\n"
  5265.    "      (declare (in) vec2 x)\n"
  5266.    "      (declare (in) float y))\n"
  5267.    "    ())\n"
  5268.    "  (signature vec3\n"
  5269.    "    (parameters\n"
  5270.    "      (declare (in) vec3 x)\n"
  5271.    "      (declare (in) float y))\n"
  5272.    "    ())\n"
  5273.    "  (signature vec4\n"
  5274.    "    (parameters\n"
  5275.    "      (declare (in) vec4 x)\n"
  5276.    "      (declare (in) float y))\n"
  5277.    "    ()))\n"
  5278.    "(function max\n"
  5279.    "  (signature float\n"
  5280.    "    (parameters\n"
  5281.    "      (declare (in) float x)\n"
  5282.    "      (declare (in) float y))\n"
  5283.    "    ())\n"
  5284.    "  (signature vec2\n"
  5285.    "    (parameters\n"
  5286.    "      (declare (in) vec2 x)\n"
  5287.    "      (declare (in) vec2 y))\n"
  5288.    "    ())\n"
  5289.    "  (signature vec3\n"
  5290.    "    (parameters\n"
  5291.    "      (declare (in) vec3 x)\n"
  5292.    "      (declare (in) vec3 y))\n"
  5293.    "    ())\n"
  5294.    "  (signature vec4\n"
  5295.    "    (parameters\n"
  5296.    "      (declare (in) vec4 x)\n"
  5297.    "      (declare (in) vec4 y))\n"
  5298.    "    ())\n"
  5299.    "  (signature vec2\n"
  5300.    "    (parameters\n"
  5301.    "      (declare (in) vec2 x)\n"
  5302.    "      (declare (in) float y))\n"
  5303.    "    ())\n"
  5304.    "  (signature vec3\n"
  5305.    "    (parameters\n"
  5306.    "      (declare (in) vec3 x)\n"
  5307.    "      (declare (in) float y))\n"
  5308.    "    ())\n"
  5309.    "  (signature vec4\n"
  5310.    "    (parameters\n"
  5311.    "      (declare (in) vec4 x)\n"
  5312.    "      (declare (in) float y))\n"
  5313.    "    ()))\n"
  5314.    "(function clamp\n"
  5315.    "  (signature float\n"
  5316.    "    (parameters\n"
  5317.    "      (declare (in) float x)\n"
  5318.    "      (declare (in) float minVal)\n"
  5319.    "      (declare (in) float maxVal))\n"
  5320.    "    ())\n"
  5321.    "  (signature vec2\n"
  5322.    "    (parameters\n"
  5323.    "      (declare (in) vec2 x)\n"
  5324.    "      (declare (in) vec2 minVal)\n"
  5325.    "      (declare (in) vec2 maxVal))\n"
  5326.    "    ())\n"
  5327.    "  (signature vec3\n"
  5328.    "    (parameters\n"
  5329.    "      (declare (in) vec3 x)\n"
  5330.    "      (declare (in) vec3 minVal)\n"
  5331.    "      (declare (in) vec3 maxVal))\n"
  5332.    "    ())\n"
  5333.    "  (signature vec4\n"
  5334.    "    (parameters\n"
  5335.    "      (declare (in) vec4 x)\n"
  5336.    "      (declare (in) vec4 minVal)\n"
  5337.    "      (declare (in) vec4 maxVal))\n"
  5338.    "    ())\n"
  5339.    "  (signature vec2\n"
  5340.    "    (parameters\n"
  5341.    "      (declare (in) vec2 x)\n"
  5342.    "      (declare (in) float minVal)\n"
  5343.    "      (declare (in) float maxVal))\n"
  5344.    "    ())\n"
  5345.    "  (signature vec3\n"
  5346.    "    (parameters\n"
  5347.    "      (declare (in) vec3 x)\n"
  5348.    "      (declare (in) float minVal)\n"
  5349.    "      (declare (in) float maxVal))\n"
  5350.    "    ())\n"
  5351.    "  (signature vec4\n"
  5352.    "    (parameters\n"
  5353.    "      (declare (in) vec4 x)\n"
  5354.    "      (declare (in) float minVal)\n"
  5355.    "      (declare (in) float maxVal))\n"
  5356.    "    ()))\n"
  5357.    "(function mix\n"
  5358.    "  (signature float\n"
  5359.    "    (parameters\n"
  5360.    "      (declare (in) float x)\n"
  5361.    "      (declare (in) float y)\n"
  5362.    "      (declare (in) float a))\n"
  5363.    "    ())\n"
  5364.    "  (signature vec2\n"
  5365.    "    (parameters\n"
  5366.    "      (declare (in) vec2 x)\n"
  5367.    "      (declare (in) vec2 y)\n"
  5368.    "      (declare (in) vec2 a))\n"
  5369.    "    ())\n"
  5370.    "  (signature vec3\n"
  5371.    "    (parameters\n"
  5372.    "      (declare (in) vec3 x)\n"
  5373.    "      (declare (in) vec3 y)\n"
  5374.    "      (declare (in) vec3 a))\n"
  5375.    "    ())\n"
  5376.    "  (signature vec4\n"
  5377.    "    (parameters\n"
  5378.    "      (declare (in) vec4 x)\n"
  5379.    "      (declare (in) vec4 y)\n"
  5380.    "      (declare (in) vec4 a))\n"
  5381.    "    ())\n"
  5382.    "  (signature vec2\n"
  5383.    "    (parameters\n"
  5384.    "      (declare (in) vec2 x)\n"
  5385.    "      (declare (in) vec2 y)\n"
  5386.    "      (declare (in) float a))\n"
  5387.    "    ())\n"
  5388.    "  (signature vec3\n"
  5389.    "    (parameters\n"
  5390.    "      (declare (in) vec3 x)\n"
  5391.    "      (declare (in) vec3 y)\n"
  5392.    "      (declare (in) float a))\n"
  5393.    "    ())\n"
  5394.    "  (signature vec4\n"
  5395.    "    (parameters\n"
  5396.    "      (declare (in) vec4 x)\n"
  5397.    "      (declare (in) vec4 y)\n"
  5398.    "      (declare (in) float a))\n"
  5399.    "    ()))\n"
  5400.    "(function step\n"
  5401.    "  (signature float\n"
  5402.    "    (parameters\n"
  5403.    "      (declare (in) float edge)\n"
  5404.    "      (declare (in) float x))\n"
  5405.    "    ())\n"
  5406.    "  (signature vec2\n"
  5407.    "    (parameters\n"
  5408.    "      (declare (in) vec2 edge)\n"
  5409.    "      (declare (in) vec2 x))\n"
  5410.    "    ())\n"
  5411.    "  (signature vec3\n"
  5412.    "    (parameters\n"
  5413.    "      (declare (in) vec3 edge)\n"
  5414.    "      (declare (in) vec3 x))\n"
  5415.    "    ())\n"
  5416.    "  (signature vec4\n"
  5417.    "    (parameters\n"
  5418.    "      (declare (in) vec4 edge)\n"
  5419.    "      (declare (in) vec4 x))\n"
  5420.    "    ())\n"
  5421.    "  (signature vec2\n"
  5422.    "    (parameters\n"
  5423.    "      (declare (in) float edge)\n"
  5424.    "      (declare (in) vec2 x))\n"
  5425.    "    ())\n"
  5426.    "  (signature vec3\n"
  5427.    "    (parameters\n"
  5428.    "      (declare (in) float edge)\n"
  5429.    "      (declare (in) vec3 x))\n"
  5430.    "    ())\n"
  5431.    "  (signature vec4\n"
  5432.    "    (parameters\n"
  5433.    "      (declare (in) float edge)\n"
  5434.    "      (declare (in) vec4 x))\n"
  5435.    "    ()))\n"
  5436.    "(function smoothstep\n"
  5437.    "  (signature float\n"
  5438.    "    (parameters\n"
  5439.    "      (declare (in) float edge0)\n"
  5440.    "      (declare (in) float edge1)\n"
  5441.    "      (declare (in) float x))\n"
  5442.    "    ())\n"
  5443.    "  (signature vec2\n"
  5444.    "    (parameters\n"
  5445.    "      (declare (in) vec2 edge0)\n"
  5446.    "      (declare (in) vec2 edge1)\n"
  5447.    "      (declare (in) vec2 x))\n"
  5448.    "    ())\n"
  5449.    "  (signature vec3\n"
  5450.    "    (parameters\n"
  5451.    "      (declare (in) vec3 edge0)\n"
  5452.    "      (declare (in) vec3 edge1)\n"
  5453.    "      (declare (in) vec3 x))\n"
  5454.    "    ())\n"
  5455.    "  (signature vec4\n"
  5456.    "    (parameters\n"
  5457.    "      (declare (in) vec4 edge0)\n"
  5458.    "      (declare (in) vec4 edge1)\n"
  5459.    "      (declare (in) vec4 x))\n"
  5460.    "    ())\n"
  5461.    "  (signature vec2\n"
  5462.    "    (parameters\n"
  5463.    "      (declare (in) float edge0)\n"
  5464.    "      (declare (in) float edge1)\n"
  5465.    "      (declare (in) vec2 x))\n"
  5466.    "    ())\n"
  5467.    "  (signature vec3\n"
  5468.    "    (parameters\n"
  5469.    "      (declare (in) float edge0)\n"
  5470.    "      (declare (in) float edge1)\n"
  5471.    "      (declare (in) vec3 x))\n"
  5472.    "    ())\n"
  5473.    "  (signature vec4\n"
  5474.    "    (parameters\n"
  5475.    "      (declare (in) float edge0)\n"
  5476.    "      (declare (in) float edge1)\n"
  5477.    "      (declare (in) vec4 x))\n"
  5478.    "    ()))\n"
  5479.    "(function length\n"
  5480.    "  (signature float\n"
  5481.    "    (parameters\n"
  5482.    "      (declare (in) float x))\n"
  5483.    "    ())\n"
  5484.    "  (signature float\n"
  5485.    "    (parameters\n"
  5486.    "      (declare (in) vec2 x))\n"
  5487.    "    ())\n"
  5488.    "  (signature float\n"
  5489.    "    (parameters\n"
  5490.    "      (declare (in) vec3 x))\n"
  5491.    "    ())\n"
  5492.    "  (signature float\n"
  5493.    "    (parameters\n"
  5494.    "      (declare (in) vec4 x))\n"
  5495.    "    ()))\n"
  5496.    "(function distance\n"
  5497.    "  (signature float\n"
  5498.    "    (parameters\n"
  5499.    "      (declare (in) float p0)\n"
  5500.    "      (declare (in) float p1))\n"
  5501.    "    ())\n"
  5502.    "  (signature float\n"
  5503.    "    (parameters\n"
  5504.    "      (declare (in) vec2 p0)\n"
  5505.    "      (declare (in) vec2 p1))\n"
  5506.    "    ())\n"
  5507.    "  (signature float\n"
  5508.    "    (parameters\n"
  5509.    "      (declare (in) vec3 p0)\n"
  5510.    "      (declare (in) vec3 p1))\n"
  5511.    "    ())\n"
  5512.    "  (signature float\n"
  5513.    "    (parameters\n"
  5514.    "      (declare (in) vec4 p0)\n"
  5515.    "      (declare (in) vec4 p1))\n"
  5516.    "    ()))\n"
  5517.    "(function dot\n"
  5518.    "  (signature float\n"
  5519.    "    (parameters\n"
  5520.    "      (declare (in) float x)\n"
  5521.    "      (declare (in) float y))\n"
  5522.    "    ())\n"
  5523.    "  (signature float\n"
  5524.    "    (parameters\n"
  5525.    "      (declare (in) vec2 x)\n"
  5526.    "      (declare (in) vec2 y))\n"
  5527.    "    ())\n"
  5528.    "  (signature float\n"
  5529.    "    (parameters\n"
  5530.    "      (declare (in) vec3 x)\n"
  5531.    "      (declare (in) vec3 y))\n"
  5532.    "    ())\n"
  5533.    "  (signature float\n"
  5534.    "    (parameters\n"
  5535.    "      (declare (in) vec4 x)\n"
  5536.    "      (declare (in) vec4 y))\n"
  5537.    "    ()))\n"
  5538.    "(function cross\n"
  5539.    "  (signature vec3\n"
  5540.    "    (parameters\n"
  5541.    "      (declare (in) vec3 x)\n"
  5542.    "      (declare (in) vec3 y))\n"
  5543.    "    ()))\n"
  5544.    "(function normalize\n"
  5545.    "  (signature float\n"
  5546.    "    (parameters\n"
  5547.    "      (declare (in) float x))\n"
  5548.    "    ())\n"
  5549.    "  (signature vec2\n"
  5550.    "    (parameters\n"
  5551.    "      (declare (in) vec2 x))\n"
  5552.    "    ())\n"
  5553.    "  (signature vec3\n"
  5554.    "    (parameters\n"
  5555.    "      (declare (in) vec3 x))\n"
  5556.    "    ())\n"
  5557.    "  (signature vec4\n"
  5558.    "    (parameters\n"
  5559.    "      (declare (in) vec4 x))\n"
  5560.    "    ()))\n"
  5561.    "(function faceforward\n"
  5562.    "  (signature float\n"
  5563.    "    (parameters\n"
  5564.    "      (declare (in) float N)\n"
  5565.    "      (declare (in) float I)\n"
  5566.    "      (declare (in) float Nref))\n"
  5567.    "    ())\n"
  5568.    "  (signature vec2\n"
  5569.    "    (parameters\n"
  5570.    "      (declare (in) vec2 N)\n"
  5571.    "      (declare (in) vec2 I)\n"
  5572.    "      (declare (in) vec2 Nref))\n"
  5573.    "    ())\n"
  5574.    "  (signature vec3\n"
  5575.    "    (parameters\n"
  5576.    "      (declare (in) vec3 N)\n"
  5577.    "      (declare (in) vec3 I)\n"
  5578.    "      (declare (in) vec3 Nref))\n"
  5579.    "    ())\n"
  5580.    "  (signature vec4\n"
  5581.    "    (parameters\n"
  5582.    "      (declare (in) vec4 N)\n"
  5583.    "      (declare (in) vec4 I)\n"
  5584.    "      (declare (in) vec4 Nref))\n"
  5585.    "    ()))\n"
  5586.    "(function reflect\n"
  5587.    "  (signature float\n"
  5588.    "    (parameters\n"
  5589.    "      (declare (in) float I)\n"
  5590.    "      (declare (in) float N))\n"
  5591.    "    ())\n"
  5592.    "  (signature vec2\n"
  5593.    "    (parameters\n"
  5594.    "      (declare (in) vec2 I)\n"
  5595.    "      (declare (in) vec2 N))\n"
  5596.    "    ())\n"
  5597.    "  (signature vec3\n"
  5598.    "    (parameters\n"
  5599.    "      (declare (in) vec3 I)\n"
  5600.    "      (declare (in) vec3 N))\n"
  5601.    "    ())\n"
  5602.    "  (signature vec4\n"
  5603.    "    (parameters\n"
  5604.    "      (declare (in) vec4 I)\n"
  5605.    "      (declare (in) vec4 N))\n"
  5606.    "    ()))\n"
  5607.    "(function refract\n"
  5608.    "  (signature float\n"
  5609.    "    (parameters\n"
  5610.    "      (declare (in) float I)\n"
  5611.    "      (declare (in) float N)\n"
  5612.    "      (declare (in) float eta))\n"
  5613.    "    ())\n"
  5614.    "  (signature vec2\n"
  5615.    "    (parameters\n"
  5616.    "      (declare (in) vec2 I)\n"
  5617.    "      (declare (in) vec2 N)\n"
  5618.    "      (declare (in) float eta))\n"
  5619.    "    ())\n"
  5620.    "  (signature vec3\n"
  5621.    "    (parameters\n"
  5622.    "      (declare (in) vec3 I)\n"
  5623.    "      (declare (in) vec3 N)\n"
  5624.    "      (declare (in) float eta))\n"
  5625.    "    ())\n"
  5626.    "  (signature vec4\n"
  5627.    "    (parameters\n"
  5628.    "      (declare (in) vec4 I)\n"
  5629.    "      (declare (in) vec4 N)\n"
  5630.    "      (declare (in) float eta))\n"
  5631.    "    ()))\n"
  5632.    "(function matrixCompMult\n"
  5633.    "  (signature mat2\n"
  5634.    "    (parameters\n"
  5635.    "      (declare (in) mat2 x)\n"
  5636.    "      (declare (in) mat2 y))\n"
  5637.    "    ())\n"
  5638.    "  (signature mat3\n"
  5639.    "    (parameters\n"
  5640.    "      (declare (in) mat3 x)\n"
  5641.    "      (declare (in) mat3 y))\n"
  5642.    "    ())\n"
  5643.    "  (signature mat4\n"
  5644.    "    (parameters\n"
  5645.    "      (declare (in) mat4 x)\n"
  5646.    "      (declare (in) mat4 y))\n"
  5647.    "    ()))\n"
  5648.    "(function lessThan\n"
  5649.    "  (signature bvec2\n"
  5650.    "    (parameters\n"
  5651.    "      (declare (in) vec2 x)\n"
  5652.    "      (declare (in) vec2 y))\n"
  5653.    "    ())\n"
  5654.    "  (signature bvec3\n"
  5655.    "    (parameters\n"
  5656.    "      (declare (in) vec3 x)\n"
  5657.    "      (declare (in) vec3 y))\n"
  5658.    "    ())\n"
  5659.    "  (signature bvec4\n"
  5660.    "    (parameters\n"
  5661.    "      (declare (in) vec4 x)\n"
  5662.    "      (declare (in) vec4 y))\n"
  5663.    "    ())\n"
  5664.    "  (signature bvec2\n"
  5665.    "    (parameters\n"
  5666.    "      (declare (in) ivec2 x)\n"
  5667.    "      (declare (in) ivec2 y))\n"
  5668.    "    ())\n"
  5669.    "  (signature bvec3\n"
  5670.    "    (parameters\n"
  5671.    "      (declare (in) ivec3 x)\n"
  5672.    "      (declare (in) ivec3 y))\n"
  5673.    "    ())\n"
  5674.    "  (signature bvec4\n"
  5675.    "    (parameters\n"
  5676.    "      (declare (in) ivec4 x)\n"
  5677.    "      (declare (in) ivec4 y))\n"
  5678.    "    ()))\n"
  5679.    "(function lessThanEqual\n"
  5680.    "  (signature bvec2\n"
  5681.    "    (parameters\n"
  5682.    "      (declare (in) vec2 x)\n"
  5683.    "      (declare (in) vec2 y))\n"
  5684.    "    ())\n"
  5685.    "  (signature bvec3\n"
  5686.    "    (parameters\n"
  5687.    "      (declare (in) vec3 x)\n"
  5688.    "      (declare (in) vec3 y))\n"
  5689.    "    ())\n"
  5690.    "  (signature bvec4\n"
  5691.    "    (parameters\n"
  5692.    "      (declare (in) vec4 x)\n"
  5693.    "      (declare (in) vec4 y))\n"
  5694.    "    ())\n"
  5695.    "  (signature bvec2\n"
  5696.    "    (parameters\n"
  5697.    "      (declare (in) ivec2 x)\n"
  5698.    "      (declare (in) ivec2 y))\n"
  5699.    "    ())\n"
  5700.    "  (signature bvec3\n"
  5701.    "    (parameters\n"
  5702.    "      (declare (in) ivec3 x)\n"
  5703.    "      (declare (in) ivec3 y))\n"
  5704.    "    ())\n"
  5705.    "  (signature bvec4\n"
  5706.    "    (parameters\n"
  5707.    "      (declare (in) ivec4 x)\n"
  5708.    "      (declare (in) ivec4 y))\n"
  5709.    "    ()))\n"
  5710.    "(function greaterThan\n"
  5711.    "  (signature bvec2\n"
  5712.    "    (parameters\n"
  5713.    "      (declare (in) vec2 x)\n"
  5714.    "      (declare (in) vec2 y))\n"
  5715.    "    ())\n"
  5716.    "  (signature bvec3\n"
  5717.    "    (parameters\n"
  5718.    "      (declare (in) vec3 x)\n"
  5719.    "      (declare (in) vec3 y))\n"
  5720.    "    ())\n"
  5721.    "  (signature bvec4\n"
  5722.    "    (parameters\n"
  5723.    "      (declare (in) vec4 x)\n"
  5724.    "      (declare (in) vec4 y))\n"
  5725.    "    ())\n"
  5726.    "  (signature bvec2\n"
  5727.    "    (parameters\n"
  5728.    "      (declare (in) ivec2 x)\n"
  5729.    "      (declare (in) ivec2 y))\n"
  5730.    "    ())\n"
  5731.    "  (signature bvec3\n"
  5732.    "    (parameters\n"
  5733.    "      (declare (in) ivec3 x)\n"
  5734.    "      (declare (in) ivec3 y))\n"
  5735.    "    ())\n"
  5736.    "  (signature bvec4\n"
  5737.    "    (parameters\n"
  5738.    "      (declare (in) ivec4 x)\n"
  5739.    "      (declare (in) ivec4 y))\n"
  5740.    "    ()))\n"
  5741.    "(function greaterThanEqual\n"
  5742.    "  (signature bvec2\n"
  5743.    "    (parameters\n"
  5744.    "      (declare (in) vec2 x)\n"
  5745.    "      (declare (in) vec2 y))\n"
  5746.    "    ())\n"
  5747.    "  (signature bvec3\n"
  5748.    "    (parameters\n"
  5749.    "      (declare (in) vec3 x)\n"
  5750.    "      (declare (in) vec3 y))\n"
  5751.    "    ())\n"
  5752.    "  (signature bvec4\n"
  5753.    "    (parameters\n"
  5754.    "      (declare (in) vec4 x)\n"
  5755.    "      (declare (in) vec4 y))\n"
  5756.    "    ())\n"
  5757.    "  (signature bvec2\n"
  5758.    "    (parameters\n"
  5759.    "      (declare (in) ivec2 x)\n"
  5760.    "      (declare (in) ivec2 y))\n"
  5761.    "    ())\n"
  5762.    "  (signature bvec3\n"
  5763.    "    (parameters\n"
  5764.    "      (declare (in) ivec3 x)\n"
  5765.    "      (declare (in) ivec3 y))\n"
  5766.    "    ())\n"
  5767.    "  (signature bvec4\n"
  5768.    "    (parameters\n"
  5769.    "      (declare (in) ivec4 x)\n"
  5770.    "      (declare (in) ivec4 y))\n"
  5771.    "    ()))\n"
  5772.    "(function equal\n"
  5773.    "  (signature bvec2\n"
  5774.    "    (parameters\n"
  5775.    "      (declare (in) vec2 x)\n"
  5776.    "      (declare (in) vec2 y))\n"
  5777.    "    ())\n"
  5778.    "  (signature bvec3\n"
  5779.    "    (parameters\n"
  5780.    "      (declare (in) vec3 x)\n"
  5781.    "      (declare (in) vec3 y))\n"
  5782.    "    ())\n"
  5783.    "  (signature bvec4\n"
  5784.    "    (parameters\n"
  5785.    "      (declare (in) vec4 x)\n"
  5786.    "      (declare (in) vec4 y))\n"
  5787.    "    ())\n"
  5788.    "  (signature bvec2\n"
  5789.    "    (parameters\n"
  5790.    "      (declare (in) ivec2 x)\n"
  5791.    "      (declare (in) ivec2 y))\n"
  5792.    "    ())\n"
  5793.    "  (signature bvec3\n"
  5794.    "    (parameters\n"
  5795.    "      (declare (in) ivec3 x)\n"
  5796.    "      (declare (in) ivec3 y))\n"
  5797.    "    ())\n"
  5798.    "  (signature bvec4\n"
  5799.    "    (parameters\n"
  5800.    "      (declare (in) ivec4 x)\n"
  5801.    "      (declare (in) ivec4 y))\n"
  5802.    "    ())\n"
  5803.    "  (signature bvec2\n"
  5804.    "    (parameters\n"
  5805.    "      (declare (in) bvec2 x)\n"
  5806.    "      (declare (in) bvec2 y))\n"
  5807.    "    ())\n"
  5808.    "  (signature bvec3\n"
  5809.    "    (parameters\n"
  5810.    "      (declare (in) bvec3 x)\n"
  5811.    "      (declare (in) bvec3 y))\n"
  5812.    "    ())\n"
  5813.    "  (signature bvec4\n"
  5814.    "    (parameters\n"
  5815.    "      (declare (in) bvec4 x)\n"
  5816.    "      (declare (in) bvec4 y))\n"
  5817.    "    ()))\n"
  5818.    "(function notEqual\n"
  5819.    "  (signature bvec2\n"
  5820.    "    (parameters\n"
  5821.    "      (declare (in) vec2 x)\n"
  5822.    "      (declare (in) vec2 y))\n"
  5823.    "    ())\n"
  5824.    "  (signature bvec3\n"
  5825.    "    (parameters\n"
  5826.    "      (declare (in) vec3 x)\n"
  5827.    "      (declare (in) vec3 y))\n"
  5828.    "    ())\n"
  5829.    "  (signature bvec4\n"
  5830.    "    (parameters\n"
  5831.    "      (declare (in) vec4 x)\n"
  5832.    "      (declare (in) vec4 y))\n"
  5833.    "    ())\n"
  5834.    "  (signature bvec2\n"
  5835.    "    (parameters\n"
  5836.    "      (declare (in) ivec2 x)\n"
  5837.    "      (declare (in) ivec2 y))\n"
  5838.    "    ())\n"
  5839.    "  (signature bvec3\n"
  5840.    "    (parameters\n"
  5841.    "      (declare (in) ivec3 x)\n"
  5842.    "      (declare (in) ivec3 y))\n"
  5843.    "    ())\n"
  5844.    "  (signature bvec4\n"
  5845.    "    (parameters\n"
  5846.    "      (declare (in) ivec4 x)\n"
  5847.    "      (declare (in) ivec4 y))\n"
  5848.    "    ())\n"
  5849.    "  (signature bvec2\n"
  5850.    "    (parameters\n"
  5851.    "      (declare (in) bvec2 x)\n"
  5852.    "      (declare (in) bvec2 y))\n"
  5853.    "    ())\n"
  5854.    "  (signature bvec3\n"
  5855.    "    (parameters\n"
  5856.    "      (declare (in) bvec3 x)\n"
  5857.    "      (declare (in) bvec3 y))\n"
  5858.    "    ())\n"
  5859.    "  (signature bvec4\n"
  5860.    "    (parameters\n"
  5861.    "      (declare (in) bvec4 x)\n"
  5862.    "      (declare (in) bvec4 y))\n"
  5863.    "    ()))\n"
  5864.    "(function any\n"
  5865.    "  (signature bool\n"
  5866.    "    (parameters\n"
  5867.    "      (declare (in) bvec2 x))\n"
  5868.    "    ())\n"
  5869.    "  (signature bool\n"
  5870.    "    (parameters\n"
  5871.    "      (declare (in) bvec3 x))\n"
  5872.    "    ())\n"
  5873.    "  (signature bool\n"
  5874.    "    (parameters\n"
  5875.    "      (declare (in) bvec4 x))\n"
  5876.    "    ()))\n"
  5877.    "(function all\n"
  5878.    "  (signature bool\n"
  5879.    "    (parameters\n"
  5880.    "      (declare (in) bvec2 x))\n"
  5881.    "    ())\n"
  5882.    "  (signature bool\n"
  5883.    "    (parameters\n"
  5884.    "      (declare (in) bvec3 x))\n"
  5885.    "    ())\n"
  5886.    "  (signature bool\n"
  5887.    "    (parameters\n"
  5888.    "      (declare (in) bvec4 x))\n"
  5889.    "    ()))\n"
  5890.    "(function not\n"
  5891.    "  (signature bvec2\n"
  5892.    "    (parameters\n"
  5893.    "      (declare (in) bvec2 x))\n"
  5894.    "    ())\n"
  5895.    "  (signature bvec3\n"
  5896.    "    (parameters\n"
  5897.    "      (declare (in) bvec3 x))\n"
  5898.    "    ())\n"
  5899.    "  (signature bvec4\n"
  5900.    "    (parameters\n"
  5901.    "      (declare (in) bvec4 x))\n"
  5902.    "    ()))\n"
  5903.    "(function texture2D\n"
  5904.    "  (signature vec4\n"
  5905.    "    (parameters\n"
  5906.    "      (declare (in) sampler2D sampler)\n"
  5907.    "      (declare (in) vec2 coord))\n"
  5908.    "    ())\n"
  5909.    "  (signature vec4\n"
  5910.    "    (parameters\n"
  5911.    "      (declare (in) sampler2D sampler)\n"
  5912.    "      (declare (in) vec2 coord)\n"
  5913.    "      (declare (in) float bias))\n"
  5914.    "    ()))\n"
  5915.    "(function texture2DProj\n"
  5916.    "  (signature vec4\n"
  5917.    "    (parameters\n"
  5918.    "      (declare (in) sampler2D sampler)\n"
  5919.    "      (declare (in) vec3 coord))\n"
  5920.    "    ())\n"
  5921.    "  (signature vec4\n"
  5922.    "    (parameters\n"
  5923.    "      (declare (in) sampler2D sampler)\n"
  5924.    "      (declare (in) vec4 coord))\n"
  5925.    "    ())\n"
  5926.    "  (signature vec4\n"
  5927.    "    (parameters\n"
  5928.    "      (declare (in) sampler2D sampler)\n"
  5929.    "      (declare (in) vec3 coord)\n"
  5930.    "      (declare (in) float bias))\n"
  5931.    "    ())\n"
  5932.    "  (signature vec4\n"
  5933.    "    (parameters\n"
  5934.    "      (declare (in) sampler2D sampler)\n"
  5935.    "      (declare (in) vec4 coord)\n"
  5936.    "      (declare (in) float bias))\n"
  5937.    "    ()))\n"
  5938.    "(function textureCube\n"
  5939.    "  (signature vec4\n"
  5940.    "    (parameters\n"
  5941.    "      (declare (in) samplerCube sampler)\n"
  5942.    "      (declare (in) vec3 coord))\n"
  5943.    "    ())\n"
  5944.    "  (signature vec4\n"
  5945.    "    (parameters\n"
  5946.    "      (declare (in) samplerCube sampler)\n"
  5947.    "      (declare (in) vec3 coord)\n"
  5948.    "      (declare (in) float bias))\n"
  5949.    "    ())))"
  5950. ;
  5951. static const char *functions_for_100_frag [] = {
  5952.    builtin_abs,
  5953.    builtin_acos,
  5954.    builtin_all,
  5955.    builtin_any,
  5956.    builtin_asin,
  5957.    builtin_atan,
  5958.    builtin_ceil,
  5959.    builtin_clamp,
  5960.    builtin_cos,
  5961.    builtin_cross,
  5962.    builtin_degrees,
  5963.    builtin_distance,
  5964.    builtin_dot,
  5965.    builtin_equal,
  5966.    builtin_exp,
  5967.    builtin_exp2,
  5968.    builtin_faceforward,
  5969.    builtin_floor,
  5970.    builtin_fract,
  5971.    builtin_greaterThan,
  5972.    builtin_greaterThanEqual,
  5973.    builtin_inversesqrt,
  5974.    builtin_length,
  5975.    builtin_lessThan,
  5976.    builtin_lessThanEqual,
  5977.    builtin_log,
  5978.    builtin_log2,
  5979.    builtin_matrixCompMult,
  5980.    builtin_max,
  5981.    builtin_min,
  5982.    builtin_mix,
  5983.    builtin_mod,
  5984.    builtin_normalize,
  5985.    builtin_not,
  5986.    builtin_notEqual,
  5987.    builtin_pow,
  5988.    builtin_radians,
  5989.    builtin_reflect,
  5990.    builtin_refract,
  5991.    builtin_sign,
  5992.    builtin_sin,
  5993.    builtin_smoothstep,
  5994.    builtin_sqrt,
  5995.    builtin_step,
  5996.    builtin_tan,
  5997.    builtin_texture2D,
  5998.    builtin_texture2DProj,
  5999.    builtin_textureCube,
  6000. };
  6001. static const char prototypes_for_100_vert[] =
  6002.    "(\n"
  6003.    "(function radians\n"
  6004.    "  (signature float\n"
  6005.    "    (parameters\n"
  6006.    "      (declare (in) float degrees))\n"
  6007.    "    ())\n"
  6008.    "  (signature vec2\n"
  6009.    "    (parameters\n"
  6010.    "      (declare (in) vec2 degrees))\n"
  6011.    "    ())\n"
  6012.    "  (signature vec3\n"
  6013.    "    (parameters\n"
  6014.    "      (declare (in) vec3 degrees))\n"
  6015.    "    ())\n"
  6016.    "  (signature vec4\n"
  6017.    "    (parameters\n"
  6018.    "      (declare (in) vec4 degrees))\n"
  6019.    "    ()))\n"
  6020.    "(function degrees\n"
  6021.    "  (signature float\n"
  6022.    "    (parameters\n"
  6023.    "      (declare (in) float radians))\n"
  6024.    "    ())\n"
  6025.    "  (signature vec2\n"
  6026.    "    (parameters\n"
  6027.    "      (declare (in) vec2 radians))\n"
  6028.    "    ())\n"
  6029.    "  (signature vec3\n"
  6030.    "    (parameters\n"
  6031.    "      (declare (in) vec3 radians))\n"
  6032.    "    ())\n"
  6033.    "  (signature vec4\n"
  6034.    "    (parameters\n"
  6035.    "      (declare (in) vec4 radians))\n"
  6036.    "    ()))\n"
  6037.    "(function sin\n"
  6038.    "  (signature float\n"
  6039.    "    (parameters\n"
  6040.    "      (declare (in) float angle))\n"
  6041.    "    ())\n"
  6042.    "  (signature vec2\n"
  6043.    "    (parameters\n"
  6044.    "      (declare (in) vec2 angle))\n"
  6045.    "    ())\n"
  6046.    "  (signature vec3\n"
  6047.    "    (parameters\n"
  6048.    "      (declare (in) vec3 angle))\n"
  6049.    "    ())\n"
  6050.    "  (signature vec4\n"
  6051.    "    (parameters\n"
  6052.    "      (declare (in) vec4 angle))\n"
  6053.    "    ()))\n"
  6054.    "(function cos\n"
  6055.    "  (signature float\n"
  6056.    "    (parameters\n"
  6057.    "      (declare (in) float angle))\n"
  6058.    "    ())\n"
  6059.    "  (signature vec2\n"
  6060.    "    (parameters\n"
  6061.    "      (declare (in) vec2 angle))\n"
  6062.    "    ())\n"
  6063.    "  (signature vec3\n"
  6064.    "    (parameters\n"
  6065.    "      (declare (in) vec3 angle))\n"
  6066.    "    ())\n"
  6067.    "  (signature vec4\n"
  6068.    "    (parameters\n"
  6069.    "      (declare (in) vec4 angle))\n"
  6070.    "    ()))\n"
  6071.    "(function tan\n"
  6072.    "  (signature float\n"
  6073.    "    (parameters\n"
  6074.    "      (declare (in) float angle))\n"
  6075.    "    ())\n"
  6076.    "  (signature vec2\n"
  6077.    "    (parameters\n"
  6078.    "      (declare (in) vec2 angle))\n"
  6079.    "    ())\n"
  6080.    "  (signature vec3\n"
  6081.    "    (parameters\n"
  6082.    "      (declare (in) vec3 angle))\n"
  6083.    "    ())\n"
  6084.    "  (signature vec4\n"
  6085.    "    (parameters\n"
  6086.    "      (declare (in) vec4 angle))\n"
  6087.    "    ()))\n"
  6088.    "(function asin\n"
  6089.    "  (signature float\n"
  6090.    "    (parameters\n"
  6091.    "      (declare (in) float angle))\n"
  6092.    "    ())\n"
  6093.    "  (signature vec2\n"
  6094.    "    (parameters\n"
  6095.    "      (declare (in) vec2 angle))\n"
  6096.    "    ())\n"
  6097.    "  (signature vec3\n"
  6098.    "    (parameters\n"
  6099.    "      (declare (in) vec3 angle))\n"
  6100.    "    ())\n"
  6101.    "  (signature vec4\n"
  6102.    "    (parameters\n"
  6103.    "      (declare (in) vec4 angle))\n"
  6104.    "    ()))\n"
  6105.    "(function acos\n"
  6106.    "  (signature float\n"
  6107.    "    (parameters\n"
  6108.    "      (declare (in) float angle))\n"
  6109.    "    ())\n"
  6110.    "  (signature vec2\n"
  6111.    "    (parameters\n"
  6112.    "      (declare (in) vec2 angle))\n"
  6113.    "    ())\n"
  6114.    "  (signature vec3\n"
  6115.    "    (parameters\n"
  6116.    "      (declare (in) vec3 angle))\n"
  6117.    "    ())\n"
  6118.    "  (signature vec4\n"
  6119.    "    (parameters\n"
  6120.    "      (declare (in) vec4 angle))\n"
  6121.    "    ()))\n"
  6122.    "(function atan\n"
  6123.    "  (signature float\n"
  6124.    "    (parameters\n"
  6125.    "      (declare (in) float y)\n"
  6126.    "      (declare (in) float x))\n"
  6127.    "    ())\n"
  6128.    "  (signature vec2\n"
  6129.    "    (parameters\n"
  6130.    "      (declare (in) vec2 y)\n"
  6131.    "      (declare (in) vec2 x))\n"
  6132.    "    ())\n"
  6133.    "  (signature vec3\n"
  6134.    "    (parameters\n"
  6135.    "      (declare (in) vec3 y)\n"
  6136.    "      (declare (in) vec3 x))\n"
  6137.    "    ())\n"
  6138.    "  (signature vec4\n"
  6139.    "    (parameters\n"
  6140.    "      (declare (in) vec4 y)\n"
  6141.    "      (declare (in) vec4 x))\n"
  6142.    "    ())\n"
  6143.    "  (signature float\n"
  6144.    "    (parameters\n"
  6145.    "      (declare (in) float y_over_x))\n"
  6146.    "    ())\n"
  6147.    "  (signature vec2\n"
  6148.    "    (parameters\n"
  6149.    "      (declare (in) vec2 y_over_x))\n"
  6150.    "    ())\n"
  6151.    "  (signature vec3\n"
  6152.    "    (parameters\n"
  6153.    "      (declare (in) vec3 y_over_x))\n"
  6154.    "    ())\n"
  6155.    "  (signature vec4\n"
  6156.    "    (parameters\n"
  6157.    "      (declare (in) vec4 y_over_x))\n"
  6158.    "    ()))\n"
  6159.    "(function pow\n"
  6160.    "  (signature float\n"
  6161.    "    (parameters\n"
  6162.    "      (declare (in) float x)\n"
  6163.    "      (declare (in) float y))\n"
  6164.    "    ())\n"
  6165.    "  (signature vec2\n"
  6166.    "    (parameters\n"
  6167.    "      (declare (in) vec2 x)\n"
  6168.    "      (declare (in) vec2 y))\n"
  6169.    "    ())\n"
  6170.    "  (signature vec3\n"
  6171.    "    (parameters\n"
  6172.    "      (declare (in) vec3 x)\n"
  6173.    "      (declare (in) vec3 y))\n"
  6174.    "    ())\n"
  6175.    "  (signature vec4\n"
  6176.    "    (parameters\n"
  6177.    "      (declare (in) vec4 x)\n"
  6178.    "      (declare (in) vec4 y))\n"
  6179.    "    ()))\n"
  6180.    "(function exp\n"
  6181.    "  (signature float\n"
  6182.    "    (parameters\n"
  6183.    "      (declare (in) float x))\n"
  6184.    "    ())\n"
  6185.    "  (signature vec2\n"
  6186.    "    (parameters\n"
  6187.    "      (declare (in) vec2 x))\n"
  6188.    "    ())\n"
  6189.    "  (signature vec3\n"
  6190.    "    (parameters\n"
  6191.    "      (declare (in) vec3 x))\n"
  6192.    "    ())\n"
  6193.    "  (signature vec4\n"
  6194.    "    (parameters\n"
  6195.    "      (declare (in) vec4 x))\n"
  6196.    "    ()))\n"
  6197.    "(function log\n"
  6198.    "  (signature float\n"
  6199.    "    (parameters\n"
  6200.    "      (declare (in) float x))\n"
  6201.    "    ())\n"
  6202.    "  (signature vec2\n"
  6203.    "    (parameters\n"
  6204.    "      (declare (in) vec2 x))\n"
  6205.    "    ())\n"
  6206.    "  (signature vec3\n"
  6207.    "    (parameters\n"
  6208.    "      (declare (in) vec3 x))\n"
  6209.    "    ())\n"
  6210.    "  (signature vec4\n"
  6211.    "    (parameters\n"
  6212.    "      (declare (in) vec4 x))\n"
  6213.    "    ()))\n"
  6214.    "(function exp2\n"
  6215.    "  (signature float\n"
  6216.    "    (parameters\n"
  6217.    "      (declare (in) float x))\n"
  6218.    "    ())\n"
  6219.    "  (signature vec2\n"
  6220.    "    (parameters\n"
  6221.    "      (declare (in) vec2 x))\n"
  6222.    "    ())\n"
  6223.    "  (signature vec3\n"
  6224.    "    (parameters\n"
  6225.    "      (declare (in) vec3 x))\n"
  6226.    "    ())\n"
  6227.    "  (signature vec4\n"
  6228.    "    (parameters\n"
  6229.    "      (declare (in) vec4 x))\n"
  6230.    "    ()))\n"
  6231.    "(function log2\n"
  6232.    "  (signature float\n"
  6233.    "    (parameters\n"
  6234.    "      (declare (in) float x))\n"
  6235.    "    ())\n"
  6236.    "  (signature vec2\n"
  6237.    "    (parameters\n"
  6238.    "      (declare (in) vec2 x))\n"
  6239.    "    ())\n"
  6240.    "  (signature vec3\n"
  6241.    "    (parameters\n"
  6242.    "      (declare (in) vec3 x))\n"
  6243.    "    ())\n"
  6244.    "  (signature vec4\n"
  6245.    "    (parameters\n"
  6246.    "      (declare (in) vec4 x))\n"
  6247.    "    ()))\n"
  6248.    "(function sqrt\n"
  6249.    "  (signature float\n"
  6250.    "    (parameters\n"
  6251.    "      (declare (in) float x))\n"
  6252.    "    ())\n"
  6253.    "  (signature vec2\n"
  6254.    "    (parameters\n"
  6255.    "      (declare (in) vec2 x))\n"
  6256.    "    ())\n"
  6257.    "  (signature vec3\n"
  6258.    "    (parameters\n"
  6259.    "      (declare (in) vec3 x))\n"
  6260.    "    ())\n"
  6261.    "  (signature vec4\n"
  6262.    "    (parameters\n"
  6263.    "      (declare (in) vec4 x))\n"
  6264.    "    ()))\n"
  6265.    "(function inversesqrt\n"
  6266.    "  (signature float\n"
  6267.    "    (parameters\n"
  6268.    "      (declare (in) float x))\n"
  6269.    "    ())\n"
  6270.    "  (signature vec2\n"
  6271.    "    (parameters\n"
  6272.    "      (declare (in) vec2 x))\n"
  6273.    "    ())\n"
  6274.    "  (signature vec3\n"
  6275.    "    (parameters\n"
  6276.    "      (declare (in) vec3 x))\n"
  6277.    "    ())\n"
  6278.    "  (signature vec4\n"
  6279.    "    (parameters\n"
  6280.    "      (declare (in) vec4 x))\n"
  6281.    "    ()))\n"
  6282.    "(function abs\n"
  6283.    "  (signature float\n"
  6284.    "    (parameters\n"
  6285.    "      (declare (in) float x))\n"
  6286.    "    ())\n"
  6287.    "  (signature vec2\n"
  6288.    "    (parameters\n"
  6289.    "      (declare (in) vec2 x))\n"
  6290.    "    ())\n"
  6291.    "  (signature vec3\n"
  6292.    "    (parameters\n"
  6293.    "      (declare (in) vec3 x))\n"
  6294.    "    ())\n"
  6295.    "  (signature vec4\n"
  6296.    "    (parameters\n"
  6297.    "      (declare (in) vec4 x))\n"
  6298.    "    ()))\n"
  6299.    "(function sign\n"
  6300.    "  (signature float\n"
  6301.    "    (parameters\n"
  6302.    "      (declare (in) float x))\n"
  6303.    "    ())\n"
  6304.    "  (signature vec2\n"
  6305.    "    (parameters\n"
  6306.    "      (declare (in) vec2 x))\n"
  6307.    "    ())\n"
  6308.    "  (signature vec3\n"
  6309.    "    (parameters\n"
  6310.    "      (declare (in) vec3 x))\n"
  6311.    "    ())\n"
  6312.    "  (signature vec4\n"
  6313.    "    (parameters\n"
  6314.    "      (declare (in) vec4 x))\n"
  6315.    "    ()))\n"
  6316.    "(function floor\n"
  6317.    "  (signature float\n"
  6318.    "    (parameters\n"
  6319.    "      (declare (in) float x))\n"
  6320.    "    ())\n"
  6321.    "  (signature vec2\n"
  6322.    "    (parameters\n"
  6323.    "      (declare (in) vec2 x))\n"
  6324.    "    ())\n"
  6325.    "  (signature vec3\n"
  6326.    "    (parameters\n"
  6327.    "      (declare (in) vec3 x))\n"
  6328.    "    ())\n"
  6329.    "  (signature vec4\n"
  6330.    "    (parameters\n"
  6331.    "      (declare (in) vec4 x))\n"
  6332.    "    ()))\n"
  6333.    "(function ceil\n"
  6334.    "  (signature float\n"
  6335.    "    (parameters\n"
  6336.    "      (declare (in) float x))\n"
  6337.    "    ())\n"
  6338.    "  (signature vec2\n"
  6339.    "    (parameters\n"
  6340.    "      (declare (in) vec2 x))\n"
  6341.    "    ())\n"
  6342.    "  (signature vec3\n"
  6343.    "    (parameters\n"
  6344.    "      (declare (in) vec3 x))\n"
  6345.    "    ())\n"
  6346.    "  (signature vec4\n"
  6347.    "    (parameters\n"
  6348.    "      (declare (in) vec4 x))\n"
  6349.    "    ()))\n"
  6350.    "(function fract\n"
  6351.    "  (signature float\n"
  6352.    "    (parameters\n"
  6353.    "      (declare (in) float x))\n"
  6354.    "    ())\n"
  6355.    "  (signature vec2\n"
  6356.    "    (parameters\n"
  6357.    "      (declare (in) vec2 x))\n"
  6358.    "    ())\n"
  6359.    "  (signature vec3\n"
  6360.    "    (parameters\n"
  6361.    "      (declare (in) vec3 x))\n"
  6362.    "    ())\n"
  6363.    "  (signature vec4\n"
  6364.    "    (parameters\n"
  6365.    "      (declare (in) vec4 x))\n"
  6366.    "    ()))\n"
  6367.    "(function mod\n"
  6368.    "  (signature float\n"
  6369.    "    (parameters\n"
  6370.    "      (declare (in) float x)\n"
  6371.    "      (declare (in) float y))\n"
  6372.    "    ())\n"
  6373.    "  (signature vec2\n"
  6374.    "    (parameters\n"
  6375.    "      (declare (in) vec2 x)\n"
  6376.    "      (declare (in) float y))\n"
  6377.    "    ())\n"
  6378.    "  (signature vec3\n"
  6379.    "    (parameters\n"
  6380.    "      (declare (in) vec3 x)\n"
  6381.    "      (declare (in) float y))\n"
  6382.    "    ())\n"
  6383.    "  (signature vec4\n"
  6384.    "    (parameters\n"
  6385.    "      (declare (in) vec4 x)\n"
  6386.    "      (declare (in) float y))\n"
  6387.    "    ())\n"
  6388.    "  (signature vec2\n"
  6389.    "    (parameters\n"
  6390.    "      (declare (in) vec2 x)\n"
  6391.    "      (declare (in) vec2 y))\n"
  6392.    "    ())\n"
  6393.    "  (signature vec3\n"
  6394.    "    (parameters\n"
  6395.    "      (declare (in) vec3 x)\n"
  6396.    "      (declare (in) vec3 y))\n"
  6397.    "    ())\n"
  6398.    "  (signature vec4\n"
  6399.    "    (parameters\n"
  6400.    "      (declare (in) vec4 x)\n"
  6401.    "      (declare (in) vec4 y))\n"
  6402.    "    ()))\n"
  6403.    "(function min\n"
  6404.    "  (signature float\n"
  6405.    "    (parameters\n"
  6406.    "      (declare (in) float x)\n"
  6407.    "      (declare (in) float y))\n"
  6408.    "    ())\n"
  6409.    "  (signature vec2\n"
  6410.    "    (parameters\n"
  6411.    "      (declare (in) vec2 x)\n"
  6412.    "      (declare (in) vec2 y))\n"
  6413.    "    ())\n"
  6414.    "  (signature vec3\n"
  6415.    "    (parameters\n"
  6416.    "      (declare (in) vec3 x)\n"
  6417.    "      (declare (in) vec3 y))\n"
  6418.    "    ())\n"
  6419.    "  (signature vec4\n"
  6420.    "    (parameters\n"
  6421.    "      (declare (in) vec4 x)\n"
  6422.    "      (declare (in) vec4 y))\n"
  6423.    "    ())\n"
  6424.    "  (signature vec2\n"
  6425.    "    (parameters\n"
  6426.    "      (declare (in) vec2 x)\n"
  6427.    "      (declare (in) float y))\n"
  6428.    "    ())\n"
  6429.    "  (signature vec3\n"
  6430.    "    (parameters\n"
  6431.    "      (declare (in) vec3 x)\n"
  6432.    "      (declare (in) float y))\n"
  6433.    "    ())\n"
  6434.    "  (signature vec4\n"
  6435.    "    (parameters\n"
  6436.    "      (declare (in) vec4 x)\n"
  6437.    "      (declare (in) float y))\n"
  6438.    "    ()))\n"
  6439.    "(function max\n"
  6440.    "  (signature float\n"
  6441.    "    (parameters\n"
  6442.    "      (declare (in) float x)\n"
  6443.    "      (declare (in) float y))\n"
  6444.    "    ())\n"
  6445.    "  (signature vec2\n"
  6446.    "    (parameters\n"
  6447.    "      (declare (in) vec2 x)\n"
  6448.    "      (declare (in) vec2 y))\n"
  6449.    "    ())\n"
  6450.    "  (signature vec3\n"
  6451.    "    (parameters\n"
  6452.    "      (declare (in) vec3 x)\n"
  6453.    "      (declare (in) vec3 y))\n"
  6454.    "    ())\n"
  6455.    "  (signature vec4\n"
  6456.    "    (parameters\n"
  6457.    "      (declare (in) vec4 x)\n"
  6458.    "      (declare (in) vec4 y))\n"
  6459.    "    ())\n"
  6460.    "  (signature vec2\n"
  6461.    "    (parameters\n"
  6462.    "      (declare (in) vec2 x)\n"
  6463.    "      (declare (in) float y))\n"
  6464.    "    ())\n"
  6465.    "  (signature vec3\n"
  6466.    "    (parameters\n"
  6467.    "      (declare (in) vec3 x)\n"
  6468.    "      (declare (in) float y))\n"
  6469.    "    ())\n"
  6470.    "  (signature vec4\n"
  6471.    "    (parameters\n"
  6472.    "      (declare (in) vec4 x)\n"
  6473.    "      (declare (in) float y))\n"
  6474.    "    ()))\n"
  6475.    "(function clamp\n"
  6476.    "  (signature float\n"
  6477.    "    (parameters\n"
  6478.    "      (declare (in) float x)\n"
  6479.    "      (declare (in) float minVal)\n"
  6480.    "      (declare (in) float maxVal))\n"
  6481.    "    ())\n"
  6482.    "  (signature vec2\n"
  6483.    "    (parameters\n"
  6484.    "      (declare (in) vec2 x)\n"
  6485.    "      (declare (in) vec2 minVal)\n"
  6486.    "      (declare (in) vec2 maxVal))\n"
  6487.    "    ())\n"
  6488.    "  (signature vec3\n"
  6489.    "    (parameters\n"
  6490.    "      (declare (in) vec3 x)\n"
  6491.    "      (declare (in) vec3 minVal)\n"
  6492.    "      (declare (in) vec3 maxVal))\n"
  6493.    "    ())\n"
  6494.    "  (signature vec4\n"
  6495.    "    (parameters\n"
  6496.    "      (declare (in) vec4 x)\n"
  6497.    "      (declare (in) vec4 minVal)\n"
  6498.    "      (declare (in) vec4 maxVal))\n"
  6499.    "    ())\n"
  6500.    "  (signature vec2\n"
  6501.    "    (parameters\n"
  6502.    "      (declare (in) vec2 x)\n"
  6503.    "      (declare (in) float minVal)\n"
  6504.    "      (declare (in) float maxVal))\n"
  6505.    "    ())\n"
  6506.    "  (signature vec3\n"
  6507.    "    (parameters\n"
  6508.    "      (declare (in) vec3 x)\n"
  6509.    "      (declare (in) float minVal)\n"
  6510.    "      (declare (in) float maxVal))\n"
  6511.    "    ())\n"
  6512.    "  (signature vec4\n"
  6513.    "    (parameters\n"
  6514.    "      (declare (in) vec4 x)\n"
  6515.    "      (declare (in) float minVal)\n"
  6516.    "      (declare (in) float maxVal))\n"
  6517.    "    ()))\n"
  6518.    "(function mix\n"
  6519.    "  (signature float\n"
  6520.    "    (parameters\n"
  6521.    "      (declare (in) float x)\n"
  6522.    "      (declare (in) float y)\n"
  6523.    "      (declare (in) float a))\n"
  6524.    "    ())\n"
  6525.    "  (signature vec2\n"
  6526.    "    (parameters\n"
  6527.    "      (declare (in) vec2 x)\n"
  6528.    "      (declare (in) vec2 y)\n"
  6529.    "      (declare (in) vec2 a))\n"
  6530.    "    ())\n"
  6531.    "  (signature vec3\n"
  6532.    "    (parameters\n"
  6533.    "      (declare (in) vec3 x)\n"
  6534.    "      (declare (in) vec3 y)\n"
  6535.    "      (declare (in) vec3 a))\n"
  6536.    "    ())\n"
  6537.    "  (signature vec4\n"
  6538.    "    (parameters\n"
  6539.    "      (declare (in) vec4 x)\n"
  6540.    "      (declare (in) vec4 y)\n"
  6541.    "      (declare (in) vec4 a))\n"
  6542.    "    ())\n"
  6543.    "  (signature vec2\n"
  6544.    "    (parameters\n"
  6545.    "      (declare (in) vec2 x)\n"
  6546.    "      (declare (in) vec2 y)\n"
  6547.    "      (declare (in) float a))\n"
  6548.    "    ())\n"
  6549.    "  (signature vec3\n"
  6550.    "    (parameters\n"
  6551.    "      (declare (in) vec3 x)\n"
  6552.    "      (declare (in) vec3 y)\n"
  6553.    "      (declare (in) float a))\n"
  6554.    "    ())\n"
  6555.    "  (signature vec4\n"
  6556.    "    (parameters\n"
  6557.    "      (declare (in) vec4 x)\n"
  6558.    "      (declare (in) vec4 y)\n"
  6559.    "      (declare (in) float a))\n"
  6560.    "    ()))\n"
  6561.    "(function step\n"
  6562.    "  (signature float\n"
  6563.    "    (parameters\n"
  6564.    "      (declare (in) float edge)\n"
  6565.    "      (declare (in) float x))\n"
  6566.    "    ())\n"
  6567.    "  (signature vec2\n"
  6568.    "    (parameters\n"
  6569.    "      (declare (in) vec2 edge)\n"
  6570.    "      (declare (in) vec2 x))\n"
  6571.    "    ())\n"
  6572.    "  (signature vec3\n"
  6573.    "    (parameters\n"
  6574.    "      (declare (in) vec3 edge)\n"
  6575.    "      (declare (in) vec3 x))\n"
  6576.    "    ())\n"
  6577.    "  (signature vec4\n"
  6578.    "    (parameters\n"
  6579.    "      (declare (in) vec4 edge)\n"
  6580.    "      (declare (in) vec4 x))\n"
  6581.    "    ())\n"
  6582.    "  (signature vec2\n"
  6583.    "    (parameters\n"
  6584.    "      (declare (in) float edge)\n"
  6585.    "      (declare (in) vec2 x))\n"
  6586.    "    ())\n"
  6587.    "  (signature vec3\n"
  6588.    "    (parameters\n"
  6589.    "      (declare (in) float edge)\n"
  6590.    "      (declare (in) vec3 x))\n"
  6591.    "    ())\n"
  6592.    "  (signature vec4\n"
  6593.    "    (parameters\n"
  6594.    "      (declare (in) float edge)\n"
  6595.    "      (declare (in) vec4 x))\n"
  6596.    "    ()))\n"
  6597.    "(function smoothstep\n"
  6598.    "  (signature float\n"
  6599.    "    (parameters\n"
  6600.    "      (declare (in) float edge0)\n"
  6601.    "      (declare (in) float edge1)\n"
  6602.    "      (declare (in) float x))\n"
  6603.    "    ())\n"
  6604.    "  (signature vec2\n"
  6605.    "    (parameters\n"
  6606.    "      (declare (in) vec2 edge0)\n"
  6607.    "      (declare (in) vec2 edge1)\n"
  6608.    "      (declare (in) vec2 x))\n"
  6609.    "    ())\n"
  6610.    "  (signature vec3\n"
  6611.    "    (parameters\n"
  6612.    "      (declare (in) vec3 edge0)\n"
  6613.    "      (declare (in) vec3 edge1)\n"
  6614.    "      (declare (in) vec3 x))\n"
  6615.    "    ())\n"
  6616.    "  (signature vec4\n"
  6617.    "    (parameters\n"
  6618.    "      (declare (in) vec4 edge0)\n"
  6619.    "      (declare (in) vec4 edge1)\n"
  6620.    "      (declare (in) vec4 x))\n"
  6621.    "    ())\n"
  6622.    "  (signature vec2\n"
  6623.    "    (parameters\n"
  6624.    "      (declare (in) float edge0)\n"
  6625.    "      (declare (in) float edge1)\n"
  6626.    "      (declare (in) vec2 x))\n"
  6627.    "    ())\n"
  6628.    "  (signature vec3\n"
  6629.    "    (parameters\n"
  6630.    "      (declare (in) float edge0)\n"
  6631.    "      (declare (in) float edge1)\n"
  6632.    "      (declare (in) vec3 x))\n"
  6633.    "    ())\n"
  6634.    "  (signature vec4\n"
  6635.    "    (parameters\n"
  6636.    "      (declare (in) float edge0)\n"
  6637.    "      (declare (in) float edge1)\n"
  6638.    "      (declare (in) vec4 x))\n"
  6639.    "    ()))\n"
  6640.    "(function length\n"
  6641.    "  (signature float\n"
  6642.    "    (parameters\n"
  6643.    "      (declare (in) float x))\n"
  6644.    "    ())\n"
  6645.    "  (signature float\n"
  6646.    "    (parameters\n"
  6647.    "      (declare (in) vec2 x))\n"
  6648.    "    ())\n"
  6649.    "  (signature float\n"
  6650.    "    (parameters\n"
  6651.    "      (declare (in) vec3 x))\n"
  6652.    "    ())\n"
  6653.    "  (signature float\n"
  6654.    "    (parameters\n"
  6655.    "      (declare (in) vec4 x))\n"
  6656.    "    ()))\n"
  6657.    "(function distance\n"
  6658.    "  (signature float\n"
  6659.    "    (parameters\n"
  6660.    "      (declare (in) float p0)\n"
  6661.    "      (declare (in) float p1))\n"
  6662.    "    ())\n"
  6663.    "  (signature float\n"
  6664.    "    (parameters\n"
  6665.    "      (declare (in) vec2 p0)\n"
  6666.    "      (declare (in) vec2 p1))\n"
  6667.    "    ())\n"
  6668.    "  (signature float\n"
  6669.    "    (parameters\n"
  6670.    "      (declare (in) vec3 p0)\n"
  6671.    "      (declare (in) vec3 p1))\n"
  6672.    "    ())\n"
  6673.    "  (signature float\n"
  6674.    "    (parameters\n"
  6675.    "      (declare (in) vec4 p0)\n"
  6676.    "      (declare (in) vec4 p1))\n"
  6677.    "    ()))\n"
  6678.    "(function dot\n"
  6679.    "  (signature float\n"
  6680.    "    (parameters\n"
  6681.    "      (declare (in) float x)\n"
  6682.    "      (declare (in) float y))\n"
  6683.    "    ())\n"
  6684.    "  (signature float\n"
  6685.    "    (parameters\n"
  6686.    "      (declare (in) vec2 x)\n"
  6687.    "      (declare (in) vec2 y))\n"
  6688.    "    ())\n"
  6689.    "  (signature float\n"
  6690.    "    (parameters\n"
  6691.    "      (declare (in) vec3 x)\n"
  6692.    "      (declare (in) vec3 y))\n"
  6693.    "    ())\n"
  6694.    "  (signature float\n"
  6695.    "    (parameters\n"
  6696.    "      (declare (in) vec4 x)\n"
  6697.    "      (declare (in) vec4 y))\n"
  6698.    "    ()))\n"
  6699.    "(function cross\n"
  6700.    "  (signature vec3\n"
  6701.    "    (parameters\n"
  6702.    "      (declare (in) vec3 x)\n"
  6703.    "      (declare (in) vec3 y))\n"
  6704.    "    ()))\n"
  6705.    "(function normalize\n"
  6706.    "  (signature float\n"
  6707.    "    (parameters\n"
  6708.    "      (declare (in) float x))\n"
  6709.    "    ())\n"
  6710.    "  (signature vec2\n"
  6711.    "    (parameters\n"
  6712.    "      (declare (in) vec2 x))\n"
  6713.    "    ())\n"
  6714.    "  (signature vec3\n"
  6715.    "    (parameters\n"
  6716.    "      (declare (in) vec3 x))\n"
  6717.    "    ())\n"
  6718.    "  (signature vec4\n"
  6719.    "    (parameters\n"
  6720.    "      (declare (in) vec4 x))\n"
  6721.    "    ()))\n"
  6722.    "(function faceforward\n"
  6723.    "  (signature float\n"
  6724.    "    (parameters\n"
  6725.    "      (declare (in) float N)\n"
  6726.    "      (declare (in) float I)\n"
  6727.    "      (declare (in) float Nref))\n"
  6728.    "    ())\n"
  6729.    "  (signature vec2\n"
  6730.    "    (parameters\n"
  6731.    "      (declare (in) vec2 N)\n"
  6732.    "      (declare (in) vec2 I)\n"
  6733.    "      (declare (in) vec2 Nref))\n"
  6734.    "    ())\n"
  6735.    "  (signature vec3\n"
  6736.    "    (parameters\n"
  6737.    "      (declare (in) vec3 N)\n"
  6738.    "      (declare (in) vec3 I)\n"
  6739.    "      (declare (in) vec3 Nref))\n"
  6740.    "    ())\n"
  6741.    "  (signature vec4\n"
  6742.    "    (parameters\n"
  6743.    "      (declare (in) vec4 N)\n"
  6744.    "      (declare (in) vec4 I)\n"
  6745.    "      (declare (in) vec4 Nref))\n"
  6746.    "    ()))\n"
  6747.    "(function reflect\n"
  6748.    "  (signature float\n"
  6749.    "    (parameters\n"
  6750.    "      (declare (in) float I)\n"
  6751.    "      (declare (in) float N))\n"
  6752.    "    ())\n"
  6753.    "  (signature vec2\n"
  6754.    "    (parameters\n"
  6755.    "      (declare (in) vec2 I)\n"
  6756.    "      (declare (in) vec2 N))\n"
  6757.    "    ())\n"
  6758.    "  (signature vec3\n"
  6759.    "    (parameters\n"
  6760.    "      (declare (in) vec3 I)\n"
  6761.    "      (declare (in) vec3 N))\n"
  6762.    "    ())\n"
  6763.    "  (signature vec4\n"
  6764.    "    (parameters\n"
  6765.    "      (declare (in) vec4 I)\n"
  6766.    "      (declare (in) vec4 N))\n"
  6767.    "    ()))\n"
  6768.    "(function refract\n"
  6769.    "  (signature float\n"
  6770.    "    (parameters\n"
  6771.    "      (declare (in) float I)\n"
  6772.    "      (declare (in) float N)\n"
  6773.    "      (declare (in) float eta))\n"
  6774.    "    ())\n"
  6775.    "  (signature vec2\n"
  6776.    "    (parameters\n"
  6777.    "      (declare (in) vec2 I)\n"
  6778.    "      (declare (in) vec2 N)\n"
  6779.    "      (declare (in) float eta))\n"
  6780.    "    ())\n"
  6781.    "  (signature vec3\n"
  6782.    "    (parameters\n"
  6783.    "      (declare (in) vec3 I)\n"
  6784.    "      (declare (in) vec3 N)\n"
  6785.    "      (declare (in) float eta))\n"
  6786.    "    ())\n"
  6787.    "  (signature vec4\n"
  6788.    "    (parameters\n"
  6789.    "      (declare (in) vec4 I)\n"
  6790.    "      (declare (in) vec4 N)\n"
  6791.    "      (declare (in) float eta))\n"
  6792.    "    ()))\n"
  6793.    "(function matrixCompMult\n"
  6794.    "  (signature mat2\n"
  6795.    "    (parameters\n"
  6796.    "      (declare (in) mat2 x)\n"
  6797.    "      (declare (in) mat2 y))\n"
  6798.    "    ())\n"
  6799.    "  (signature mat3\n"
  6800.    "    (parameters\n"
  6801.    "      (declare (in) mat3 x)\n"
  6802.    "      (declare (in) mat3 y))\n"
  6803.    "    ())\n"
  6804.    "  (signature mat4\n"
  6805.    "    (parameters\n"
  6806.    "      (declare (in) mat4 x)\n"
  6807.    "      (declare (in) mat4 y))\n"
  6808.    "    ()))\n"
  6809.    "(function lessThan\n"
  6810.    "  (signature bvec2\n"
  6811.    "    (parameters\n"
  6812.    "      (declare (in) vec2 x)\n"
  6813.    "      (declare (in) vec2 y))\n"
  6814.    "    ())\n"
  6815.    "  (signature bvec3\n"
  6816.    "    (parameters\n"
  6817.    "      (declare (in) vec3 x)\n"
  6818.    "      (declare (in) vec3 y))\n"
  6819.    "    ())\n"
  6820.    "  (signature bvec4\n"
  6821.    "    (parameters\n"
  6822.    "      (declare (in) vec4 x)\n"
  6823.    "      (declare (in) vec4 y))\n"
  6824.    "    ())\n"
  6825.    "  (signature bvec2\n"
  6826.    "    (parameters\n"
  6827.    "      (declare (in) ivec2 x)\n"
  6828.    "      (declare (in) ivec2 y))\n"
  6829.    "    ())\n"
  6830.    "  (signature bvec3\n"
  6831.    "    (parameters\n"
  6832.    "      (declare (in) ivec3 x)\n"
  6833.    "      (declare (in) ivec3 y))\n"
  6834.    "    ())\n"
  6835.    "  (signature bvec4\n"
  6836.    "    (parameters\n"
  6837.    "      (declare (in) ivec4 x)\n"
  6838.    "      (declare (in) ivec4 y))\n"
  6839.    "    ()))\n"
  6840.    "(function lessThanEqual\n"
  6841.    "  (signature bvec2\n"
  6842.    "    (parameters\n"
  6843.    "      (declare (in) vec2 x)\n"
  6844.    "      (declare (in) vec2 y))\n"
  6845.    "    ())\n"
  6846.    "  (signature bvec3\n"
  6847.    "    (parameters\n"
  6848.    "      (declare (in) vec3 x)\n"
  6849.    "      (declare (in) vec3 y))\n"
  6850.    "    ())\n"
  6851.    "  (signature bvec4\n"
  6852.    "    (parameters\n"
  6853.    "      (declare (in) vec4 x)\n"
  6854.    "      (declare (in) vec4 y))\n"
  6855.    "    ())\n"
  6856.    "  (signature bvec2\n"
  6857.    "    (parameters\n"
  6858.    "      (declare (in) ivec2 x)\n"
  6859.    "      (declare (in) ivec2 y))\n"
  6860.    "    ())\n"
  6861.    "  (signature bvec3\n"
  6862.    "    (parameters\n"
  6863.    "      (declare (in) ivec3 x)\n"
  6864.    "      (declare (in) ivec3 y))\n"
  6865.    "    ())\n"
  6866.    "  (signature bvec4\n"
  6867.    "    (parameters\n"
  6868.    "      (declare (in) ivec4 x)\n"
  6869.    "      (declare (in) ivec4 y))\n"
  6870.    "    ()))\n"
  6871.    "(function greaterThan\n"
  6872.    "  (signature bvec2\n"
  6873.    "    (parameters\n"
  6874.    "      (declare (in) vec2 x)\n"
  6875.    "      (declare (in) vec2 y))\n"
  6876.    "    ())\n"
  6877.    "  (signature bvec3\n"
  6878.    "    (parameters\n"
  6879.    "      (declare (in) vec3 x)\n"
  6880.    "      (declare (in) vec3 y))\n"
  6881.    "    ())\n"
  6882.    "  (signature bvec4\n"
  6883.    "    (parameters\n"
  6884.    "      (declare (in) vec4 x)\n"
  6885.    "      (declare (in) vec4 y))\n"
  6886.    "    ())\n"
  6887.    "  (signature bvec2\n"
  6888.    "    (parameters\n"
  6889.    "      (declare (in) ivec2 x)\n"
  6890.    "      (declare (in) ivec2 y))\n"
  6891.    "    ())\n"
  6892.    "  (signature bvec3\n"
  6893.    "    (parameters\n"
  6894.    "      (declare (in) ivec3 x)\n"
  6895.    "      (declare (in) ivec3 y))\n"
  6896.    "    ())\n"
  6897.    "  (signature bvec4\n"
  6898.    "    (parameters\n"
  6899.    "      (declare (in) ivec4 x)\n"
  6900.    "      (declare (in) ivec4 y))\n"
  6901.    "    ()))\n"
  6902.    "(function greaterThanEqual\n"
  6903.    "  (signature bvec2\n"
  6904.    "    (parameters\n"
  6905.    "      (declare (in) vec2 x)\n"
  6906.    "      (declare (in) vec2 y))\n"
  6907.    "    ())\n"
  6908.    "  (signature bvec3\n"
  6909.    "    (parameters\n"
  6910.    "      (declare (in) vec3 x)\n"
  6911.    "      (declare (in) vec3 y))\n"
  6912.    "    ())\n"
  6913.    "  (signature bvec4\n"
  6914.    "    (parameters\n"
  6915.    "      (declare (in) vec4 x)\n"
  6916.    "      (declare (in) vec4 y))\n"
  6917.    "    ())\n"
  6918.    "  (signature bvec2\n"
  6919.    "    (parameters\n"
  6920.    "      (declare (in) ivec2 x)\n"
  6921.    "      (declare (in) ivec2 y))\n"
  6922.    "    ())\n"
  6923.    "  (signature bvec3\n"
  6924.    "    (parameters\n"
  6925.    "      (declare (in) ivec3 x)\n"
  6926.    "      (declare (in) ivec3 y))\n"
  6927.    "    ())\n"
  6928.    "  (signature bvec4\n"
  6929.    "    (parameters\n"
  6930.    "      (declare (in) ivec4 x)\n"
  6931.    "      (declare (in) ivec4 y))\n"
  6932.    "    ()))\n"
  6933.    "(function equal\n"
  6934.    "  (signature bvec2\n"
  6935.    "    (parameters\n"
  6936.    "      (declare (in) vec2 x)\n"
  6937.    "      (declare (in) vec2 y))\n"
  6938.    "    ())\n"
  6939.    "  (signature bvec3\n"
  6940.    "    (parameters\n"
  6941.    "      (declare (in) vec3 x)\n"
  6942.    "      (declare (in) vec3 y))\n"
  6943.    "    ())\n"
  6944.    "  (signature bvec4\n"
  6945.    "    (parameters\n"
  6946.    "      (declare (in) vec4 x)\n"
  6947.    "      (declare (in) vec4 y))\n"
  6948.    "    ())\n"
  6949.    "  (signature bvec2\n"
  6950.    "    (parameters\n"
  6951.    "      (declare (in) ivec2 x)\n"
  6952.    "      (declare (in) ivec2 y))\n"
  6953.    "    ())\n"
  6954.    "  (signature bvec3\n"
  6955.    "    (parameters\n"
  6956.    "      (declare (in) ivec3 x)\n"
  6957.    "      (declare (in) ivec3 y))\n"
  6958.    "    ())\n"
  6959.    "  (signature bvec4\n"
  6960.    "    (parameters\n"
  6961.    "      (declare (in) ivec4 x)\n"
  6962.    "      (declare (in) ivec4 y))\n"
  6963.    "    ())\n"
  6964.    "  (signature bvec2\n"
  6965.    "    (parameters\n"
  6966.    "      (declare (in) bvec2 x)\n"
  6967.    "      (declare (in) bvec2 y))\n"
  6968.    "    ())\n"
  6969.    "  (signature bvec3\n"
  6970.    "    (parameters\n"
  6971.    "      (declare (in) bvec3 x)\n"
  6972.    "      (declare (in) bvec3 y))\n"
  6973.    "    ())\n"
  6974.    "  (signature bvec4\n"
  6975.    "    (parameters\n"
  6976.    "      (declare (in) bvec4 x)\n"
  6977.    "      (declare (in) bvec4 y))\n"
  6978.    "    ()))\n"
  6979.    "(function notEqual\n"
  6980.    "  (signature bvec2\n"
  6981.    "    (parameters\n"
  6982.    "      (declare (in) vec2 x)\n"
  6983.    "      (declare (in) vec2 y))\n"
  6984.    "    ())\n"
  6985.    "  (signature bvec3\n"
  6986.    "    (parameters\n"
  6987.    "      (declare (in) vec3 x)\n"
  6988.    "      (declare (in) vec3 y))\n"
  6989.    "    ())\n"
  6990.    "  (signature bvec4\n"
  6991.    "    (parameters\n"
  6992.    "      (declare (in) vec4 x)\n"
  6993.    "      (declare (in) vec4 y))\n"
  6994.    "    ())\n"
  6995.    "  (signature bvec2\n"
  6996.    "    (parameters\n"
  6997.    "      (declare (in) ivec2 x)\n"
  6998.    "      (declare (in) ivec2 y))\n"
  6999.    "    ())\n"
  7000.    "  (signature bvec3\n"
  7001.    "    (parameters\n"
  7002.    "      (declare (in) ivec3 x)\n"
  7003.    "      (declare (in) ivec3 y))\n"
  7004.    "    ())\n"
  7005.    "  (signature bvec4\n"
  7006.    "    (parameters\n"
  7007.    "      (declare (in) ivec4 x)\n"
  7008.    "      (declare (in) ivec4 y))\n"
  7009.    "    ())\n"
  7010.    "  (signature bvec2\n"
  7011.    "    (parameters\n"
  7012.    "      (declare (in) bvec2 x)\n"
  7013.    "      (declare (in) bvec2 y))\n"
  7014.    "    ())\n"
  7015.    "  (signature bvec3\n"
  7016.    "    (parameters\n"
  7017.    "      (declare (in) bvec3 x)\n"
  7018.    "      (declare (in) bvec3 y))\n"
  7019.    "    ())\n"
  7020.    "  (signature bvec4\n"
  7021.    "    (parameters\n"
  7022.    "      (declare (in) bvec4 x)\n"
  7023.    "      (declare (in) bvec4 y))\n"
  7024.    "    ()))\n"
  7025.    "(function any\n"
  7026.    "  (signature bool\n"
  7027.    "    (parameters\n"
  7028.    "      (declare (in) bvec2 x))\n"
  7029.    "    ())\n"
  7030.    "  (signature bool\n"
  7031.    "    (parameters\n"
  7032.    "      (declare (in) bvec3 x))\n"
  7033.    "    ())\n"
  7034.    "  (signature bool\n"
  7035.    "    (parameters\n"
  7036.    "      (declare (in) bvec4 x))\n"
  7037.    "    ()))\n"
  7038.    "(function all\n"
  7039.    "  (signature bool\n"
  7040.    "    (parameters\n"
  7041.    "      (declare (in) bvec2 x))\n"
  7042.    "    ())\n"
  7043.    "  (signature bool\n"
  7044.    "    (parameters\n"
  7045.    "      (declare (in) bvec3 x))\n"
  7046.    "    ())\n"
  7047.    "  (signature bool\n"
  7048.    "    (parameters\n"
  7049.    "      (declare (in) bvec4 x))\n"
  7050.    "    ()))\n"
  7051.    "(function not\n"
  7052.    "  (signature bvec2\n"
  7053.    "    (parameters\n"
  7054.    "      (declare (in) bvec2 x))\n"
  7055.    "    ())\n"
  7056.    "  (signature bvec3\n"
  7057.    "    (parameters\n"
  7058.    "      (declare (in) bvec3 x))\n"
  7059.    "    ())\n"
  7060.    "  (signature bvec4\n"
  7061.    "    (parameters\n"
  7062.    "      (declare (in) bvec4 x))\n"
  7063.    "    ()))\n"
  7064.    "(function texture2D\n"
  7065.    "  (signature vec4\n"
  7066.    "    (parameters\n"
  7067.    "      (declare (in) sampler2D sampler)\n"
  7068.    "      (declare (in) vec2 coord))\n"
  7069.    "    ()))\n"
  7070.    "(function texture2DProj\n"
  7071.    "  (signature vec4\n"
  7072.    "    (parameters\n"
  7073.    "      (declare (in) sampler2D sampler)\n"
  7074.    "      (declare (in) vec3 coord))\n"
  7075.    "    ())\n"
  7076.    "  (signature vec4\n"
  7077.    "    (parameters\n"
  7078.    "      (declare (in) sampler2D sampler)\n"
  7079.    "      (declare (in) vec4 coord))\n"
  7080.    "    ()))\n"
  7081.    "(function texture2DLod\n"
  7082.    "  (signature vec4\n"
  7083.    "    (parameters\n"
  7084.    "      (declare (in) sampler2D sampler)\n"
  7085.    "      (declare (in) vec2 coord)\n"
  7086.    "      (declare (in) float lod))\n"
  7087.    "    ()))\n"
  7088.    "(function texture2DProjLod\n"
  7089.    "  (signature vec4\n"
  7090.    "    (parameters\n"
  7091.    "      (declare (in) sampler2D sampler)\n"
  7092.    "      (declare (in) vec3 coord)\n"
  7093.    "      (declare (in) float lod))\n"
  7094.    "    ())\n"
  7095.    "  (signature vec4\n"
  7096.    "    (parameters\n"
  7097.    "      (declare (in) sampler2D sampler)\n"
  7098.    "      (declare (in) vec4 coord)\n"
  7099.    "      (declare (in) float lod))\n"
  7100.    "    ()))\n"
  7101.    "(function textureCube\n"
  7102.    "  (signature vec4\n"
  7103.    "    (parameters\n"
  7104.    "      (declare (in) samplerCube sampler)\n"
  7105.    "      (declare (in) vec3 coord))\n"
  7106.    "    ()))\n"
  7107.    "(function textureCubeLod\n"
  7108.    "  (signature vec4\n"
  7109.    "    (parameters\n"
  7110.    "      (declare (in) samplerCube sampler)\n"
  7111.    "      (declare (in) vec3 coord)\n"
  7112.    "      (declare (in) float lod))\n"
  7113.    "    ())))"
  7114. ;
  7115. static const char *functions_for_100_vert [] = {
  7116.    builtin_abs,
  7117.    builtin_acos,
  7118.    builtin_all,
  7119.    builtin_any,
  7120.    builtin_asin,
  7121.    builtin_atan,
  7122.    builtin_ceil,
  7123.    builtin_clamp,
  7124.    builtin_cos,
  7125.    builtin_cross,
  7126.    builtin_degrees,
  7127.    builtin_distance,
  7128.    builtin_dot,
  7129.    builtin_equal,
  7130.    builtin_exp,
  7131.    builtin_exp2,
  7132.    builtin_faceforward,
  7133.    builtin_floor,
  7134.    builtin_fract,
  7135.    builtin_greaterThan,
  7136.    builtin_greaterThanEqual,
  7137.    builtin_inversesqrt,
  7138.    builtin_length,
  7139.    builtin_lessThan,
  7140.    builtin_lessThanEqual,
  7141.    builtin_log,
  7142.    builtin_log2,
  7143.    builtin_matrixCompMult,
  7144.    builtin_max,
  7145.    builtin_min,
  7146.    builtin_mix,
  7147.    builtin_mod,
  7148.    builtin_normalize,
  7149.    builtin_not,
  7150.    builtin_notEqual,
  7151.    builtin_pow,
  7152.    builtin_radians,
  7153.    builtin_reflect,
  7154.    builtin_refract,
  7155.    builtin_sign,
  7156.    builtin_sin,
  7157.    builtin_smoothstep,
  7158.    builtin_sqrt,
  7159.    builtin_step,
  7160.    builtin_tan,
  7161.    builtin_texture2D,
  7162.    builtin_texture2DLod,
  7163.    builtin_texture2DProj,
  7164.    builtin_texture2DProjLod,
  7165.    builtin_textureCube,
  7166.    builtin_textureCubeLod,
  7167. };
  7168. static const char prototypes_for_110_frag[] =
  7169.    "(\n"
  7170.    "(function radians\n"
  7171.    "  (signature float\n"
  7172.    "    (parameters\n"
  7173.    "      (declare (in) float degrees))\n"
  7174.    "    ())\n"
  7175.    "  (signature vec2\n"
  7176.    "    (parameters\n"
  7177.    "      (declare (in) vec2 degrees))\n"
  7178.    "    ())\n"
  7179.    "  (signature vec3\n"
  7180.    "    (parameters\n"
  7181.    "      (declare (in) vec3 degrees))\n"
  7182.    "    ())\n"
  7183.    "  (signature vec4\n"
  7184.    "    (parameters\n"
  7185.    "      (declare (in) vec4 degrees))\n"
  7186.    "    ()))\n"
  7187.    "(function degrees\n"
  7188.    "  (signature float\n"
  7189.    "    (parameters\n"
  7190.    "      (declare (in) float radians))\n"
  7191.    "    ())\n"
  7192.    "  (signature vec2\n"
  7193.    "    (parameters\n"
  7194.    "      (declare (in) vec2 radians))\n"
  7195.    "    ())\n"
  7196.    "  (signature vec3\n"
  7197.    "    (parameters\n"
  7198.    "      (declare (in) vec3 radians))\n"
  7199.    "    ())\n"
  7200.    "  (signature vec4\n"
  7201.    "    (parameters\n"
  7202.    "      (declare (in) vec4 radians))\n"
  7203.    "    ()))\n"
  7204.    "(function sin\n"
  7205.    "  (signature float\n"
  7206.    "    (parameters\n"
  7207.    "      (declare (in) float angle))\n"
  7208.    "    ())\n"
  7209.    "  (signature vec2\n"
  7210.    "    (parameters\n"
  7211.    "      (declare (in) vec2 angle))\n"
  7212.    "    ())\n"
  7213.    "  (signature vec3\n"
  7214.    "    (parameters\n"
  7215.    "      (declare (in) vec3 angle))\n"
  7216.    "    ())\n"
  7217.    "  (signature vec4\n"
  7218.    "    (parameters\n"
  7219.    "      (declare (in) vec4 angle))\n"
  7220.    "    ()))\n"
  7221.    "(function cos\n"
  7222.    "  (signature float\n"
  7223.    "    (parameters\n"
  7224.    "      (declare (in) float angle))\n"
  7225.    "    ())\n"
  7226.    "  (signature vec2\n"
  7227.    "    (parameters\n"
  7228.    "      (declare (in) vec2 angle))\n"
  7229.    "    ())\n"
  7230.    "  (signature vec3\n"
  7231.    "    (parameters\n"
  7232.    "      (declare (in) vec3 angle))\n"
  7233.    "    ())\n"
  7234.    "  (signature vec4\n"
  7235.    "    (parameters\n"
  7236.    "      (declare (in) vec4 angle))\n"
  7237.    "    ()))\n"
  7238.    "(function tan\n"
  7239.    "  (signature float\n"
  7240.    "    (parameters\n"
  7241.    "      (declare (in) float angle))\n"
  7242.    "    ())\n"
  7243.    "  (signature vec2\n"
  7244.    "    (parameters\n"
  7245.    "      (declare (in) vec2 angle))\n"
  7246.    "    ())\n"
  7247.    "  (signature vec3\n"
  7248.    "    (parameters\n"
  7249.    "      (declare (in) vec3 angle))\n"
  7250.    "    ())\n"
  7251.    "  (signature vec4\n"
  7252.    "    (parameters\n"
  7253.    "      (declare (in) vec4 angle))\n"
  7254.    "    ()))\n"
  7255.    "(function asin\n"
  7256.    "  (signature float\n"
  7257.    "    (parameters\n"
  7258.    "      (declare (in) float angle))\n"
  7259.    "    ())\n"
  7260.    "  (signature vec2\n"
  7261.    "    (parameters\n"
  7262.    "      (declare (in) vec2 angle))\n"
  7263.    "    ())\n"
  7264.    "  (signature vec3\n"
  7265.    "    (parameters\n"
  7266.    "      (declare (in) vec3 angle))\n"
  7267.    "    ())\n"
  7268.    "  (signature vec4\n"
  7269.    "    (parameters\n"
  7270.    "      (declare (in) vec4 angle))\n"
  7271.    "    ()))\n"
  7272.    "(function acos\n"
  7273.    "  (signature float\n"
  7274.    "    (parameters\n"
  7275.    "      (declare (in) float angle))\n"
  7276.    "    ())\n"
  7277.    "  (signature vec2\n"
  7278.    "    (parameters\n"
  7279.    "      (declare (in) vec2 angle))\n"
  7280.    "    ())\n"
  7281.    "  (signature vec3\n"
  7282.    "    (parameters\n"
  7283.    "      (declare (in) vec3 angle))\n"
  7284.    "    ())\n"
  7285.    "  (signature vec4\n"
  7286.    "    (parameters\n"
  7287.    "      (declare (in) vec4 angle))\n"
  7288.    "    ()))\n"
  7289.    "(function atan\n"
  7290.    "  (signature float\n"
  7291.    "    (parameters\n"
  7292.    "      (declare (in) float y)\n"
  7293.    "      (declare (in) float x))\n"
  7294.    "    ())\n"
  7295.    "  (signature vec2\n"
  7296.    "    (parameters\n"
  7297.    "      (declare (in) vec2 y)\n"
  7298.    "      (declare (in) vec2 x))\n"
  7299.    "    ())\n"
  7300.    "  (signature vec3\n"
  7301.    "    (parameters\n"
  7302.    "      (declare (in) vec3 y)\n"
  7303.    "      (declare (in) vec3 x))\n"
  7304.    "    ())\n"
  7305.    "  (signature vec4\n"
  7306.    "    (parameters\n"
  7307.    "      (declare (in) vec4 y)\n"
  7308.    "      (declare (in) vec4 x))\n"
  7309.    "    ())\n"
  7310.    "  (signature float\n"
  7311.    "    (parameters\n"
  7312.    "      (declare (in) float y_over_x))\n"
  7313.    "    ())\n"
  7314.    "  (signature vec2\n"
  7315.    "    (parameters\n"
  7316.    "      (declare (in) vec2 y_over_x))\n"
  7317.    "    ())\n"
  7318.    "  (signature vec3\n"
  7319.    "    (parameters\n"
  7320.    "      (declare (in) vec3 y_over_x))\n"
  7321.    "    ())\n"
  7322.    "  (signature vec4\n"
  7323.    "    (parameters\n"
  7324.    "      (declare (in) vec4 y_over_x))\n"
  7325.    "    ()))\n"
  7326.    "(function pow\n"
  7327.    "  (signature float\n"
  7328.    "    (parameters\n"
  7329.    "      (declare (in) float x)\n"
  7330.    "      (declare (in) float y))\n"
  7331.    "    ())\n"
  7332.    "  (signature vec2\n"
  7333.    "    (parameters\n"
  7334.    "      (declare (in) vec2 x)\n"
  7335.    "      (declare (in) vec2 y))\n"
  7336.    "    ())\n"
  7337.    "  (signature vec3\n"
  7338.    "    (parameters\n"
  7339.    "      (declare (in) vec3 x)\n"
  7340.    "      (declare (in) vec3 y))\n"
  7341.    "    ())\n"
  7342.    "  (signature vec4\n"
  7343.    "    (parameters\n"
  7344.    "      (declare (in) vec4 x)\n"
  7345.    "      (declare (in) vec4 y))\n"
  7346.    "    ()))\n"
  7347.    "(function exp\n"
  7348.    "  (signature float\n"
  7349.    "    (parameters\n"
  7350.    "      (declare (in) float x))\n"
  7351.    "    ())\n"
  7352.    "  (signature vec2\n"
  7353.    "    (parameters\n"
  7354.    "      (declare (in) vec2 x))\n"
  7355.    "    ())\n"
  7356.    "  (signature vec3\n"
  7357.    "    (parameters\n"
  7358.    "      (declare (in) vec3 x))\n"
  7359.    "    ())\n"
  7360.    "  (signature vec4\n"
  7361.    "    (parameters\n"
  7362.    "      (declare (in) vec4 x))\n"
  7363.    "    ()))\n"
  7364.    "(function log\n"
  7365.    "  (signature float\n"
  7366.    "    (parameters\n"
  7367.    "      (declare (in) float x))\n"
  7368.    "    ())\n"
  7369.    "  (signature vec2\n"
  7370.    "    (parameters\n"
  7371.    "      (declare (in) vec2 x))\n"
  7372.    "    ())\n"
  7373.    "  (signature vec3\n"
  7374.    "    (parameters\n"
  7375.    "      (declare (in) vec3 x))\n"
  7376.    "    ())\n"
  7377.    "  (signature vec4\n"
  7378.    "    (parameters\n"
  7379.    "      (declare (in) vec4 x))\n"
  7380.    "    ()))\n"
  7381.    "(function exp2\n"
  7382.    "  (signature float\n"
  7383.    "    (parameters\n"
  7384.    "      (declare (in) float x))\n"
  7385.    "    ())\n"
  7386.    "  (signature vec2\n"
  7387.    "    (parameters\n"
  7388.    "      (declare (in) vec2 x))\n"
  7389.    "    ())\n"
  7390.    "  (signature vec3\n"
  7391.    "    (parameters\n"
  7392.    "      (declare (in) vec3 x))\n"
  7393.    "    ())\n"
  7394.    "  (signature vec4\n"
  7395.    "    (parameters\n"
  7396.    "      (declare (in) vec4 x))\n"
  7397.    "    ()))\n"
  7398.    "(function log2\n"
  7399.    "  (signature float\n"
  7400.    "    (parameters\n"
  7401.    "      (declare (in) float x))\n"
  7402.    "    ())\n"
  7403.    "  (signature vec2\n"
  7404.    "    (parameters\n"
  7405.    "      (declare (in) vec2 x))\n"
  7406.    "    ())\n"
  7407.    "  (signature vec3\n"
  7408.    "    (parameters\n"
  7409.    "      (declare (in) vec3 x))\n"
  7410.    "    ())\n"
  7411.    "  (signature vec4\n"
  7412.    "    (parameters\n"
  7413.    "      (declare (in) vec4 x))\n"
  7414.    "    ()))\n"
  7415.    "(function sqrt\n"
  7416.    "  (signature float\n"
  7417.    "    (parameters\n"
  7418.    "      (declare (in) float x))\n"
  7419.    "    ())\n"
  7420.    "  (signature vec2\n"
  7421.    "    (parameters\n"
  7422.    "      (declare (in) vec2 x))\n"
  7423.    "    ())\n"
  7424.    "  (signature vec3\n"
  7425.    "    (parameters\n"
  7426.    "      (declare (in) vec3 x))\n"
  7427.    "    ())\n"
  7428.    "  (signature vec4\n"
  7429.    "    (parameters\n"
  7430.    "      (declare (in) vec4 x))\n"
  7431.    "    ()))\n"
  7432.    "(function inversesqrt\n"
  7433.    "  (signature float\n"
  7434.    "    (parameters\n"
  7435.    "      (declare (in) float x))\n"
  7436.    "    ())\n"
  7437.    "  (signature vec2\n"
  7438.    "    (parameters\n"
  7439.    "      (declare (in) vec2 x))\n"
  7440.    "    ())\n"
  7441.    "  (signature vec3\n"
  7442.    "    (parameters\n"
  7443.    "      (declare (in) vec3 x))\n"
  7444.    "    ())\n"
  7445.    "  (signature vec4\n"
  7446.    "    (parameters\n"
  7447.    "      (declare (in) vec4 x))\n"
  7448.    "    ()))\n"
  7449.    "(function abs\n"
  7450.    "  (signature float\n"
  7451.    "    (parameters\n"
  7452.    "      (declare (in) float x))\n"
  7453.    "    ())\n"
  7454.    "  (signature vec2\n"
  7455.    "    (parameters\n"
  7456.    "      (declare (in) vec2 x))\n"
  7457.    "    ())\n"
  7458.    "  (signature vec3\n"
  7459.    "    (parameters\n"
  7460.    "      (declare (in) vec3 x))\n"
  7461.    "    ())\n"
  7462.    "  (signature vec4\n"
  7463.    "    (parameters\n"
  7464.    "      (declare (in) vec4 x))\n"
  7465.    "    ()))\n"
  7466.    "(function sign\n"
  7467.    "  (signature float\n"
  7468.    "    (parameters\n"
  7469.    "      (declare (in) float x))\n"
  7470.    "    ())\n"
  7471.    "  (signature vec2\n"
  7472.    "    (parameters\n"
  7473.    "      (declare (in) vec2 x))\n"
  7474.    "    ())\n"
  7475.    "  (signature vec3\n"
  7476.    "    (parameters\n"
  7477.    "      (declare (in) vec3 x))\n"
  7478.    "    ())\n"
  7479.    "  (signature vec4\n"
  7480.    "    (parameters\n"
  7481.    "      (declare (in) vec4 x))\n"
  7482.    "    ()))\n"
  7483.    "(function floor\n"
  7484.    "  (signature float\n"
  7485.    "    (parameters\n"
  7486.    "      (declare (in) float x))\n"
  7487.    "    ())\n"
  7488.    "  (signature vec2\n"
  7489.    "    (parameters\n"
  7490.    "      (declare (in) vec2 x))\n"
  7491.    "    ())\n"
  7492.    "  (signature vec3\n"
  7493.    "    (parameters\n"
  7494.    "      (declare (in) vec3 x))\n"
  7495.    "    ())\n"
  7496.    "  (signature vec4\n"
  7497.    "    (parameters\n"
  7498.    "      (declare (in) vec4 x))\n"
  7499.    "    ()))\n"
  7500.    "(function ceil\n"
  7501.    "  (signature float\n"
  7502.    "    (parameters\n"
  7503.    "      (declare (in) float x))\n"
  7504.    "    ())\n"
  7505.    "  (signature vec2\n"
  7506.    "    (parameters\n"
  7507.    "      (declare (in) vec2 x))\n"
  7508.    "    ())\n"
  7509.    "  (signature vec3\n"
  7510.    "    (parameters\n"
  7511.    "      (declare (in) vec3 x))\n"
  7512.    "    ())\n"
  7513.    "  (signature vec4\n"
  7514.    "    (parameters\n"
  7515.    "      (declare (in) vec4 x))\n"
  7516.    "    ()))\n"
  7517.    "(function fract\n"
  7518.    "  (signature float\n"
  7519.    "    (parameters\n"
  7520.    "      (declare (in) float x))\n"
  7521.    "    ())\n"
  7522.    "  (signature vec2\n"
  7523.    "    (parameters\n"
  7524.    "      (declare (in) vec2 x))\n"
  7525.    "    ())\n"
  7526.    "  (signature vec3\n"
  7527.    "    (parameters\n"
  7528.    "      (declare (in) vec3 x))\n"
  7529.    "    ())\n"
  7530.    "  (signature vec4\n"
  7531.    "    (parameters\n"
  7532.    "      (declare (in) vec4 x))\n"
  7533.    "    ()))\n"
  7534.    "(function mod\n"
  7535.    "  (signature float\n"
  7536.    "    (parameters\n"
  7537.    "      (declare (in) float x)\n"
  7538.    "      (declare (in) float y))\n"
  7539.    "    ())\n"
  7540.    "  (signature vec2\n"
  7541.    "    (parameters\n"
  7542.    "      (declare (in) vec2 x)\n"
  7543.    "      (declare (in) float y))\n"
  7544.    "    ())\n"
  7545.    "  (signature vec3\n"
  7546.    "    (parameters\n"
  7547.    "      (declare (in) vec3 x)\n"
  7548.    "      (declare (in) float y))\n"
  7549.    "    ())\n"
  7550.    "  (signature vec4\n"
  7551.    "    (parameters\n"
  7552.    "      (declare (in) vec4 x)\n"
  7553.    "      (declare (in) float y))\n"
  7554.    "    ())\n"
  7555.    "  (signature vec2\n"
  7556.    "    (parameters\n"
  7557.    "      (declare (in) vec2 x)\n"
  7558.    "      (declare (in) vec2 y))\n"
  7559.    "    ())\n"
  7560.    "  (signature vec3\n"
  7561.    "    (parameters\n"
  7562.    "      (declare (in) vec3 x)\n"
  7563.    "      (declare (in) vec3 y))\n"
  7564.    "    ())\n"
  7565.    "  (signature vec4\n"
  7566.    "    (parameters\n"
  7567.    "      (declare (in) vec4 x)\n"
  7568.    "      (declare (in) vec4 y))\n"
  7569.    "    ()))\n"
  7570.    "(function min\n"
  7571.    "  (signature float\n"
  7572.    "    (parameters\n"
  7573.    "      (declare (in) float x)\n"
  7574.    "      (declare (in) float y))\n"
  7575.    "    ())\n"
  7576.    "  (signature vec2\n"
  7577.    "    (parameters\n"
  7578.    "      (declare (in) vec2 x)\n"
  7579.    "      (declare (in) vec2 y))\n"
  7580.    "    ())\n"
  7581.    "  (signature vec3\n"
  7582.    "    (parameters\n"
  7583.    "      (declare (in) vec3 x)\n"
  7584.    "      (declare (in) vec3 y))\n"
  7585.    "    ())\n"
  7586.    "  (signature vec4\n"
  7587.    "    (parameters\n"
  7588.    "      (declare (in) vec4 x)\n"
  7589.    "      (declare (in) vec4 y))\n"
  7590.    "    ())\n"
  7591.    "  (signature vec2\n"
  7592.    "    (parameters\n"
  7593.    "      (declare (in) vec2 x)\n"
  7594.    "      (declare (in) float y))\n"
  7595.    "    ())\n"
  7596.    "  (signature vec3\n"
  7597.    "    (parameters\n"
  7598.    "      (declare (in) vec3 x)\n"
  7599.    "      (declare (in) float y))\n"
  7600.    "    ())\n"
  7601.    "  (signature vec4\n"
  7602.    "    (parameters\n"
  7603.    "      (declare (in) vec4 x)\n"
  7604.    "      (declare (in) float y))\n"
  7605.    "    ()))\n"
  7606.    "(function max\n"
  7607.    "  (signature float\n"
  7608.    "    (parameters\n"
  7609.    "      (declare (in) float x)\n"
  7610.    "      (declare (in) float y))\n"
  7611.    "    ())\n"
  7612.    "  (signature vec2\n"
  7613.    "    (parameters\n"
  7614.    "      (declare (in) vec2 x)\n"
  7615.    "      (declare (in) vec2 y))\n"
  7616.    "    ())\n"
  7617.    "  (signature vec3\n"
  7618.    "    (parameters\n"
  7619.    "      (declare (in) vec3 x)\n"
  7620.    "      (declare (in) vec3 y))\n"
  7621.    "    ())\n"
  7622.    "  (signature vec4\n"
  7623.    "    (parameters\n"
  7624.    "      (declare (in) vec4 x)\n"
  7625.    "      (declare (in) vec4 y))\n"
  7626.    "    ())\n"
  7627.    "  (signature vec2\n"
  7628.    "    (parameters\n"
  7629.    "      (declare (in) vec2 x)\n"
  7630.    "      (declare (in) float y))\n"
  7631.    "    ())\n"
  7632.    "  (signature vec3\n"
  7633.    "    (parameters\n"
  7634.    "      (declare (in) vec3 x)\n"
  7635.    "      (declare (in) float y))\n"
  7636.    "    ())\n"
  7637.    "  (signature vec4\n"
  7638.    "    (parameters\n"
  7639.    "      (declare (in) vec4 x)\n"
  7640.    "      (declare (in) float y))\n"
  7641.    "    ()))\n"
  7642.    "(function clamp\n"
  7643.    "  (signature float\n"
  7644.    "    (parameters\n"
  7645.    "      (declare (in) float x)\n"
  7646.    "      (declare (in) float minVal)\n"
  7647.    "      (declare (in) float maxVal))\n"
  7648.    "    ())\n"
  7649.    "  (signature vec2\n"
  7650.    "    (parameters\n"
  7651.    "      (declare (in) vec2 x)\n"
  7652.    "      (declare (in) vec2 minVal)\n"
  7653.    "      (declare (in) vec2 maxVal))\n"
  7654.    "    ())\n"
  7655.    "  (signature vec3\n"
  7656.    "    (parameters\n"
  7657.    "      (declare (in) vec3 x)\n"
  7658.    "      (declare (in) vec3 minVal)\n"
  7659.    "      (declare (in) vec3 maxVal))\n"
  7660.    "    ())\n"
  7661.    "  (signature vec4\n"
  7662.    "    (parameters\n"
  7663.    "      (declare (in) vec4 x)\n"
  7664.    "      (declare (in) vec4 minVal)\n"
  7665.    "      (declare (in) vec4 maxVal))\n"
  7666.    "    ())\n"
  7667.    "  (signature vec2\n"
  7668.    "    (parameters\n"
  7669.    "      (declare (in) vec2 x)\n"
  7670.    "      (declare (in) float minVal)\n"
  7671.    "      (declare (in) float maxVal))\n"
  7672.    "    ())\n"
  7673.    "  (signature vec3\n"
  7674.    "    (parameters\n"
  7675.    "      (declare (in) vec3 x)\n"
  7676.    "      (declare (in) float minVal)\n"
  7677.    "      (declare (in) float maxVal))\n"
  7678.    "    ())\n"
  7679.    "  (signature vec4\n"
  7680.    "    (parameters\n"
  7681.    "      (declare (in) vec4 x)\n"
  7682.    "      (declare (in) float minVal)\n"
  7683.    "      (declare (in) float maxVal))\n"
  7684.    "    ()))\n"
  7685.    "(function mix\n"
  7686.    "  (signature float\n"
  7687.    "    (parameters\n"
  7688.    "      (declare (in) float x)\n"
  7689.    "      (declare (in) float y)\n"
  7690.    "      (declare (in) float a))\n"
  7691.    "    ())\n"
  7692.    "  (signature vec2\n"
  7693.    "    (parameters\n"
  7694.    "      (declare (in) vec2 x)\n"
  7695.    "      (declare (in) vec2 y)\n"
  7696.    "      (declare (in) vec2 a))\n"
  7697.    "    ())\n"
  7698.    "  (signature vec3\n"
  7699.    "    (parameters\n"
  7700.    "      (declare (in) vec3 x)\n"
  7701.    "      (declare (in) vec3 y)\n"
  7702.    "      (declare (in) vec3 a))\n"
  7703.    "    ())\n"
  7704.    "  (signature vec4\n"
  7705.    "    (parameters\n"
  7706.    "      (declare (in) vec4 x)\n"
  7707.    "      (declare (in) vec4 y)\n"
  7708.    "      (declare (in) vec4 a))\n"
  7709.    "    ())\n"
  7710.    "  (signature vec2\n"
  7711.    "    (parameters\n"
  7712.    "      (declare (in) vec2 x)\n"
  7713.    "      (declare (in) vec2 y)\n"
  7714.    "      (declare (in) float a))\n"
  7715.    "    ())\n"
  7716.    "  (signature vec3\n"
  7717.    "    (parameters\n"
  7718.    "      (declare (in) vec3 x)\n"
  7719.    "      (declare (in) vec3 y)\n"
  7720.    "      (declare (in) float a))\n"
  7721.    "    ())\n"
  7722.    "  (signature vec4\n"
  7723.    "    (parameters\n"
  7724.    "      (declare (in) vec4 x)\n"
  7725.    "      (declare (in) vec4 y)\n"
  7726.    "      (declare (in) float a))\n"
  7727.    "    ()))\n"
  7728.    "(function step\n"
  7729.    "  (signature float\n"
  7730.    "    (parameters\n"
  7731.    "      (declare (in) float edge)\n"
  7732.    "      (declare (in) float x))\n"
  7733.    "    ())\n"
  7734.    "  (signature vec2\n"
  7735.    "    (parameters\n"
  7736.    "      (declare (in) vec2 edge)\n"
  7737.    "      (declare (in) vec2 x))\n"
  7738.    "    ())\n"
  7739.    "  (signature vec3\n"
  7740.    "    (parameters\n"
  7741.    "      (declare (in) vec3 edge)\n"
  7742.    "      (declare (in) vec3 x))\n"
  7743.    "    ())\n"
  7744.    "  (signature vec4\n"
  7745.    "    (parameters\n"
  7746.    "      (declare (in) vec4 edge)\n"
  7747.    "      (declare (in) vec4 x))\n"
  7748.    "    ())\n"
  7749.    "  (signature vec2\n"
  7750.    "    (parameters\n"
  7751.    "      (declare (in) float edge)\n"
  7752.    "      (declare (in) vec2 x))\n"
  7753.    "    ())\n"
  7754.    "  (signature vec3\n"
  7755.    "    (parameters\n"
  7756.    "      (declare (in) float edge)\n"
  7757.    "      (declare (in) vec3 x))\n"
  7758.    "    ())\n"
  7759.    "  (signature vec4\n"
  7760.    "    (parameters\n"
  7761.    "      (declare (in) float edge)\n"
  7762.    "      (declare (in) vec4 x))\n"
  7763.    "    ()))\n"
  7764.    "(function smoothstep\n"
  7765.    "  (signature float\n"
  7766.    "    (parameters\n"
  7767.    "      (declare (in) float edge0)\n"
  7768.    "      (declare (in) float edge1)\n"
  7769.    "      (declare (in) float x))\n"
  7770.    "    ())\n"
  7771.    "  (signature vec2\n"
  7772.    "    (parameters\n"
  7773.    "      (declare (in) vec2 edge0)\n"
  7774.    "      (declare (in) vec2 edge1)\n"
  7775.    "      (declare (in) vec2 x))\n"
  7776.    "    ())\n"
  7777.    "  (signature vec3\n"
  7778.    "    (parameters\n"
  7779.    "      (declare (in) vec3 edge0)\n"
  7780.    "      (declare (in) vec3 edge1)\n"
  7781.    "      (declare (in) vec3 x))\n"
  7782.    "    ())\n"
  7783.    "  (signature vec4\n"
  7784.    "    (parameters\n"
  7785.    "      (declare (in) vec4 edge0)\n"
  7786.    "      (declare (in) vec4 edge1)\n"
  7787.    "      (declare (in) vec4 x))\n"
  7788.    "    ())\n"
  7789.    "  (signature vec2\n"
  7790.    "    (parameters\n"
  7791.    "      (declare (in) float edge0)\n"
  7792.    "      (declare (in) float edge1)\n"
  7793.    "      (declare (in) vec2 x))\n"
  7794.    "    ())\n"
  7795.    "  (signature vec3\n"
  7796.    "    (parameters\n"
  7797.    "      (declare (in) float edge0)\n"
  7798.    "      (declare (in) float edge1)\n"
  7799.    "      (declare (in) vec3 x))\n"
  7800.    "    ())\n"
  7801.    "  (signature vec4\n"
  7802.    "    (parameters\n"
  7803.    "      (declare (in) float edge0)\n"
  7804.    "      (declare (in) float edge1)\n"
  7805.    "      (declare (in) vec4 x))\n"
  7806.    "    ()))\n"
  7807.    "(function length\n"
  7808.    "  (signature float\n"
  7809.    "    (parameters\n"
  7810.    "      (declare (in) float x))\n"
  7811.    "    ())\n"
  7812.    "  (signature float\n"
  7813.    "    (parameters\n"
  7814.    "      (declare (in) vec2 x))\n"
  7815.    "    ())\n"
  7816.    "  (signature float\n"
  7817.    "    (parameters\n"
  7818.    "      (declare (in) vec3 x))\n"
  7819.    "    ())\n"
  7820.    "  (signature float\n"
  7821.    "    (parameters\n"
  7822.    "      (declare (in) vec4 x))\n"
  7823.    "    ()))\n"
  7824.    "(function distance\n"
  7825.    "  (signature float\n"
  7826.    "    (parameters\n"
  7827.    "      (declare (in) float p0)\n"
  7828.    "      (declare (in) float p1))\n"
  7829.    "    ())\n"
  7830.    "  (signature float\n"
  7831.    "    (parameters\n"
  7832.    "      (declare (in) vec2 p0)\n"
  7833.    "      (declare (in) vec2 p1))\n"
  7834.    "    ())\n"
  7835.    "  (signature float\n"
  7836.    "    (parameters\n"
  7837.    "      (declare (in) vec3 p0)\n"
  7838.    "      (declare (in) vec3 p1))\n"
  7839.    "    ())\n"
  7840.    "  (signature float\n"
  7841.    "    (parameters\n"
  7842.    "      (declare (in) vec4 p0)\n"
  7843.    "      (declare (in) vec4 p1))\n"
  7844.    "    ()))\n"
  7845.    "(function dot\n"
  7846.    "  (signature float\n"
  7847.    "    (parameters\n"
  7848.    "      (declare (in) float x)\n"
  7849.    "      (declare (in) float y))\n"
  7850.    "    ())\n"
  7851.    "  (signature float\n"
  7852.    "    (parameters\n"
  7853.    "      (declare (in) vec2 x)\n"
  7854.    "      (declare (in) vec2 y))\n"
  7855.    "    ())\n"
  7856.    "  (signature float\n"
  7857.    "    (parameters\n"
  7858.    "      (declare (in) vec3 x)\n"
  7859.    "      (declare (in) vec3 y))\n"
  7860.    "    ())\n"
  7861.    "  (signature float\n"
  7862.    "    (parameters\n"
  7863.    "      (declare (in) vec4 x)\n"
  7864.    "      (declare (in) vec4 y))\n"
  7865.    "    ()))\n"
  7866.    "(function cross\n"
  7867.    "  (signature vec3\n"
  7868.    "    (parameters\n"
  7869.    "      (declare (in) vec3 x)\n"
  7870.    "      (declare (in) vec3 y))\n"
  7871.    "    ()))\n"
  7872.    "(function normalize\n"
  7873.    "  (signature float\n"
  7874.    "    (parameters\n"
  7875.    "      (declare (in) float x))\n"
  7876.    "    ())\n"
  7877.    "  (signature vec2\n"
  7878.    "    (parameters\n"
  7879.    "      (declare (in) vec2 x))\n"
  7880.    "    ())\n"
  7881.    "  (signature vec3\n"
  7882.    "    (parameters\n"
  7883.    "      (declare (in) vec3 x))\n"
  7884.    "    ())\n"
  7885.    "  (signature vec4\n"
  7886.    "    (parameters\n"
  7887.    "      (declare (in) vec4 x))\n"
  7888.    "    ()))\n"
  7889.    "(function faceforward\n"
  7890.    "  (signature float\n"
  7891.    "    (parameters\n"
  7892.    "      (declare (in) float N)\n"
  7893.    "      (declare (in) float I)\n"
  7894.    "      (declare (in) float Nref))\n"
  7895.    "    ())\n"
  7896.    "  (signature vec2\n"
  7897.    "    (parameters\n"
  7898.    "      (declare (in) vec2 N)\n"
  7899.    "      (declare (in) vec2 I)\n"
  7900.    "      (declare (in) vec2 Nref))\n"
  7901.    "    ())\n"
  7902.    "  (signature vec3\n"
  7903.    "    (parameters\n"
  7904.    "      (declare (in) vec3 N)\n"
  7905.    "      (declare (in) vec3 I)\n"
  7906.    "      (declare (in) vec3 Nref))\n"
  7907.    "    ())\n"
  7908.    "  (signature vec4\n"
  7909.    "    (parameters\n"
  7910.    "      (declare (in) vec4 N)\n"
  7911.    "      (declare (in) vec4 I)\n"
  7912.    "      (declare (in) vec4 Nref))\n"
  7913.    "    ()))\n"
  7914.    "(function reflect\n"
  7915.    "  (signature float\n"
  7916.    "    (parameters\n"
  7917.    "      (declare (in) float I)\n"
  7918.    "      (declare (in) float N))\n"
  7919.    "    ())\n"
  7920.    "  (signature vec2\n"
  7921.    "    (parameters\n"
  7922.    "      (declare (in) vec2 I)\n"
  7923.    "      (declare (in) vec2 N))\n"
  7924.    "    ())\n"
  7925.    "  (signature vec3\n"
  7926.    "    (parameters\n"
  7927.    "      (declare (in) vec3 I)\n"
  7928.    "      (declare (in) vec3 N))\n"
  7929.    "    ())\n"
  7930.    "  (signature vec4\n"
  7931.    "    (parameters\n"
  7932.    "      (declare (in) vec4 I)\n"
  7933.    "      (declare (in) vec4 N))\n"
  7934.    "    ()))\n"
  7935.    "(function refract\n"
  7936.    "  (signature float\n"
  7937.    "    (parameters\n"
  7938.    "      (declare (in) float I)\n"
  7939.    "      (declare (in) float N)\n"
  7940.    "      (declare (in) float eta))\n"
  7941.    "    ())\n"
  7942.    "  (signature vec2\n"
  7943.    "    (parameters\n"
  7944.    "      (declare (in) vec2 I)\n"
  7945.    "      (declare (in) vec2 N)\n"
  7946.    "      (declare (in) float eta))\n"
  7947.    "    ())\n"
  7948.    "  (signature vec3\n"
  7949.    "    (parameters\n"
  7950.    "      (declare (in) vec3 I)\n"
  7951.    "      (declare (in) vec3 N)\n"
  7952.    "      (declare (in) float eta))\n"
  7953.    "    ())\n"
  7954.    "  (signature vec4\n"
  7955.    "    (parameters\n"
  7956.    "      (declare (in) vec4 I)\n"
  7957.    "      (declare (in) vec4 N)\n"
  7958.    "      (declare (in) float eta))\n"
  7959.    "    ()))\n"
  7960.    "(function matrixCompMult\n"
  7961.    "  (signature mat2\n"
  7962.    "    (parameters\n"
  7963.    "      (declare (in) mat2 x)\n"
  7964.    "      (declare (in) mat2 y))\n"
  7965.    "    ())\n"
  7966.    "  (signature mat3\n"
  7967.    "    (parameters\n"
  7968.    "      (declare (in) mat3 x)\n"
  7969.    "      (declare (in) mat3 y))\n"
  7970.    "    ())\n"
  7971.    "  (signature mat4\n"
  7972.    "    (parameters\n"
  7973.    "      (declare (in) mat4 x)\n"
  7974.    "      (declare (in) mat4 y))\n"
  7975.    "    ()))\n"
  7976.    "(function lessThan\n"
  7977.    "  (signature bvec2\n"
  7978.    "    (parameters\n"
  7979.    "      (declare (in) vec2 x)\n"
  7980.    "      (declare (in) vec2 y))\n"
  7981.    "    ())\n"
  7982.    "  (signature bvec3\n"
  7983.    "    (parameters\n"
  7984.    "      (declare (in) vec3 x)\n"
  7985.    "      (declare (in) vec3 y))\n"
  7986.    "    ())\n"
  7987.    "  (signature bvec4\n"
  7988.    "    (parameters\n"
  7989.    "      (declare (in) vec4 x)\n"
  7990.    "      (declare (in) vec4 y))\n"
  7991.    "    ())\n"
  7992.    "  (signature bvec2\n"
  7993.    "    (parameters\n"
  7994.    "      (declare (in) ivec2 x)\n"
  7995.    "      (declare (in) ivec2 y))\n"
  7996.    "    ())\n"
  7997.    "  (signature bvec3\n"
  7998.    "    (parameters\n"
  7999.    "      (declare (in) ivec3 x)\n"
  8000.    "      (declare (in) ivec3 y))\n"
  8001.    "    ())\n"
  8002.    "  (signature bvec4\n"
  8003.    "    (parameters\n"
  8004.    "      (declare (in) ivec4 x)\n"
  8005.    "      (declare (in) ivec4 y))\n"
  8006.    "    ()))\n"
  8007.    "(function lessThanEqual\n"
  8008.    "  (signature bvec2\n"
  8009.    "    (parameters\n"
  8010.    "      (declare (in) vec2 x)\n"
  8011.    "      (declare (in) vec2 y))\n"
  8012.    "    ())\n"
  8013.    "  (signature bvec3\n"
  8014.    "    (parameters\n"
  8015.    "      (declare (in) vec3 x)\n"
  8016.    "      (declare (in) vec3 y))\n"
  8017.    "    ())\n"
  8018.    "  (signature bvec4\n"
  8019.    "    (parameters\n"
  8020.    "      (declare (in) vec4 x)\n"
  8021.    "      (declare (in) vec4 y))\n"
  8022.    "    ())\n"
  8023.    "  (signature bvec2\n"
  8024.    "    (parameters\n"
  8025.    "      (declare (in) ivec2 x)\n"
  8026.    "      (declare (in) ivec2 y))\n"
  8027.    "    ())\n"
  8028.    "  (signature bvec3\n"
  8029.    "    (parameters\n"
  8030.    "      (declare (in) ivec3 x)\n"
  8031.    "      (declare (in) ivec3 y))\n"
  8032.    "    ())\n"
  8033.    "  (signature bvec4\n"
  8034.    "    (parameters\n"
  8035.    "      (declare (in) ivec4 x)\n"
  8036.    "      (declare (in) ivec4 y))\n"
  8037.    "    ()))\n"
  8038.    "(function greaterThan\n"
  8039.    "  (signature bvec2\n"
  8040.    "    (parameters\n"
  8041.    "      (declare (in) vec2 x)\n"
  8042.    "      (declare (in) vec2 y))\n"
  8043.    "    ())\n"
  8044.    "  (signature bvec3\n"
  8045.    "    (parameters\n"
  8046.    "      (declare (in) vec3 x)\n"
  8047.    "      (declare (in) vec3 y))\n"
  8048.    "    ())\n"
  8049.    "  (signature bvec4\n"
  8050.    "    (parameters\n"
  8051.    "      (declare (in) vec4 x)\n"
  8052.    "      (declare (in) vec4 y))\n"
  8053.    "    ())\n"
  8054.    "  (signature bvec2\n"
  8055.    "    (parameters\n"
  8056.    "      (declare (in) ivec2 x)\n"
  8057.    "      (declare (in) ivec2 y))\n"
  8058.    "    ())\n"
  8059.    "  (signature bvec3\n"
  8060.    "    (parameters\n"
  8061.    "      (declare (in) ivec3 x)\n"
  8062.    "      (declare (in) ivec3 y))\n"
  8063.    "    ())\n"
  8064.    "  (signature bvec4\n"
  8065.    "    (parameters\n"
  8066.    "      (declare (in) ivec4 x)\n"
  8067.    "      (declare (in) ivec4 y))\n"
  8068.    "    ()))\n"
  8069.    "(function greaterThanEqual\n"
  8070.    "  (signature bvec2\n"
  8071.    "    (parameters\n"
  8072.    "      (declare (in) vec2 x)\n"
  8073.    "      (declare (in) vec2 y))\n"
  8074.    "    ())\n"
  8075.    "  (signature bvec3\n"
  8076.    "    (parameters\n"
  8077.    "      (declare (in) vec3 x)\n"
  8078.    "      (declare (in) vec3 y))\n"
  8079.    "    ())\n"
  8080.    "  (signature bvec4\n"
  8081.    "    (parameters\n"
  8082.    "      (declare (in) vec4 x)\n"
  8083.    "      (declare (in) vec4 y))\n"
  8084.    "    ())\n"
  8085.    "  (signature bvec2\n"
  8086.    "    (parameters\n"
  8087.    "      (declare (in) ivec2 x)\n"
  8088.    "      (declare (in) ivec2 y))\n"
  8089.    "    ())\n"
  8090.    "  (signature bvec3\n"
  8091.    "    (parameters\n"
  8092.    "      (declare (in) ivec3 x)\n"
  8093.    "      (declare (in) ivec3 y))\n"
  8094.    "    ())\n"
  8095.    "  (signature bvec4\n"
  8096.    "    (parameters\n"
  8097.    "      (declare (in) ivec4 x)\n"
  8098.    "      (declare (in) ivec4 y))\n"
  8099.    "    ()))\n"
  8100.    "(function equal\n"
  8101.    "  (signature bvec2\n"
  8102.    "    (parameters\n"
  8103.    "      (declare (in) vec2 x)\n"
  8104.    "      (declare (in) vec2 y))\n"
  8105.    "    ())\n"
  8106.    "  (signature bvec3\n"
  8107.    "    (parameters\n"
  8108.    "      (declare (in) vec3 x)\n"
  8109.    "      (declare (in) vec3 y))\n"
  8110.    "    ())\n"
  8111.    "  (signature bvec4\n"
  8112.    "    (parameters\n"
  8113.    "      (declare (in) vec4 x)\n"
  8114.    "      (declare (in) vec4 y))\n"
  8115.    "    ())\n"
  8116.    "  (signature bvec2\n"
  8117.    "    (parameters\n"
  8118.    "      (declare (in) ivec2 x)\n"
  8119.    "      (declare (in) ivec2 y))\n"
  8120.    "    ())\n"
  8121.    "  (signature bvec3\n"
  8122.    "    (parameters\n"
  8123.    "      (declare (in) ivec3 x)\n"
  8124.    "      (declare (in) ivec3 y))\n"
  8125.    "    ())\n"
  8126.    "  (signature bvec4\n"
  8127.    "    (parameters\n"
  8128.    "      (declare (in) ivec4 x)\n"
  8129.    "      (declare (in) ivec4 y))\n"
  8130.    "    ())\n"
  8131.    "  (signature bvec2\n"
  8132.    "    (parameters\n"
  8133.    "      (declare (in) bvec2 x)\n"
  8134.    "      (declare (in) bvec2 y))\n"
  8135.    "    ())\n"
  8136.    "  (signature bvec3\n"
  8137.    "    (parameters\n"
  8138.    "      (declare (in) bvec3 x)\n"
  8139.    "      (declare (in) bvec3 y))\n"
  8140.    "    ())\n"
  8141.    "  (signature bvec4\n"
  8142.    "    (parameters\n"
  8143.    "      (declare (in) bvec4 x)\n"
  8144.    "      (declare (in) bvec4 y))\n"
  8145.    "    ()))\n"
  8146.    "(function notEqual\n"
  8147.    "  (signature bvec2\n"
  8148.    "    (parameters\n"
  8149.    "      (declare (in) vec2 x)\n"
  8150.    "      (declare (in) vec2 y))\n"
  8151.    "    ())\n"
  8152.    "  (signature bvec3\n"
  8153.    "    (parameters\n"
  8154.    "      (declare (in) vec3 x)\n"
  8155.    "      (declare (in) vec3 y))\n"
  8156.    "    ())\n"
  8157.    "  (signature bvec4\n"
  8158.    "    (parameters\n"
  8159.    "      (declare (in) vec4 x)\n"
  8160.    "      (declare (in) vec4 y))\n"
  8161.    "    ())\n"
  8162.    "  (signature bvec2\n"
  8163.    "    (parameters\n"
  8164.    "      (declare (in) ivec2 x)\n"
  8165.    "      (declare (in) ivec2 y))\n"
  8166.    "    ())\n"
  8167.    "  (signature bvec3\n"
  8168.    "    (parameters\n"
  8169.    "      (declare (in) ivec3 x)\n"
  8170.    "      (declare (in) ivec3 y))\n"
  8171.    "    ())\n"
  8172.    "  (signature bvec4\n"
  8173.    "    (parameters\n"
  8174.    "      (declare (in) ivec4 x)\n"
  8175.    "      (declare (in) ivec4 y))\n"
  8176.    "    ())\n"
  8177.    "  (signature bvec2\n"
  8178.    "    (parameters\n"
  8179.    "      (declare (in) bvec2 x)\n"
  8180.    "      (declare (in) bvec2 y))\n"
  8181.    "    ())\n"
  8182.    "  (signature bvec3\n"
  8183.    "    (parameters\n"
  8184.    "      (declare (in) bvec3 x)\n"
  8185.    "      (declare (in) bvec3 y))\n"
  8186.    "    ())\n"
  8187.    "  (signature bvec4\n"
  8188.    "    (parameters\n"
  8189.    "      (declare (in) bvec4 x)\n"
  8190.    "      (declare (in) bvec4 y))\n"
  8191.    "    ()))\n"
  8192.    "(function any\n"
  8193.    "  (signature bool\n"
  8194.    "    (parameters\n"
  8195.    "      (declare (in) bvec2 x))\n"
  8196.    "    ())\n"
  8197.    "  (signature bool\n"
  8198.    "    (parameters\n"
  8199.    "      (declare (in) bvec3 x))\n"
  8200.    "    ())\n"
  8201.    "  (signature bool\n"
  8202.    "    (parameters\n"
  8203.    "      (declare (in) bvec4 x))\n"
  8204.    "    ()))\n"
  8205.    "(function all\n"
  8206.    "  (signature bool\n"
  8207.    "    (parameters\n"
  8208.    "      (declare (in) bvec2 x))\n"
  8209.    "    ())\n"
  8210.    "  (signature bool\n"
  8211.    "    (parameters\n"
  8212.    "      (declare (in) bvec3 x))\n"
  8213.    "    ())\n"
  8214.    "  (signature bool\n"
  8215.    "    (parameters\n"
  8216.    "      (declare (in) bvec4 x))\n"
  8217.    "    ()))\n"
  8218.    "(function not\n"
  8219.    "  (signature bvec2\n"
  8220.    "    (parameters\n"
  8221.    "      (declare (in) bvec2 x))\n"
  8222.    "    ())\n"
  8223.    "  (signature bvec3\n"
  8224.    "    (parameters\n"
  8225.    "      (declare (in) bvec3 x))\n"
  8226.    "    ())\n"
  8227.    "  (signature bvec4\n"
  8228.    "    (parameters\n"
  8229.    "      (declare (in) bvec4 x))\n"
  8230.    "    ()))\n"
  8231.    "(function texture1D\n"
  8232.    "  (signature vec4\n"
  8233.    "    (parameters\n"
  8234.    "      (declare (in) sampler1D sampler)\n"
  8235.    "      (declare (in) float coord))\n"
  8236.    "    ())\n"
  8237.    "  (signature vec4\n"
  8238.    "    (parameters\n"
  8239.    "      (declare (in) sampler1D sampler)\n"
  8240.    "      (declare (in) float coord)\n"
  8241.    "      (declare (in) float bias))\n"
  8242.    "    ()))\n"
  8243.    "(function texture1DProj\n"
  8244.    "  (signature vec4\n"
  8245.    "    (parameters\n"
  8246.    "      (declare (in) sampler1D sampler)\n"
  8247.    "      (declare (in) vec2 coord))\n"
  8248.    "    ())\n"
  8249.    "  (signature vec4\n"
  8250.    "    (parameters\n"
  8251.    "      (declare (in) sampler1D sampler)\n"
  8252.    "      (declare (in) vec4 coord))\n"
  8253.    "    ())\n"
  8254.    "  (signature vec4\n"
  8255.    "    (parameters\n"
  8256.    "      (declare (in) sampler1D sampler)\n"
  8257.    "      (declare (in) vec2 coord)\n"
  8258.    "      (declare (in) float bias))\n"
  8259.    "    ())\n"
  8260.    "  (signature vec4\n"
  8261.    "    (parameters\n"
  8262.    "      (declare (in) sampler1D sampler)\n"
  8263.    "      (declare (in) vec4 coord)\n"
  8264.    "      (declare (in) float bias))\n"
  8265.    "    ()))\n"
  8266.    "(function texture2D\n"
  8267.    "  (signature vec4\n"
  8268.    "    (parameters\n"
  8269.    "      (declare (in) sampler2D sampler)\n"
  8270.    "      (declare (in) vec2 coord))\n"
  8271.    "    ())\n"
  8272.    "  (signature vec4\n"
  8273.    "    (parameters\n"
  8274.    "      (declare (in) sampler2D sampler)\n"
  8275.    "      (declare (in) vec2 coord)\n"
  8276.    "      (declare (in) float bias))\n"
  8277.    "    ()))\n"
  8278.    "(function texture2DProj\n"
  8279.    "  (signature vec4\n"
  8280.    "    (parameters\n"
  8281.    "      (declare (in) sampler2D sampler)\n"
  8282.    "      (declare (in) vec3 coord))\n"
  8283.    "    ())\n"
  8284.    "  (signature vec4\n"
  8285.    "    (parameters\n"
  8286.    "      (declare (in) sampler2D sampler)\n"
  8287.    "      (declare (in) vec4 coord))\n"
  8288.    "    ())\n"
  8289.    "  (signature vec4\n"
  8290.    "    (parameters\n"
  8291.    "      (declare (in) sampler2D sampler)\n"
  8292.    "      (declare (in) vec3 coord)\n"
  8293.    "      (declare (in) float bias))\n"
  8294.    "    ())\n"
  8295.    "  (signature vec4\n"
  8296.    "    (parameters\n"
  8297.    "      (declare (in) sampler2D sampler)\n"
  8298.    "      (declare (in) vec4 coord)\n"
  8299.    "      (declare (in) float bias))\n"
  8300.    "    ()))\n"
  8301.    "(function texture3D\n"
  8302.    "  (signature vec4\n"
  8303.    "    (parameters\n"
  8304.    "      (declare (in) sampler3D sampler)\n"
  8305.    "      (declare (in) vec3 coord))\n"
  8306.    "    ())\n"
  8307.    "  (signature vec4\n"
  8308.    "    (parameters\n"
  8309.    "      (declare (in) sampler3D sampler)\n"
  8310.    "      (declare (in) vec3 coord)\n"
  8311.    "      (declare (in) float bias))\n"
  8312.    "    ()))\n"
  8313.    "(function texture3DProj\n"
  8314.    "  (signature vec4\n"
  8315.    "    (parameters\n"
  8316.    "      (declare (in) sampler3D sampler)\n"
  8317.    "      (declare (in) vec4 coord))\n"
  8318.    "    ())\n"
  8319.    "  (signature vec4\n"
  8320.    "    (parameters\n"
  8321.    "      (declare (in) sampler3D sampler)\n"
  8322.    "      (declare (in) vec4 coord)\n"
  8323.    "      (declare (in) float bias))\n"
  8324.    "    ()))\n"
  8325.    "(function textureCube\n"
  8326.    "  (signature vec4\n"
  8327.    "    (parameters\n"
  8328.    "      (declare (in) samplerCube sampler)\n"
  8329.    "      (declare (in) vec3 coord))\n"
  8330.    "    ())\n"
  8331.    "  (signature vec4\n"
  8332.    "    (parameters\n"
  8333.    "      (declare (in) samplerCube sampler)\n"
  8334.    "      (declare (in) vec3 coord)\n"
  8335.    "      (declare (in) float bias))\n"
  8336.    "    ()))\n"
  8337.    "(function shadow1D\n"
  8338.    "  (signature vec4\n"
  8339.    "    (parameters\n"
  8340.    "      (declare (in) sampler1DShadow sampler)\n"
  8341.    "      (declare (in) vec3 coord))\n"
  8342.    "    ())\n"
  8343.    "  (signature vec4\n"
  8344.    "    (parameters\n"
  8345.    "      (declare (in) sampler1DShadow sampler)\n"
  8346.    "      (declare (in) vec3 coord)\n"
  8347.    "      (declare (in) float bias))\n"
  8348.    "    ()))\n"
  8349.    "(function shadow2D\n"
  8350.    "  (signature vec4\n"
  8351.    "    (parameters\n"
  8352.    "      (declare (in) sampler2DShadow sampler)\n"
  8353.    "      (declare (in) vec3 coord))\n"
  8354.    "    ())\n"
  8355.    "  (signature vec4\n"
  8356.    "    (parameters\n"
  8357.    "      (declare (in) sampler2DShadow sampler)\n"
  8358.    "      (declare (in) vec3 coord)\n"
  8359.    "      (declare (in) float bias))\n"
  8360.    "    ()))\n"
  8361.    "(function shadow1DProj\n"
  8362.    "  (signature vec4\n"
  8363.    "    (parameters\n"
  8364.    "      (declare (in) sampler1DShadow sampler)\n"
  8365.    "      (declare (in) vec4 coord))\n"
  8366.    "    ())\n"
  8367.    "  (signature vec4\n"
  8368.    "    (parameters\n"
  8369.    "      (declare (in) sampler1DShadow sampler)\n"
  8370.    "      (declare (in) vec4 coord)\n"
  8371.    "      (declare (in) float bias))\n"
  8372.    "    ()))\n"
  8373.    "(function shadow2DProj\n"
  8374.    "  (signature vec4\n"
  8375.    "    (parameters\n"
  8376.    "      (declare (in) sampler2DShadow sampler)\n"
  8377.    "      (declare (in) vec4 coord))\n"
  8378.    "    ())\n"
  8379.    "  (signature vec4\n"
  8380.    "    (parameters\n"
  8381.    "      (declare (in) sampler2DShadow sampler)\n"
  8382.    "      (declare (in) vec4 coord)\n"
  8383.    "      (declare (in) float bias))\n"
  8384.    "    ()))\n"
  8385.    "(function dFdx\n"
  8386.    "  (signature float\n"
  8387.    "    (parameters\n"
  8388.    "      (declare (in) float p))\n"
  8389.    "    ())\n"
  8390.    "  (signature vec2\n"
  8391.    "    (parameters\n"
  8392.    "      (declare (in) vec2 p))\n"
  8393.    "    ())\n"
  8394.    "  (signature vec3\n"
  8395.    "    (parameters\n"
  8396.    "      (declare (in) vec3 p))\n"
  8397.    "    ())\n"
  8398.    "  (signature vec4\n"
  8399.    "    (parameters\n"
  8400.    "      (declare (in) vec4 p))\n"
  8401.    "    ()))\n"
  8402.    "(function dFdy\n"
  8403.    "  (signature float\n"
  8404.    "    (parameters\n"
  8405.    "      (declare (in) float p))\n"
  8406.    "    ())\n"
  8407.    "  (signature vec2\n"
  8408.    "    (parameters\n"
  8409.    "      (declare (in) vec2 p))\n"
  8410.    "    ())\n"
  8411.    "  (signature vec3\n"
  8412.    "    (parameters\n"
  8413.    "      (declare (in) vec3 p))\n"
  8414.    "    ())\n"
  8415.    "  (signature vec4\n"
  8416.    "    (parameters\n"
  8417.    "      (declare (in) vec4 p))\n"
  8418.    "    ()))\n"
  8419.    "(function fwidth\n"
  8420.    "  (signature float\n"
  8421.    "    (parameters\n"
  8422.    "      (declare (in) float p))\n"
  8423.    "    ())\n"
  8424.    "  (signature vec2\n"
  8425.    "    (parameters\n"
  8426.    "      (declare (in) vec2 p))\n"
  8427.    "    ())\n"
  8428.    "  (signature vec3\n"
  8429.    "    (parameters\n"
  8430.    "      (declare (in) vec3 p))\n"
  8431.    "    ())\n"
  8432.    "  (signature vec4\n"
  8433.    "    (parameters\n"
  8434.    "      (declare (in) vec4 p))\n"
  8435.    "    ()))\n"
  8436.    "(function noise1\n"
  8437.    "  (signature float\n"
  8438.    "    (parameters\n"
  8439.    "      (declare (in) float x))\n"
  8440.    "    ())\n"
  8441.    "  (signature float\n"
  8442.    "    (parameters\n"
  8443.    "      (declare (in) vec2 x))\n"
  8444.    "    ())\n"
  8445.    "  (signature float\n"
  8446.    "    (parameters\n"
  8447.    "      (declare (in) vec3 x))\n"
  8448.    "    ())\n"
  8449.    "  (signature float\n"
  8450.    "    (parameters\n"
  8451.    "      (declare (in) vec4 x))\n"
  8452.    "    ()))\n"
  8453.    "(function noise2\n"
  8454.    "  (signature vec2\n"
  8455.    "    (parameters\n"
  8456.    "      (declare (in) float x))\n"
  8457.    "    ())\n"
  8458.    "  (signature vec2\n"
  8459.    "    (parameters\n"
  8460.    "      (declare (in) vec2 x))\n"
  8461.    "    ())\n"
  8462.    "  (signature vec2\n"
  8463.    "    (parameters\n"
  8464.    "      (declare (in) vec3 x))\n"
  8465.    "    ())\n"
  8466.    "  (signature vec2\n"
  8467.    "    (parameters\n"
  8468.    "      (declare (in) vec4 x))\n"
  8469.    "    ()))\n"
  8470.    "(function noise3\n"
  8471.    "  (signature vec3\n"
  8472.    "    (parameters\n"
  8473.    "      (declare (in) float x))\n"
  8474.    "    ())\n"
  8475.    "  (signature vec3\n"
  8476.    "    (parameters\n"
  8477.    "      (declare (in) vec2 x))\n"
  8478.    "    ())\n"
  8479.    "  (signature vec3\n"
  8480.    "    (parameters\n"
  8481.    "      (declare (in) vec3 x))\n"
  8482.    "    ())\n"
  8483.    "  (signature vec3\n"
  8484.    "    (parameters\n"
  8485.    "      (declare (in) vec4 x))\n"
  8486.    "    ()))\n"
  8487.    "(function noise4\n"
  8488.    "  (signature vec4\n"
  8489.    "    (parameters\n"
  8490.    "      (declare (in) float x))\n"
  8491.    "    ())\n"
  8492.    "  (signature vec4\n"
  8493.    "    (parameters\n"
  8494.    "      (declare (in) vec2 x))\n"
  8495.    "    ())\n"
  8496.    "  (signature vec4\n"
  8497.    "    (parameters\n"
  8498.    "      (declare (in) vec3 x))\n"
  8499.    "    ())\n"
  8500.    "  (signature vec4\n"
  8501.    "    (parameters\n"
  8502.    "      (declare (in) vec4 x))\n"
  8503.    "    ())))"
  8504. ;
  8505. static const char *functions_for_110_frag [] = {
  8506.    builtin_abs,
  8507.    builtin_acos,
  8508.    builtin_all,
  8509.    builtin_any,
  8510.    builtin_asin,
  8511.    builtin_atan,
  8512.    builtin_ceil,
  8513.    builtin_clamp,
  8514.    builtin_cos,
  8515.    builtin_cross,
  8516.    builtin_dFdx,
  8517.    builtin_dFdy,
  8518.    builtin_degrees,
  8519.    builtin_distance,
  8520.    builtin_dot,
  8521.    builtin_equal,
  8522.    builtin_exp,
  8523.    builtin_exp2,
  8524.    builtin_faceforward,
  8525.    builtin_floor,
  8526.    builtin_fract,
  8527.    builtin_fwidth,
  8528.    builtin_greaterThan,
  8529.    builtin_greaterThanEqual,
  8530.    builtin_inversesqrt,
  8531.    builtin_length,
  8532.    builtin_lessThan,
  8533.    builtin_lessThanEqual,
  8534.    builtin_log,
  8535.    builtin_log2,
  8536.    builtin_matrixCompMult,
  8537.    builtin_max,
  8538.    builtin_min,
  8539.    builtin_mix,
  8540.    builtin_mod,
  8541.    builtin_noise1,
  8542.    builtin_noise2,
  8543.    builtin_noise3,
  8544.    builtin_noise4,
  8545.    builtin_normalize,
  8546.    builtin_not,
  8547.    builtin_notEqual,
  8548.    builtin_pow,
  8549.    builtin_radians,
  8550.    builtin_reflect,
  8551.    builtin_refract,
  8552.    builtin_shadow1D,
  8553.    builtin_shadow1DProj,
  8554.    builtin_shadow2D,
  8555.    builtin_shadow2DProj,
  8556.    builtin_sign,
  8557.    builtin_sin,
  8558.    builtin_smoothstep,
  8559.    builtin_sqrt,
  8560.    builtin_step,
  8561.    builtin_tan,
  8562.    builtin_texture1D,
  8563.    builtin_texture1DProj,
  8564.    builtin_texture2D,
  8565.    builtin_texture2DProj,
  8566.    builtin_texture3D,
  8567.    builtin_texture3DProj,
  8568.    builtin_textureCube,
  8569. };
  8570. static const char prototypes_for_110_vert[] =
  8571.    "(\n"
  8572.    "(function radians\n"
  8573.    "  (signature float\n"
  8574.    "    (parameters\n"
  8575.    "      (declare (in) float degrees))\n"
  8576.    "    ())\n"
  8577.    "  (signature vec2\n"
  8578.    "    (parameters\n"
  8579.    "      (declare (in) vec2 degrees))\n"
  8580.    "    ())\n"
  8581.    "  (signature vec3\n"
  8582.    "    (parameters\n"
  8583.    "      (declare (in) vec3 degrees))\n"
  8584.    "    ())\n"
  8585.    "  (signature vec4\n"
  8586.    "    (parameters\n"
  8587.    "      (declare (in) vec4 degrees))\n"
  8588.    "    ()))\n"
  8589.    "(function degrees\n"
  8590.    "  (signature float\n"
  8591.    "    (parameters\n"
  8592.    "      (declare (in) float radians))\n"
  8593.    "    ())\n"
  8594.    "  (signature vec2\n"
  8595.    "    (parameters\n"
  8596.    "      (declare (in) vec2 radians))\n"
  8597.    "    ())\n"
  8598.    "  (signature vec3\n"
  8599.    "    (parameters\n"
  8600.    "      (declare (in) vec3 radians))\n"
  8601.    "    ())\n"
  8602.    "  (signature vec4\n"
  8603.    "    (parameters\n"
  8604.    "      (declare (in) vec4 radians))\n"
  8605.    "    ()))\n"
  8606.    "(function sin\n"
  8607.    "  (signature float\n"
  8608.    "    (parameters\n"
  8609.    "      (declare (in) float angle))\n"
  8610.    "    ())\n"
  8611.    "  (signature vec2\n"
  8612.    "    (parameters\n"
  8613.    "      (declare (in) vec2 angle))\n"
  8614.    "    ())\n"
  8615.    "  (signature vec3\n"
  8616.    "    (parameters\n"
  8617.    "      (declare (in) vec3 angle))\n"
  8618.    "    ())\n"
  8619.    "  (signature vec4\n"
  8620.    "    (parameters\n"
  8621.    "      (declare (in) vec4 angle))\n"
  8622.    "    ()))\n"
  8623.    "(function cos\n"
  8624.    "  (signature float\n"
  8625.    "    (parameters\n"
  8626.    "      (declare (in) float angle))\n"
  8627.    "    ())\n"
  8628.    "  (signature vec2\n"
  8629.    "    (parameters\n"
  8630.    "      (declare (in) vec2 angle))\n"
  8631.    "    ())\n"
  8632.    "  (signature vec3\n"
  8633.    "    (parameters\n"
  8634.    "      (declare (in) vec3 angle))\n"
  8635.    "    ())\n"
  8636.    "  (signature vec4\n"
  8637.    "    (parameters\n"
  8638.    "      (declare (in) vec4 angle))\n"
  8639.    "    ()))\n"
  8640.    "(function tan\n"
  8641.    "  (signature float\n"
  8642.    "    (parameters\n"
  8643.    "      (declare (in) float angle))\n"
  8644.    "    ())\n"
  8645.    "  (signature vec2\n"
  8646.    "    (parameters\n"
  8647.    "      (declare (in) vec2 angle))\n"
  8648.    "    ())\n"
  8649.    "  (signature vec3\n"
  8650.    "    (parameters\n"
  8651.    "      (declare (in) vec3 angle))\n"
  8652.    "    ())\n"
  8653.    "  (signature vec4\n"
  8654.    "    (parameters\n"
  8655.    "      (declare (in) vec4 angle))\n"
  8656.    "    ()))\n"
  8657.    "(function asin\n"
  8658.    "  (signature float\n"
  8659.    "    (parameters\n"
  8660.    "      (declare (in) float angle))\n"
  8661.    "    ())\n"
  8662.    "  (signature vec2\n"
  8663.    "    (parameters\n"
  8664.    "      (declare (in) vec2 angle))\n"
  8665.    "    ())\n"
  8666.    "  (signature vec3\n"
  8667.    "    (parameters\n"
  8668.    "      (declare (in) vec3 angle))\n"
  8669.    "    ())\n"
  8670.    "  (signature vec4\n"
  8671.    "    (parameters\n"
  8672.    "      (declare (in) vec4 angle))\n"
  8673.    "    ()))\n"
  8674.    "(function acos\n"
  8675.    "  (signature float\n"
  8676.    "    (parameters\n"
  8677.    "      (declare (in) float angle))\n"
  8678.    "    ())\n"
  8679.    "  (signature vec2\n"
  8680.    "    (parameters\n"
  8681.    "      (declare (in) vec2 angle))\n"
  8682.    "    ())\n"
  8683.    "  (signature vec3\n"
  8684.    "    (parameters\n"
  8685.    "      (declare (in) vec3 angle))\n"
  8686.    "    ())\n"
  8687.    "  (signature vec4\n"
  8688.    "    (parameters\n"
  8689.    "      (declare (in) vec4 angle))\n"
  8690.    "    ()))\n"
  8691.    "(function atan\n"
  8692.    "  (signature float\n"
  8693.    "    (parameters\n"
  8694.    "      (declare (in) float y)\n"
  8695.    "      (declare (in) float x))\n"
  8696.    "    ())\n"
  8697.    "  (signature vec2\n"
  8698.    "    (parameters\n"
  8699.    "      (declare (in) vec2 y)\n"
  8700.    "      (declare (in) vec2 x))\n"
  8701.    "    ())\n"
  8702.    "  (signature vec3\n"
  8703.    "    (parameters\n"
  8704.    "      (declare (in) vec3 y)\n"
  8705.    "      (declare (in) vec3 x))\n"
  8706.    "    ())\n"
  8707.    "  (signature vec4\n"
  8708.    "    (parameters\n"
  8709.    "      (declare (in) vec4 y)\n"
  8710.    "      (declare (in) vec4 x))\n"
  8711.    "    ())\n"
  8712.    "  (signature float\n"
  8713.    "    (parameters\n"
  8714.    "      (declare (in) float y_over_x))\n"
  8715.    "    ())\n"
  8716.    "  (signature vec2\n"
  8717.    "    (parameters\n"
  8718.    "      (declare (in) vec2 y_over_x))\n"
  8719.    "    ())\n"
  8720.    "  (signature vec3\n"
  8721.    "    (parameters\n"
  8722.    "      (declare (in) vec3 y_over_x))\n"
  8723.    "    ())\n"
  8724.    "  (signature vec4\n"
  8725.    "    (parameters\n"
  8726.    "      (declare (in) vec4 y_over_x))\n"
  8727.    "    ()))\n"
  8728.    "(function pow\n"
  8729.    "  (signature float\n"
  8730.    "    (parameters\n"
  8731.    "      (declare (in) float x)\n"
  8732.    "      (declare (in) float y))\n"
  8733.    "    ())\n"
  8734.    "  (signature vec2\n"
  8735.    "    (parameters\n"
  8736.    "      (declare (in) vec2 x)\n"
  8737.    "      (declare (in) vec2 y))\n"
  8738.    "    ())\n"
  8739.    "  (signature vec3\n"
  8740.    "    (parameters\n"
  8741.    "      (declare (in) vec3 x)\n"
  8742.    "      (declare (in) vec3 y))\n"
  8743.    "    ())\n"
  8744.    "  (signature vec4\n"
  8745.    "    (parameters\n"
  8746.    "      (declare (in) vec4 x)\n"
  8747.    "      (declare (in) vec4 y))\n"
  8748.    "    ()))\n"
  8749.    "(function exp\n"
  8750.    "  (signature float\n"
  8751.    "    (parameters\n"
  8752.    "      (declare (in) float x))\n"
  8753.    "    ())\n"
  8754.    "  (signature vec2\n"
  8755.    "    (parameters\n"
  8756.    "      (declare (in) vec2 x))\n"
  8757.    "    ())\n"
  8758.    "  (signature vec3\n"
  8759.    "    (parameters\n"
  8760.    "      (declare (in) vec3 x))\n"
  8761.    "    ())\n"
  8762.    "  (signature vec4\n"
  8763.    "    (parameters\n"
  8764.    "      (declare (in) vec4 x))\n"
  8765.    "    ()))\n"
  8766.    "(function log\n"
  8767.    "  (signature float\n"
  8768.    "    (parameters\n"
  8769.    "      (declare (in) float x))\n"
  8770.    "    ())\n"
  8771.    "  (signature vec2\n"
  8772.    "    (parameters\n"
  8773.    "      (declare (in) vec2 x))\n"
  8774.    "    ())\n"
  8775.    "  (signature vec3\n"
  8776.    "    (parameters\n"
  8777.    "      (declare (in) vec3 x))\n"
  8778.    "    ())\n"
  8779.    "  (signature vec4\n"
  8780.    "    (parameters\n"
  8781.    "      (declare (in) vec4 x))\n"
  8782.    "    ()))\n"
  8783.    "(function exp2\n"
  8784.    "  (signature float\n"
  8785.    "    (parameters\n"
  8786.    "      (declare (in) float x))\n"
  8787.    "    ())\n"
  8788.    "  (signature vec2\n"
  8789.    "    (parameters\n"
  8790.    "      (declare (in) vec2 x))\n"
  8791.    "    ())\n"
  8792.    "  (signature vec3\n"
  8793.    "    (parameters\n"
  8794.    "      (declare (in) vec3 x))\n"
  8795.    "    ())\n"
  8796.    "  (signature vec4\n"
  8797.    "    (parameters\n"
  8798.    "      (declare (in) vec4 x))\n"
  8799.    "    ()))\n"
  8800.    "(function log2\n"
  8801.    "  (signature float\n"
  8802.    "    (parameters\n"
  8803.    "      (declare (in) float x))\n"
  8804.    "    ())\n"
  8805.    "  (signature vec2\n"
  8806.    "    (parameters\n"
  8807.    "      (declare (in) vec2 x))\n"
  8808.    "    ())\n"
  8809.    "  (signature vec3\n"
  8810.    "    (parameters\n"
  8811.    "      (declare (in) vec3 x))\n"
  8812.    "    ())\n"
  8813.    "  (signature vec4\n"
  8814.    "    (parameters\n"
  8815.    "      (declare (in) vec4 x))\n"
  8816.    "    ()))\n"
  8817.    "(function sqrt\n"
  8818.    "  (signature float\n"
  8819.    "    (parameters\n"
  8820.    "      (declare (in) float x))\n"
  8821.    "    ())\n"
  8822.    "  (signature vec2\n"
  8823.    "    (parameters\n"
  8824.    "      (declare (in) vec2 x))\n"
  8825.    "    ())\n"
  8826.    "  (signature vec3\n"
  8827.    "    (parameters\n"
  8828.    "      (declare (in) vec3 x))\n"
  8829.    "    ())\n"
  8830.    "  (signature vec4\n"
  8831.    "    (parameters\n"
  8832.    "      (declare (in) vec4 x))\n"
  8833.    "    ()))\n"
  8834.    "(function inversesqrt\n"
  8835.    "  (signature float\n"
  8836.    "    (parameters\n"
  8837.    "      (declare (in) float x))\n"
  8838.    "    ())\n"
  8839.    "  (signature vec2\n"
  8840.    "    (parameters\n"
  8841.    "      (declare (in) vec2 x))\n"
  8842.    "    ())\n"
  8843.    "  (signature vec3\n"
  8844.    "    (parameters\n"
  8845.    "      (declare (in) vec3 x))\n"
  8846.    "    ())\n"
  8847.    "  (signature vec4\n"
  8848.    "    (parameters\n"
  8849.    "      (declare (in) vec4 x))\n"
  8850.    "    ()))\n"
  8851.    "(function abs\n"
  8852.    "  (signature float\n"
  8853.    "    (parameters\n"
  8854.    "      (declare (in) float x))\n"
  8855.    "    ())\n"
  8856.    "  (signature vec2\n"
  8857.    "    (parameters\n"
  8858.    "      (declare (in) vec2 x))\n"
  8859.    "    ())\n"
  8860.    "  (signature vec3\n"
  8861.    "    (parameters\n"
  8862.    "      (declare (in) vec3 x))\n"
  8863.    "    ())\n"
  8864.    "  (signature vec4\n"
  8865.    "    (parameters\n"
  8866.    "      (declare (in) vec4 x))\n"
  8867.    "    ()))\n"
  8868.    "(function sign\n"
  8869.    "  (signature float\n"
  8870.    "    (parameters\n"
  8871.    "      (declare (in) float x))\n"
  8872.    "    ())\n"
  8873.    "  (signature vec2\n"
  8874.    "    (parameters\n"
  8875.    "      (declare (in) vec2 x))\n"
  8876.    "    ())\n"
  8877.    "  (signature vec3\n"
  8878.    "    (parameters\n"
  8879.    "      (declare (in) vec3 x))\n"
  8880.    "    ())\n"
  8881.    "  (signature vec4\n"
  8882.    "    (parameters\n"
  8883.    "      (declare (in) vec4 x))\n"
  8884.    "    ()))\n"
  8885.    "(function floor\n"
  8886.    "  (signature float\n"
  8887.    "    (parameters\n"
  8888.    "      (declare (in) float x))\n"
  8889.    "    ())\n"
  8890.    "  (signature vec2\n"
  8891.    "    (parameters\n"
  8892.    "      (declare (in) vec2 x))\n"
  8893.    "    ())\n"
  8894.    "  (signature vec3\n"
  8895.    "    (parameters\n"
  8896.    "      (declare (in) vec3 x))\n"
  8897.    "    ())\n"
  8898.    "  (signature vec4\n"
  8899.    "    (parameters\n"
  8900.    "      (declare (in) vec4 x))\n"
  8901.    "    ()))\n"
  8902.    "(function ceil\n"
  8903.    "  (signature float\n"
  8904.    "    (parameters\n"
  8905.    "      (declare (in) float x))\n"
  8906.    "    ())\n"
  8907.    "  (signature vec2\n"
  8908.    "    (parameters\n"
  8909.    "      (declare (in) vec2 x))\n"
  8910.    "    ())\n"
  8911.    "  (signature vec3\n"
  8912.    "    (parameters\n"
  8913.    "      (declare (in) vec3 x))\n"
  8914.    "    ())\n"
  8915.    "  (signature vec4\n"
  8916.    "    (parameters\n"
  8917.    "      (declare (in) vec4 x))\n"
  8918.    "    ()))\n"
  8919.    "(function fract\n"
  8920.    "  (signature float\n"
  8921.    "    (parameters\n"
  8922.    "      (declare (in) float x))\n"
  8923.    "    ())\n"
  8924.    "  (signature vec2\n"
  8925.    "    (parameters\n"
  8926.    "      (declare (in) vec2 x))\n"
  8927.    "    ())\n"
  8928.    "  (signature vec3\n"
  8929.    "    (parameters\n"
  8930.    "      (declare (in) vec3 x))\n"
  8931.    "    ())\n"
  8932.    "  (signature vec4\n"
  8933.    "    (parameters\n"
  8934.    "      (declare (in) vec4 x))\n"
  8935.    "    ()))\n"
  8936.    "(function mod\n"
  8937.    "  (signature float\n"
  8938.    "    (parameters\n"
  8939.    "      (declare (in) float x)\n"
  8940.    "      (declare (in) float y))\n"
  8941.    "    ())\n"
  8942.    "  (signature vec2\n"
  8943.    "    (parameters\n"
  8944.    "      (declare (in) vec2 x)\n"
  8945.    "      (declare (in) float y))\n"
  8946.    "    ())\n"
  8947.    "  (signature vec3\n"
  8948.    "    (parameters\n"
  8949.    "      (declare (in) vec3 x)\n"
  8950.    "      (declare (in) float y))\n"
  8951.    "    ())\n"
  8952.    "  (signature vec4\n"
  8953.    "    (parameters\n"
  8954.    "      (declare (in) vec4 x)\n"
  8955.    "      (declare (in) float y))\n"
  8956.    "    ())\n"
  8957.    "  (signature vec2\n"
  8958.    "    (parameters\n"
  8959.    "      (declare (in) vec2 x)\n"
  8960.    "      (declare (in) vec2 y))\n"
  8961.    "    ())\n"
  8962.    "  (signature vec3\n"
  8963.    "    (parameters\n"
  8964.    "      (declare (in) vec3 x)\n"
  8965.    "      (declare (in) vec3 y))\n"
  8966.    "    ())\n"
  8967.    "  (signature vec4\n"
  8968.    "    (parameters\n"
  8969.    "      (declare (in) vec4 x)\n"
  8970.    "      (declare (in) vec4 y))\n"
  8971.    "    ()))\n"
  8972.    "(function min\n"
  8973.    "  (signature float\n"
  8974.    "    (parameters\n"
  8975.    "      (declare (in) float x)\n"
  8976.    "      (declare (in) float y))\n"
  8977.    "    ())\n"
  8978.    "  (signature vec2\n"
  8979.    "    (parameters\n"
  8980.    "      (declare (in) vec2 x)\n"
  8981.    "      (declare (in) vec2 y))\n"
  8982.    "    ())\n"
  8983.    "  (signature vec3\n"
  8984.    "    (parameters\n"
  8985.    "      (declare (in) vec3 x)\n"
  8986.    "      (declare (in) vec3 y))\n"
  8987.    "    ())\n"
  8988.    "  (signature vec4\n"
  8989.    "    (parameters\n"
  8990.    "      (declare (in) vec4 x)\n"
  8991.    "      (declare (in) vec4 y))\n"
  8992.    "    ())\n"
  8993.    "  (signature vec2\n"
  8994.    "    (parameters\n"
  8995.    "      (declare (in) vec2 x)\n"
  8996.    "      (declare (in) float y))\n"
  8997.    "    ())\n"
  8998.    "  (signature vec3\n"
  8999.    "    (parameters\n"
  9000.    "      (declare (in) vec3 x)\n"
  9001.    "      (declare (in) float y))\n"
  9002.    "    ())\n"
  9003.    "  (signature vec4\n"
  9004.    "    (parameters\n"
  9005.    "      (declare (in) vec4 x)\n"
  9006.    "      (declare (in) float y))\n"
  9007.    "    ()))\n"
  9008.    "(function max\n"
  9009.    "  (signature float\n"
  9010.    "    (parameters\n"
  9011.    "      (declare (in) float x)\n"
  9012.    "      (declare (in) float y))\n"
  9013.    "    ())\n"
  9014.    "  (signature vec2\n"
  9015.    "    (parameters\n"
  9016.    "      (declare (in) vec2 x)\n"
  9017.    "      (declare (in) vec2 y))\n"
  9018.    "    ())\n"
  9019.    "  (signature vec3\n"
  9020.    "    (parameters\n"
  9021.    "      (declare (in) vec3 x)\n"
  9022.    "      (declare (in) vec3 y))\n"
  9023.    "    ())\n"
  9024.    "  (signature vec4\n"
  9025.    "    (parameters\n"
  9026.    "      (declare (in) vec4 x)\n"
  9027.    "      (declare (in) vec4 y))\n"
  9028.    "    ())\n"
  9029.    "  (signature vec2\n"
  9030.    "    (parameters\n"
  9031.    "      (declare (in) vec2 x)\n"
  9032.    "      (declare (in) float y))\n"
  9033.    "    ())\n"
  9034.    "  (signature vec3\n"
  9035.    "    (parameters\n"
  9036.    "      (declare (in) vec3 x)\n"
  9037.    "      (declare (in) float y))\n"
  9038.    "    ())\n"
  9039.    "  (signature vec4\n"
  9040.    "    (parameters\n"
  9041.    "      (declare (in) vec4 x)\n"
  9042.    "      (declare (in) float y))\n"
  9043.    "    ()))\n"
  9044.    "(function clamp\n"
  9045.    "  (signature float\n"
  9046.    "    (parameters\n"
  9047.    "      (declare (in) float x)\n"
  9048.    "      (declare (in) float minVal)\n"
  9049.    "      (declare (in) float maxVal))\n"
  9050.    "    ())\n"
  9051.    "  (signature vec2\n"
  9052.    "    (parameters\n"
  9053.    "      (declare (in) vec2 x)\n"
  9054.    "      (declare (in) vec2 minVal)\n"
  9055.    "      (declare (in) vec2 maxVal))\n"
  9056.    "    ())\n"
  9057.    "  (signature vec3\n"
  9058.    "    (parameters\n"
  9059.    "      (declare (in) vec3 x)\n"
  9060.    "      (declare (in) vec3 minVal)\n"
  9061.    "      (declare (in) vec3 maxVal))\n"
  9062.    "    ())\n"
  9063.    "  (signature vec4\n"
  9064.    "    (parameters\n"
  9065.    "      (declare (in) vec4 x)\n"
  9066.    "      (declare (in) vec4 minVal)\n"
  9067.    "      (declare (in) vec4 maxVal))\n"
  9068.    "    ())\n"
  9069.    "  (signature vec2\n"
  9070.    "    (parameters\n"
  9071.    "      (declare (in) vec2 x)\n"
  9072.    "      (declare (in) float minVal)\n"
  9073.    "      (declare (in) float maxVal))\n"
  9074.    "    ())\n"
  9075.    "  (signature vec3\n"
  9076.    "    (parameters\n"
  9077.    "      (declare (in) vec3 x)\n"
  9078.    "      (declare (in) float minVal)\n"
  9079.    "      (declare (in) float maxVal))\n"
  9080.    "    ())\n"
  9081.    "  (signature vec4\n"
  9082.    "    (parameters\n"
  9083.    "      (declare (in) vec4 x)\n"
  9084.    "      (declare (in) float minVal)\n"
  9085.    "      (declare (in) float maxVal))\n"
  9086.    "    ()))\n"
  9087.    "(function mix\n"
  9088.    "  (signature float\n"
  9089.    "    (parameters\n"
  9090.    "      (declare (in) float x)\n"
  9091.    "      (declare (in) float y)\n"
  9092.    "      (declare (in) float a))\n"
  9093.    "    ())\n"
  9094.    "  (signature vec2\n"
  9095.    "    (parameters\n"
  9096.    "      (declare (in) vec2 x)\n"
  9097.    "      (declare (in) vec2 y)\n"
  9098.    "      (declare (in) vec2 a))\n"
  9099.    "    ())\n"
  9100.    "  (signature vec3\n"
  9101.    "    (parameters\n"
  9102.    "      (declare (in) vec3 x)\n"
  9103.    "      (declare (in) vec3 y)\n"
  9104.    "      (declare (in) vec3 a))\n"
  9105.    "    ())\n"
  9106.    "  (signature vec4\n"
  9107.    "    (parameters\n"
  9108.    "      (declare (in) vec4 x)\n"
  9109.    "      (declare (in) vec4 y)\n"
  9110.    "      (declare (in) vec4 a))\n"
  9111.    "    ())\n"
  9112.    "  (signature vec2\n"
  9113.    "    (parameters\n"
  9114.    "      (declare (in) vec2 x)\n"
  9115.    "      (declare (in) vec2 y)\n"
  9116.    "      (declare (in) float a))\n"
  9117.    "    ())\n"
  9118.    "  (signature vec3\n"
  9119.    "    (parameters\n"
  9120.    "      (declare (in) vec3 x)\n"
  9121.    "      (declare (in) vec3 y)\n"
  9122.    "      (declare (in) float a))\n"
  9123.    "    ())\n"
  9124.    "  (signature vec4\n"
  9125.    "    (parameters\n"
  9126.    "      (declare (in) vec4 x)\n"
  9127.    "      (declare (in) vec4 y)\n"
  9128.    "      (declare (in) float a))\n"
  9129.    "    ()))\n"
  9130.    "(function step\n"
  9131.    "  (signature float\n"
  9132.    "    (parameters\n"
  9133.    "      (declare (in) float edge)\n"
  9134.    "      (declare (in) float x))\n"
  9135.    "    ())\n"
  9136.    "  (signature vec2\n"
  9137.    "    (parameters\n"
  9138.    "      (declare (in) vec2 edge)\n"
  9139.    "      (declare (in) vec2 x))\n"
  9140.    "    ())\n"
  9141.    "  (signature vec3\n"
  9142.    "    (parameters\n"
  9143.    "      (declare (in) vec3 edge)\n"
  9144.    "      (declare (in) vec3 x))\n"
  9145.    "    ())\n"
  9146.    "  (signature vec4\n"
  9147.    "    (parameters\n"
  9148.    "      (declare (in) vec4 edge)\n"
  9149.    "      (declare (in) vec4 x))\n"
  9150.    "    ())\n"
  9151.    "  (signature vec2\n"
  9152.    "    (parameters\n"
  9153.    "      (declare (in) float edge)\n"
  9154.    "      (declare (in) vec2 x))\n"
  9155.    "    ())\n"
  9156.    "  (signature vec3\n"
  9157.    "    (parameters\n"
  9158.    "      (declare (in) float edge)\n"
  9159.    "      (declare (in) vec3 x))\n"
  9160.    "    ())\n"
  9161.    "  (signature vec4\n"
  9162.    "    (parameters\n"
  9163.    "      (declare (in) float edge)\n"
  9164.    "      (declare (in) vec4 x))\n"
  9165.    "    ()))\n"
  9166.    "(function smoothstep\n"
  9167.    "  (signature float\n"
  9168.    "    (parameters\n"
  9169.    "      (declare (in) float edge0)\n"
  9170.    "      (declare (in) float edge1)\n"
  9171.    "      (declare (in) float x))\n"
  9172.    "    ())\n"
  9173.    "  (signature vec2\n"
  9174.    "    (parameters\n"
  9175.    "      (declare (in) vec2 edge0)\n"
  9176.    "      (declare (in) vec2 edge1)\n"
  9177.    "      (declare (in) vec2 x))\n"
  9178.    "    ())\n"
  9179.    "  (signature vec3\n"
  9180.    "    (parameters\n"
  9181.    "      (declare (in) vec3 edge0)\n"
  9182.    "      (declare (in) vec3 edge1)\n"
  9183.    "      (declare (in) vec3 x))\n"
  9184.    "    ())\n"
  9185.    "  (signature vec4\n"
  9186.    "    (parameters\n"
  9187.    "      (declare (in) vec4 edge0)\n"
  9188.    "      (declare (in) vec4 edge1)\n"
  9189.    "      (declare (in) vec4 x))\n"
  9190.    "    ())\n"
  9191.    "  (signature vec2\n"
  9192.    "    (parameters\n"
  9193.    "      (declare (in) float edge0)\n"
  9194.    "      (declare (in) float edge1)\n"
  9195.    "      (declare (in) vec2 x))\n"
  9196.    "    ())\n"
  9197.    "  (signature vec3\n"
  9198.    "    (parameters\n"
  9199.    "      (declare (in) float edge0)\n"
  9200.    "      (declare (in) float edge1)\n"
  9201.    "      (declare (in) vec3 x))\n"
  9202.    "    ())\n"
  9203.    "  (signature vec4\n"
  9204.    "    (parameters\n"
  9205.    "      (declare (in) float edge0)\n"
  9206.    "      (declare (in) float edge1)\n"
  9207.    "      (declare (in) vec4 x))\n"
  9208.    "    ()))\n"
  9209.    "(function length\n"
  9210.    "  (signature float\n"
  9211.    "    (parameters\n"
  9212.    "      (declare (in) float x))\n"
  9213.    "    ())\n"
  9214.    "  (signature float\n"
  9215.    "    (parameters\n"
  9216.    "      (declare (in) vec2 x))\n"
  9217.    "    ())\n"
  9218.    "  (signature float\n"
  9219.    "    (parameters\n"
  9220.    "      (declare (in) vec3 x))\n"
  9221.    "    ())\n"
  9222.    "  (signature float\n"
  9223.    "    (parameters\n"
  9224.    "      (declare (in) vec4 x))\n"
  9225.    "    ()))\n"
  9226.    "(function distance\n"
  9227.    "  (signature float\n"
  9228.    "    (parameters\n"
  9229.    "      (declare (in) float p0)\n"
  9230.    "      (declare (in) float p1))\n"
  9231.    "    ())\n"
  9232.    "  (signature float\n"
  9233.    "    (parameters\n"
  9234.    "      (declare (in) vec2 p0)\n"
  9235.    "      (declare (in) vec2 p1))\n"
  9236.    "    ())\n"
  9237.    "  (signature float\n"
  9238.    "    (parameters\n"
  9239.    "      (declare (in) vec3 p0)\n"
  9240.    "      (declare (in) vec3 p1))\n"
  9241.    "    ())\n"
  9242.    "  (signature float\n"
  9243.    "    (parameters\n"
  9244.    "      (declare (in) vec4 p0)\n"
  9245.    "      (declare (in) vec4 p1))\n"
  9246.    "    ()))\n"
  9247.    "(function dot\n"
  9248.    "  (signature float\n"
  9249.    "    (parameters\n"
  9250.    "      (declare (in) float x)\n"
  9251.    "      (declare (in) float y))\n"
  9252.    "    ())\n"
  9253.    "  (signature float\n"
  9254.    "    (parameters\n"
  9255.    "      (declare (in) vec2 x)\n"
  9256.    "      (declare (in) vec2 y))\n"
  9257.    "    ())\n"
  9258.    "  (signature float\n"
  9259.    "    (parameters\n"
  9260.    "      (declare (in) vec3 x)\n"
  9261.    "      (declare (in) vec3 y))\n"
  9262.    "    ())\n"
  9263.    "  (signature float\n"
  9264.    "    (parameters\n"
  9265.    "      (declare (in) vec4 x)\n"
  9266.    "      (declare (in) vec4 y))\n"
  9267.    "    ()))\n"
  9268.    "(function cross\n"
  9269.    "  (signature vec3\n"
  9270.    "    (parameters\n"
  9271.    "      (declare (in) vec3 x)\n"
  9272.    "      (declare (in) vec3 y))\n"
  9273.    "    ()))\n"
  9274.    "(function normalize\n"
  9275.    "  (signature float\n"
  9276.    "    (parameters\n"
  9277.    "      (declare (in) float x))\n"
  9278.    "    ())\n"
  9279.    "  (signature vec2\n"
  9280.    "    (parameters\n"
  9281.    "      (declare (in) vec2 x))\n"
  9282.    "    ())\n"
  9283.    "  (signature vec3\n"
  9284.    "    (parameters\n"
  9285.    "      (declare (in) vec3 x))\n"
  9286.    "    ())\n"
  9287.    "  (signature vec4\n"
  9288.    "    (parameters\n"
  9289.    "      (declare (in) vec4 x))\n"
  9290.    "    ()))\n"
  9291.    "(function ftransform\n"
  9292.    "  (signature vec4\n"
  9293.    "    (parameters)\n"
  9294.    "    ()))\n"
  9295.    "(function faceforward\n"
  9296.    "  (signature float\n"
  9297.    "    (parameters\n"
  9298.    "      (declare (in) float N)\n"
  9299.    "      (declare (in) float I)\n"
  9300.    "      (declare (in) float Nref))\n"
  9301.    "    ())\n"
  9302.    "  (signature vec2\n"
  9303.    "    (parameters\n"
  9304.    "      (declare (in) vec2 N)\n"
  9305.    "      (declare (in) vec2 I)\n"
  9306.    "      (declare (in) vec2 Nref))\n"
  9307.    "    ())\n"
  9308.    "  (signature vec3\n"
  9309.    "    (parameters\n"
  9310.    "      (declare (in) vec3 N)\n"
  9311.    "      (declare (in) vec3 I)\n"
  9312.    "      (declare (in) vec3 Nref))\n"
  9313.    "    ())\n"
  9314.    "  (signature vec4\n"
  9315.    "    (parameters\n"
  9316.    "      (declare (in) vec4 N)\n"
  9317.    "      (declare (in) vec4 I)\n"
  9318.    "      (declare (in) vec4 Nref))\n"
  9319.    "    ()))\n"
  9320.    "(function reflect\n"
  9321.    "  (signature float\n"
  9322.    "    (parameters\n"
  9323.    "      (declare (in) float I)\n"
  9324.    "      (declare (in) float N))\n"
  9325.    "    ())\n"
  9326.    "  (signature vec2\n"
  9327.    "    (parameters\n"
  9328.    "      (declare (in) vec2 I)\n"
  9329.    "      (declare (in) vec2 N))\n"
  9330.    "    ())\n"
  9331.    "  (signature vec3\n"
  9332.    "    (parameters\n"
  9333.    "      (declare (in) vec3 I)\n"
  9334.    "      (declare (in) vec3 N))\n"
  9335.    "    ())\n"
  9336.    "  (signature vec4\n"
  9337.    "    (parameters\n"
  9338.    "      (declare (in) vec4 I)\n"
  9339.    "      (declare (in) vec4 N))\n"
  9340.    "    ()))\n"
  9341.    "(function refract\n"
  9342.    "  (signature float\n"
  9343.    "    (parameters\n"
  9344.    "      (declare (in) float I)\n"
  9345.    "      (declare (in) float N)\n"
  9346.    "      (declare (in) float eta))\n"
  9347.    "    ())\n"
  9348.    "  (signature vec2\n"
  9349.    "    (parameters\n"
  9350.    "      (declare (in) vec2 I)\n"
  9351.    "      (declare (in) vec2 N)\n"
  9352.    "      (declare (in) float eta))\n"
  9353.    "    ())\n"
  9354.    "  (signature vec3\n"
  9355.    "    (parameters\n"
  9356.    "      (declare (in) vec3 I)\n"
  9357.    "      (declare (in) vec3 N)\n"
  9358.    "      (declare (in) float eta))\n"
  9359.    "    ())\n"
  9360.    "  (signature vec4\n"
  9361.    "    (parameters\n"
  9362.    "      (declare (in) vec4 I)\n"
  9363.    "      (declare (in) vec4 N)\n"
  9364.    "      (declare (in) float eta))\n"
  9365.    "    ()))\n"
  9366.    "(function matrixCompMult\n"
  9367.    "  (signature mat2\n"
  9368.    "    (parameters\n"
  9369.    "      (declare (in) mat2 x)\n"
  9370.    "      (declare (in) mat2 y))\n"
  9371.    "    ())\n"
  9372.    "  (signature mat3\n"
  9373.    "    (parameters\n"
  9374.    "      (declare (in) mat3 x)\n"
  9375.    "      (declare (in) mat3 y))\n"
  9376.    "    ())\n"
  9377.    "  (signature mat4\n"
  9378.    "    (parameters\n"
  9379.    "      (declare (in) mat4 x)\n"
  9380.    "      (declare (in) mat4 y))\n"
  9381.    "    ()))\n"
  9382.    "(function lessThan\n"
  9383.    "  (signature bvec2\n"
  9384.    "    (parameters\n"
  9385.    "      (declare (in) vec2 x)\n"
  9386.    "      (declare (in) vec2 y))\n"
  9387.    "    ())\n"
  9388.    "  (signature bvec3\n"
  9389.    "    (parameters\n"
  9390.    "      (declare (in) vec3 x)\n"
  9391.    "      (declare (in) vec3 y))\n"
  9392.    "    ())\n"
  9393.    "  (signature bvec4\n"
  9394.    "    (parameters\n"
  9395.    "      (declare (in) vec4 x)\n"
  9396.    "      (declare (in) vec4 y))\n"
  9397.    "    ())\n"
  9398.    "  (signature bvec2\n"
  9399.    "    (parameters\n"
  9400.    "      (declare (in) ivec2 x)\n"
  9401.    "      (declare (in) ivec2 y))\n"
  9402.    "    ())\n"
  9403.    "  (signature bvec3\n"
  9404.    "    (parameters\n"
  9405.    "      (declare (in) ivec3 x)\n"
  9406.    "      (declare (in) ivec3 y))\n"
  9407.    "    ())\n"
  9408.    "  (signature bvec4\n"
  9409.    "    (parameters\n"
  9410.    "      (declare (in) ivec4 x)\n"
  9411.    "      (declare (in) ivec4 y))\n"
  9412.    "    ()))\n"
  9413.    "(function lessThanEqual\n"
  9414.    "  (signature bvec2\n"
  9415.    "    (parameters\n"
  9416.    "      (declare (in) vec2 x)\n"
  9417.    "      (declare (in) vec2 y))\n"
  9418.    "    ())\n"
  9419.    "  (signature bvec3\n"
  9420.    "    (parameters\n"
  9421.    "      (declare (in) vec3 x)\n"
  9422.    "      (declare (in) vec3 y))\n"
  9423.    "    ())\n"
  9424.    "  (signature bvec4\n"
  9425.    "    (parameters\n"
  9426.    "      (declare (in) vec4 x)\n"
  9427.    "      (declare (in) vec4 y))\n"
  9428.    "    ())\n"
  9429.    "  (signature bvec2\n"
  9430.    "    (parameters\n"
  9431.    "      (declare (in) ivec2 x)\n"
  9432.    "      (declare (in) ivec2 y))\n"
  9433.    "    ())\n"
  9434.    "  (signature bvec3\n"
  9435.    "    (parameters\n"
  9436.    "      (declare (in) ivec3 x)\n"
  9437.    "      (declare (in) ivec3 y))\n"
  9438.    "    ())\n"
  9439.    "  (signature bvec4\n"
  9440.    "    (parameters\n"
  9441.    "      (declare (in) ivec4 x)\n"
  9442.    "      (declare (in) ivec4 y))\n"
  9443.    "    ()))\n"
  9444.    "(function greaterThan\n"
  9445.    "  (signature bvec2\n"
  9446.    "    (parameters\n"
  9447.    "      (declare (in) vec2 x)\n"
  9448.    "      (declare (in) vec2 y))\n"
  9449.    "    ())\n"
  9450.    "  (signature bvec3\n"
  9451.    "    (parameters\n"
  9452.    "      (declare (in) vec3 x)\n"
  9453.    "      (declare (in) vec3 y))\n"
  9454.    "    ())\n"
  9455.    "  (signature bvec4\n"
  9456.    "    (parameters\n"
  9457.    "      (declare (in) vec4 x)\n"
  9458.    "      (declare (in) vec4 y))\n"
  9459.    "    ())\n"
  9460.    "  (signature bvec2\n"
  9461.    "    (parameters\n"
  9462.    "      (declare (in) ivec2 x)\n"
  9463.    "      (declare (in) ivec2 y))\n"
  9464.    "    ())\n"
  9465.    "  (signature bvec3\n"
  9466.    "    (parameters\n"
  9467.    "      (declare (in) ivec3 x)\n"
  9468.    "      (declare (in) ivec3 y))\n"
  9469.    "    ())\n"
  9470.    "  (signature bvec4\n"
  9471.    "    (parameters\n"
  9472.    "      (declare (in) ivec4 x)\n"
  9473.    "      (declare (in) ivec4 y))\n"
  9474.    "    ()))\n"
  9475.    "(function greaterThanEqual\n"
  9476.    "  (signature bvec2\n"
  9477.    "    (parameters\n"
  9478.    "      (declare (in) vec2 x)\n"
  9479.    "      (declare (in) vec2 y))\n"
  9480.    "    ())\n"
  9481.    "  (signature bvec3\n"
  9482.    "    (parameters\n"
  9483.    "      (declare (in) vec3 x)\n"
  9484.    "      (declare (in) vec3 y))\n"
  9485.    "    ())\n"
  9486.    "  (signature bvec4\n"
  9487.    "    (parameters\n"
  9488.    "      (declare (in) vec4 x)\n"
  9489.    "      (declare (in) vec4 y))\n"
  9490.    "    ())\n"
  9491.    "  (signature bvec2\n"
  9492.    "    (parameters\n"
  9493.    "      (declare (in) ivec2 x)\n"
  9494.    "      (declare (in) ivec2 y))\n"
  9495.    "    ())\n"
  9496.    "  (signature bvec3\n"
  9497.    "    (parameters\n"
  9498.    "      (declare (in) ivec3 x)\n"
  9499.    "      (declare (in) ivec3 y))\n"
  9500.    "    ())\n"
  9501.    "  (signature bvec4\n"
  9502.    "    (parameters\n"
  9503.    "      (declare (in) ivec4 x)\n"
  9504.    "      (declare (in) ivec4 y))\n"
  9505.    "    ()))\n"
  9506.    "(function equal\n"
  9507.    "  (signature bvec2\n"
  9508.    "    (parameters\n"
  9509.    "      (declare (in) vec2 x)\n"
  9510.    "      (declare (in) vec2 y))\n"
  9511.    "    ())\n"
  9512.    "  (signature bvec3\n"
  9513.    "    (parameters\n"
  9514.    "      (declare (in) vec3 x)\n"
  9515.    "      (declare (in) vec3 y))\n"
  9516.    "    ())\n"
  9517.    "  (signature bvec4\n"
  9518.    "    (parameters\n"
  9519.    "      (declare (in) vec4 x)\n"
  9520.    "      (declare (in) vec4 y))\n"
  9521.    "    ())\n"
  9522.    "  (signature bvec2\n"
  9523.    "    (parameters\n"
  9524.    "      (declare (in) ivec2 x)\n"
  9525.    "      (declare (in) ivec2 y))\n"
  9526.    "    ())\n"
  9527.    "  (signature bvec3\n"
  9528.    "    (parameters\n"
  9529.    "      (declare (in) ivec3 x)\n"
  9530.    "      (declare (in) ivec3 y))\n"
  9531.    "    ())\n"
  9532.    "  (signature bvec4\n"
  9533.    "    (parameters\n"
  9534.    "      (declare (in) ivec4 x)\n"
  9535.    "      (declare (in) ivec4 y))\n"
  9536.    "    ())\n"
  9537.    "  (signature bvec2\n"
  9538.    "    (parameters\n"
  9539.    "      (declare (in) bvec2 x)\n"
  9540.    "      (declare (in) bvec2 y))\n"
  9541.    "    ())\n"
  9542.    "  (signature bvec3\n"
  9543.    "    (parameters\n"
  9544.    "      (declare (in) bvec3 x)\n"
  9545.    "      (declare (in) bvec3 y))\n"
  9546.    "    ())\n"
  9547.    "  (signature bvec4\n"
  9548.    "    (parameters\n"
  9549.    "      (declare (in) bvec4 x)\n"
  9550.    "      (declare (in) bvec4 y))\n"
  9551.    "    ()))\n"
  9552.    "(function notEqual\n"
  9553.    "  (signature bvec2\n"
  9554.    "    (parameters\n"
  9555.    "      (declare (in) vec2 x)\n"
  9556.    "      (declare (in) vec2 y))\n"
  9557.    "    ())\n"
  9558.    "  (signature bvec3\n"
  9559.    "    (parameters\n"
  9560.    "      (declare (in) vec3 x)\n"
  9561.    "      (declare (in) vec3 y))\n"
  9562.    "    ())\n"
  9563.    "  (signature bvec4\n"
  9564.    "    (parameters\n"
  9565.    "      (declare (in) vec4 x)\n"
  9566.    "      (declare (in) vec4 y))\n"
  9567.    "    ())\n"
  9568.    "  (signature bvec2\n"
  9569.    "    (parameters\n"
  9570.    "      (declare (in) ivec2 x)\n"
  9571.    "      (declare (in) ivec2 y))\n"
  9572.    "    ())\n"
  9573.    "  (signature bvec3\n"
  9574.    "    (parameters\n"
  9575.    "      (declare (in) ivec3 x)\n"
  9576.    "      (declare (in) ivec3 y))\n"
  9577.    "    ())\n"
  9578.    "  (signature bvec4\n"
  9579.    "    (parameters\n"
  9580.    "      (declare (in) ivec4 x)\n"
  9581.    "      (declare (in) ivec4 y))\n"
  9582.    "    ())\n"
  9583.    "  (signature bvec2\n"
  9584.    "    (parameters\n"
  9585.    "      (declare (in) bvec2 x)\n"
  9586.    "      (declare (in) bvec2 y))\n"
  9587.    "    ())\n"
  9588.    "  (signature bvec3\n"
  9589.    "    (parameters\n"
  9590.    "      (declare (in) bvec3 x)\n"
  9591.    "      (declare (in) bvec3 y))\n"
  9592.    "    ())\n"
  9593.    "  (signature bvec4\n"
  9594.    "    (parameters\n"
  9595.    "      (declare (in) bvec4 x)\n"
  9596.    "      (declare (in) bvec4 y))\n"
  9597.    "    ()))\n"
  9598.    "(function any\n"
  9599.    "  (signature bool\n"
  9600.    "    (parameters\n"
  9601.    "      (declare (in) bvec2 x))\n"
  9602.    "    ())\n"
  9603.    "  (signature bool\n"
  9604.    "    (parameters\n"
  9605.    "      (declare (in) bvec3 x))\n"
  9606.    "    ())\n"
  9607.    "  (signature bool\n"
  9608.    "    (parameters\n"
  9609.    "      (declare (in) bvec4 x))\n"
  9610.    "    ()))\n"
  9611.    "(function all\n"
  9612.    "  (signature bool\n"
  9613.    "    (parameters\n"
  9614.    "      (declare (in) bvec2 x))\n"
  9615.    "    ())\n"
  9616.    "  (signature bool\n"
  9617.    "    (parameters\n"
  9618.    "      (declare (in) bvec3 x))\n"
  9619.    "    ())\n"
  9620.    "  (signature bool\n"
  9621.    "    (parameters\n"
  9622.    "      (declare (in) bvec4 x))\n"
  9623.    "    ()))\n"
  9624.    "(function not\n"
  9625.    "  (signature bvec2\n"
  9626.    "    (parameters\n"
  9627.    "      (declare (in) bvec2 x))\n"
  9628.    "    ())\n"
  9629.    "  (signature bvec3\n"
  9630.    "    (parameters\n"
  9631.    "      (declare (in) bvec3 x))\n"
  9632.    "    ())\n"
  9633.    "  (signature bvec4\n"
  9634.    "    (parameters\n"
  9635.    "      (declare (in) bvec4 x))\n"
  9636.    "    ()))\n"
  9637.    "(function texture1D\n"
  9638.    "  (signature vec4\n"
  9639.    "    (parameters\n"
  9640.    "      (declare (in) sampler1D sampler)\n"
  9641.    "      (declare (in) float coord))\n"
  9642.    "    ()))\n"
  9643.    "(function texture1DProj\n"
  9644.    "  (signature vec4\n"
  9645.    "    (parameters\n"
  9646.    "      (declare (in) sampler1D sampler)\n"
  9647.    "      (declare (in) vec2 coord))\n"
  9648.    "    ())\n"
  9649.    "  (signature vec4\n"
  9650.    "    (parameters\n"
  9651.    "      (declare (in) sampler1D sampler)\n"
  9652.    "      (declare (in) vec4 coord))\n"
  9653.    "    ()))\n"
  9654.    "(function texture1DLod\n"
  9655.    "  (signature vec4\n"
  9656.    "    (parameters\n"
  9657.    "      (declare (in) sampler1D sampler)\n"
  9658.    "      (declare (in) float coord)\n"
  9659.    "      (declare (in) float lod))\n"
  9660.    "    ()))\n"
  9661.    "(function texture1DProjLod\n"
  9662.    "  (signature vec4\n"
  9663.    "    (parameters\n"
  9664.    "      (declare (in) sampler1D sampler)\n"
  9665.    "      (declare (in) vec2 coord)\n"
  9666.    "      (declare (in) float lod))\n"
  9667.    "    ())\n"
  9668.    "  (signature vec4\n"
  9669.    "    (parameters\n"
  9670.    "      (declare (in) sampler1D sampler)\n"
  9671.    "      (declare (in) vec4 coord)\n"
  9672.    "      (declare (in) float lod))\n"
  9673.    "    ()))\n"
  9674.    "(function texture2D\n"
  9675.    "  (signature vec4\n"
  9676.    "    (parameters\n"
  9677.    "      (declare (in) sampler2D sampler)\n"
  9678.    "      (declare (in) vec2 coord))\n"
  9679.    "    ()))\n"
  9680.    "(function texture2DProj\n"
  9681.    "  (signature vec4\n"
  9682.    "    (parameters\n"
  9683.    "      (declare (in) sampler2D sampler)\n"
  9684.    "      (declare (in) vec3 coord))\n"
  9685.    "    ())\n"
  9686.    "  (signature vec4\n"
  9687.    "    (parameters\n"
  9688.    "      (declare (in) sampler2D sampler)\n"
  9689.    "      (declare (in) vec4 coord))\n"
  9690.    "    ()))\n"
  9691.    "(function texture2DLod\n"
  9692.    "  (signature vec4\n"
  9693.    "    (parameters\n"
  9694.    "      (declare (in) sampler2D sampler)\n"
  9695.    "      (declare (in) vec2 coord)\n"
  9696.    "      (declare (in) float lod))\n"
  9697.    "    ()))\n"
  9698.    "(function texture2DProjLod\n"
  9699.    "  (signature vec4\n"
  9700.    "    (parameters\n"
  9701.    "      (declare (in) sampler2D sampler)\n"
  9702.    "      (declare (in) vec3 coord)\n"
  9703.    "      (declare (in) float lod))\n"
  9704.    "    ())\n"
  9705.    "  (signature vec4\n"
  9706.    "    (parameters\n"
  9707.    "      (declare (in) sampler2D sampler)\n"
  9708.    "      (declare (in) vec4 coord)\n"
  9709.    "      (declare (in) float lod))\n"
  9710.    "    ()))\n"
  9711.    "(function texture3D\n"
  9712.    "  (signature vec4\n"
  9713.    "    (parameters\n"
  9714.    "      (declare (in) sampler3D sampler)\n"
  9715.    "      (declare (in) vec3 coord))\n"
  9716.    "    ()))\n"
  9717.    "(function texture3DProj\n"
  9718.    "  (signature vec4\n"
  9719.    "    (parameters\n"
  9720.    "      (declare (in) sampler3D sampler)\n"
  9721.    "      (declare (in) vec4 coord))\n"
  9722.    "    ()))\n"
  9723.    "(function texture3DLod\n"
  9724.    "  (signature vec4\n"
  9725.    "    (parameters\n"
  9726.    "      (declare (in) sampler3D sampler)\n"
  9727.    "      (declare (in) vec3 coord)\n"
  9728.    "      (declare (in) float lod))\n"
  9729.    "    ()))\n"
  9730.    "(function texture3DProjLod\n"
  9731.    "  (signature vec4\n"
  9732.    "    (parameters\n"
  9733.    "      (declare (in) sampler3D sampler)\n"
  9734.    "      (declare (in) vec4 coord)\n"
  9735.    "      (declare (in) float lod))\n"
  9736.    "    ()))\n"
  9737.    "(function textureCube\n"
  9738.    "  (signature vec4\n"
  9739.    "    (parameters\n"
  9740.    "      (declare (in) samplerCube sampler)\n"
  9741.    "      (declare (in) vec3 coord))\n"
  9742.    "    ()))\n"
  9743.    "(function textureCubeLod\n"
  9744.    "  (signature vec4\n"
  9745.    "    (parameters\n"
  9746.    "      (declare (in) samplerCube sampler)\n"
  9747.    "      (declare (in) vec3 coord)\n"
  9748.    "      (declare (in) float lod))\n"
  9749.    "    ()))\n"
  9750.    "(function shadow1D\n"
  9751.    "  (signature vec4\n"
  9752.    "    (parameters\n"
  9753.    "      (declare (in) sampler1DShadow sampler)\n"
  9754.    "      (declare (in) vec3 coord))\n"
  9755.    "    ()))\n"
  9756.    "(function shadow2D\n"
  9757.    "  (signature vec4\n"
  9758.    "    (parameters\n"
  9759.    "      (declare (in) sampler2DShadow sampler)\n"
  9760.    "      (declare (in) vec3 coord))\n"
  9761.    "    ()))\n"
  9762.    "(function shadow1DProj\n"
  9763.    "  (signature vec4\n"
  9764.    "    (parameters\n"
  9765.    "      (declare (in) sampler1DShadow sampler)\n"
  9766.    "      (declare (in) vec4 coord))\n"
  9767.    "    ()))\n"
  9768.    "(function shadow2DProj\n"
  9769.    "  (signature vec4\n"
  9770.    "    (parameters\n"
  9771.    "      (declare (in) sampler2DShadow sampler)\n"
  9772.    "      (declare (in) vec4 coord))\n"
  9773.    "    ()))\n"
  9774.    "(function shadow1DLod\n"
  9775.    "  (signature vec4\n"
  9776.    "    (parameters\n"
  9777.    "      (declare (in) sampler1DShadow sampler)\n"
  9778.    "      (declare (in) vec3 coord)\n"
  9779.    "      (declare (in) float lod))\n"
  9780.    "    ()))\n"
  9781.    "(function shadow2DLod\n"
  9782.    "  (signature vec4\n"
  9783.    "    (parameters\n"
  9784.    "      (declare (in) sampler2DShadow sampler)\n"
  9785.    "      (declare (in) vec3 coord)\n"
  9786.    "      (declare (in) float lod))\n"
  9787.    "    ()))\n"
  9788.    "(function shadow1DProjLod\n"
  9789.    "  (signature vec4\n"
  9790.    "    (parameters\n"
  9791.    "      (declare (in) sampler1DShadow sampler)\n"
  9792.    "      (declare (in) vec4 coord)\n"
  9793.    "      (declare (in) float lod))\n"
  9794.    "    ()))\n"
  9795.    "(function shadow2DProjLod\n"
  9796.    "  (signature vec4\n"
  9797.    "    (parameters\n"
  9798.    "      (declare (in) sampler2DShadow sampler)\n"
  9799.    "      (declare (in) vec4 coord)\n"
  9800.    "      (declare (in) float lod))\n"
  9801.    "    ()))\n"
  9802.    "(function noise1\n"
  9803.    "  (signature float\n"
  9804.    "    (parameters\n"
  9805.    "      (declare (in) float x))\n"
  9806.    "    ())\n"
  9807.    "  (signature float\n"
  9808.    "    (parameters\n"
  9809.    "      (declare (in) vec2 x))\n"
  9810.    "    ())\n"
  9811.    "  (signature float\n"
  9812.    "    (parameters\n"
  9813.    "      (declare (in) vec3 x))\n"
  9814.    "    ())\n"
  9815.    "  (signature float\n"
  9816.    "    (parameters\n"
  9817.    "      (declare (in) vec4 x))\n"
  9818.    "    ()))\n"
  9819.    "(function noise2\n"
  9820.    "  (signature vec2\n"
  9821.    "    (parameters\n"
  9822.    "      (declare (in) float x))\n"
  9823.    "    ())\n"
  9824.    "  (signature vec2\n"
  9825.    "    (parameters\n"
  9826.    "      (declare (in) vec2 x))\n"
  9827.    "    ())\n"
  9828.    "  (signature vec2\n"
  9829.    "    (parameters\n"
  9830.    "      (declare (in) vec3 x))\n"
  9831.    "    ())\n"
  9832.    "  (signature vec2\n"
  9833.    "    (parameters\n"
  9834.    "      (declare (in) vec4 x))\n"
  9835.    "    ()))\n"
  9836.    "(function noise3\n"
  9837.    "  (signature vec3\n"
  9838.    "    (parameters\n"
  9839.    "      (declare (in) float x))\n"
  9840.    "    ())\n"
  9841.    "  (signature vec3\n"
  9842.    "    (parameters\n"
  9843.    "      (declare (in) vec2 x))\n"
  9844.    "    ())\n"
  9845.    "  (signature vec3\n"
  9846.    "    (parameters\n"
  9847.    "      (declare (in) vec3 x))\n"
  9848.    "    ())\n"
  9849.    "  (signature vec3\n"
  9850.    "    (parameters\n"
  9851.    "      (declare (in) vec4 x))\n"
  9852.    "    ()))\n"
  9853.    "(function noise4\n"
  9854.    "  (signature vec4\n"
  9855.    "    (parameters\n"
  9856.    "      (declare (in) float x))\n"
  9857.    "    ())\n"
  9858.    "  (signature vec4\n"
  9859.    "    (parameters\n"
  9860.    "      (declare (in) vec2 x))\n"
  9861.    "    ())\n"
  9862.    "  (signature vec4\n"
  9863.    "    (parameters\n"
  9864.    "      (declare (in) vec3 x))\n"
  9865.    "    ())\n"
  9866.    "  (signature vec4\n"
  9867.    "    (parameters\n"
  9868.    "      (declare (in) vec4 x))\n"
  9869.    "    ())))"
  9870. ;
  9871. static const char *functions_for_110_vert [] = {
  9872.    builtin_abs,
  9873.    builtin_acos,
  9874.    builtin_all,
  9875.    builtin_any,
  9876.    builtin_asin,
  9877.    builtin_atan,
  9878.    builtin_ceil,
  9879.    builtin_clamp,
  9880.    builtin_cos,
  9881.    builtin_cross,
  9882.    builtin_degrees,
  9883.    builtin_distance,
  9884.    builtin_dot,
  9885.    builtin_equal,
  9886.    builtin_exp,
  9887.    builtin_exp2,
  9888.    builtin_faceforward,
  9889.    builtin_floor,
  9890.    builtin_fract,
  9891.    builtin_ftransform,
  9892.    builtin_greaterThan,
  9893.    builtin_greaterThanEqual,
  9894.    builtin_inversesqrt,
  9895.    builtin_length,
  9896.    builtin_lessThan,
  9897.    builtin_lessThanEqual,
  9898.    builtin_log,
  9899.    builtin_log2,
  9900.    builtin_matrixCompMult,
  9901.    builtin_max,
  9902.    builtin_min,
  9903.    builtin_mix,
  9904.    builtin_mod,
  9905.    builtin_noise1,
  9906.    builtin_noise2,
  9907.    builtin_noise3,
  9908.    builtin_noise4,
  9909.    builtin_normalize,
  9910.    builtin_not,
  9911.    builtin_notEqual,
  9912.    builtin_pow,
  9913.    builtin_radians,
  9914.    builtin_reflect,
  9915.    builtin_refract,
  9916.    builtin_shadow1D,
  9917.    builtin_shadow1DLod,
  9918.    builtin_shadow1DProj,
  9919.    builtin_shadow1DProjLod,
  9920.    builtin_shadow2D,
  9921.    builtin_shadow2DLod,
  9922.    builtin_shadow2DProj,
  9923.    builtin_shadow2DProjLod,
  9924.    builtin_sign,
  9925.    builtin_sin,
  9926.    builtin_smoothstep,
  9927.    builtin_sqrt,
  9928.    builtin_step,
  9929.    builtin_tan,
  9930.    builtin_texture1D,
  9931.    builtin_texture1DLod,
  9932.    builtin_texture1DProj,
  9933.    builtin_texture1DProjLod,
  9934.    builtin_texture2D,
  9935.    builtin_texture2DLod,
  9936.    builtin_texture2DProj,
  9937.    builtin_texture2DProjLod,
  9938.    builtin_texture3D,
  9939.    builtin_texture3DLod,
  9940.    builtin_texture3DProj,
  9941.    builtin_texture3DProjLod,
  9942.    builtin_textureCube,
  9943.    builtin_textureCubeLod,
  9944. };
  9945. static const char prototypes_for_120_frag[] =
  9946.    "(\n"
  9947.    "(function radians\n"
  9948.    "  (signature float\n"
  9949.    "    (parameters\n"
  9950.    "      (declare (in) float degrees))\n"
  9951.    "    ())\n"
  9952.    "  (signature vec2\n"
  9953.    "    (parameters\n"
  9954.    "      (declare (in) vec2 degrees))\n"
  9955.    "    ())\n"
  9956.    "  (signature vec3\n"
  9957.    "    (parameters\n"
  9958.    "      (declare (in) vec3 degrees))\n"
  9959.    "    ())\n"
  9960.    "  (signature vec4\n"
  9961.    "    (parameters\n"
  9962.    "      (declare (in) vec4 degrees))\n"
  9963.    "    ()))\n"
  9964.    "(function degrees\n"
  9965.    "  (signature float\n"
  9966.    "    (parameters\n"
  9967.    "      (declare (in) float radians))\n"
  9968.    "    ())\n"
  9969.    "  (signature vec2\n"
  9970.    "    (parameters\n"
  9971.    "      (declare (in) vec2 radians))\n"
  9972.    "    ())\n"
  9973.    "  (signature vec3\n"
  9974.    "    (parameters\n"
  9975.    "      (declare (in) vec3 radians))\n"
  9976.    "    ())\n"
  9977.    "  (signature vec4\n"
  9978.    "    (parameters\n"
  9979.    "      (declare (in) vec4 radians))\n"
  9980.    "    ()))\n"
  9981.    "(function sin\n"
  9982.    "  (signature float\n"
  9983.    "    (parameters\n"
  9984.    "      (declare (in) float angle))\n"
  9985.    "    ())\n"
  9986.    "  (signature vec2\n"
  9987.    "    (parameters\n"
  9988.    "      (declare (in) vec2 angle))\n"
  9989.    "    ())\n"
  9990.    "  (signature vec3\n"
  9991.    "    (parameters\n"
  9992.    "      (declare (in) vec3 angle))\n"
  9993.    "    ())\n"
  9994.    "  (signature vec4\n"
  9995.    "    (parameters\n"
  9996.    "      (declare (in) vec4 angle))\n"
  9997.    "    ()))\n"
  9998.    "(function cos\n"
  9999.    "  (signature float\n"
  10000.    "    (parameters\n"
  10001.    "      (declare (in) float angle))\n"
  10002.    "    ())\n"
  10003.    "  (signature vec2\n"
  10004.    "    (parameters\n"
  10005.    "      (declare (in) vec2 angle))\n"
  10006.    "    ())\n"
  10007.    "  (signature vec3\n"
  10008.    "    (parameters\n"
  10009.    "      (declare (in) vec3 angle))\n"
  10010.    "    ())\n"
  10011.    "  (signature vec4\n"
  10012.    "    (parameters\n"
  10013.    "      (declare (in) vec4 angle))\n"
  10014.    "    ()))\n"
  10015.    "(function tan\n"
  10016.    "  (signature float\n"
  10017.    "    (parameters\n"
  10018.    "      (declare (in) float angle))\n"
  10019.    "    ())\n"
  10020.    "  (signature vec2\n"
  10021.    "    (parameters\n"
  10022.    "      (declare (in) vec2 angle))\n"
  10023.    "    ())\n"
  10024.    "  (signature vec3\n"
  10025.    "    (parameters\n"
  10026.    "      (declare (in) vec3 angle))\n"
  10027.    "    ())\n"
  10028.    "  (signature vec4\n"
  10029.    "    (parameters\n"
  10030.    "      (declare (in) vec4 angle))\n"
  10031.    "    ()))\n"
  10032.    "(function asin\n"
  10033.    "  (signature float\n"
  10034.    "    (parameters\n"
  10035.    "      (declare (in) float angle))\n"
  10036.    "    ())\n"
  10037.    "  (signature vec2\n"
  10038.    "    (parameters\n"
  10039.    "      (declare (in) vec2 angle))\n"
  10040.    "    ())\n"
  10041.    "  (signature vec3\n"
  10042.    "    (parameters\n"
  10043.    "      (declare (in) vec3 angle))\n"
  10044.    "    ())\n"
  10045.    "  (signature vec4\n"
  10046.    "    (parameters\n"
  10047.    "      (declare (in) vec4 angle))\n"
  10048.    "    ()))\n"
  10049.    "(function acos\n"
  10050.    "  (signature float\n"
  10051.    "    (parameters\n"
  10052.    "      (declare (in) float angle))\n"
  10053.    "    ())\n"
  10054.    "  (signature vec2\n"
  10055.    "    (parameters\n"
  10056.    "      (declare (in) vec2 angle))\n"
  10057.    "    ())\n"
  10058.    "  (signature vec3\n"
  10059.    "    (parameters\n"
  10060.    "      (declare (in) vec3 angle))\n"
  10061.    "    ())\n"
  10062.    "  (signature vec4\n"
  10063.    "    (parameters\n"
  10064.    "      (declare (in) vec4 angle))\n"
  10065.    "    ()))\n"
  10066.    "(function atan\n"
  10067.    "  (signature float\n"
  10068.    "    (parameters\n"
  10069.    "      (declare (in) float y)\n"
  10070.    "      (declare (in) float x))\n"
  10071.    "    ())\n"
  10072.    "  (signature vec2\n"
  10073.    "    (parameters\n"
  10074.    "      (declare (in) vec2 y)\n"
  10075.    "      (declare (in) vec2 x))\n"
  10076.    "    ())\n"
  10077.    "  (signature vec3\n"
  10078.    "    (parameters\n"
  10079.    "      (declare (in) vec3 y)\n"
  10080.    "      (declare (in) vec3 x))\n"
  10081.    "    ())\n"
  10082.    "  (signature vec4\n"
  10083.    "    (parameters\n"
  10084.    "      (declare (in) vec4 y)\n"
  10085.    "      (declare (in) vec4 x))\n"
  10086.    "    ())\n"
  10087.    "  (signature float\n"
  10088.    "    (parameters\n"
  10089.    "      (declare (in) float y_over_x))\n"
  10090.    "    ())\n"
  10091.    "  (signature vec2\n"
  10092.    "    (parameters\n"
  10093.    "      (declare (in) vec2 y_over_x))\n"
  10094.    "    ())\n"
  10095.    "  (signature vec3\n"
  10096.    "    (parameters\n"
  10097.    "      (declare (in) vec3 y_over_x))\n"
  10098.    "    ())\n"
  10099.    "  (signature vec4\n"
  10100.    "    (parameters\n"
  10101.    "      (declare (in) vec4 y_over_x))\n"
  10102.    "    ()))\n"
  10103.    "(function pow\n"
  10104.    "  (signature float\n"
  10105.    "    (parameters\n"
  10106.    "      (declare (in) float x)\n"
  10107.    "      (declare (in) float y))\n"
  10108.    "    ())\n"
  10109.    "  (signature vec2\n"
  10110.    "    (parameters\n"
  10111.    "      (declare (in) vec2 x)\n"
  10112.    "      (declare (in) vec2 y))\n"
  10113.    "    ())\n"
  10114.    "  (signature vec3\n"
  10115.    "    (parameters\n"
  10116.    "      (declare (in) vec3 x)\n"
  10117.    "      (declare (in) vec3 y))\n"
  10118.    "    ())\n"
  10119.    "  (signature vec4\n"
  10120.    "    (parameters\n"
  10121.    "      (declare (in) vec4 x)\n"
  10122.    "      (declare (in) vec4 y))\n"
  10123.    "    ()))\n"
  10124.    "(function exp\n"
  10125.    "  (signature float\n"
  10126.    "    (parameters\n"
  10127.    "      (declare (in) float x))\n"
  10128.    "    ())\n"
  10129.    "  (signature vec2\n"
  10130.    "    (parameters\n"
  10131.    "      (declare (in) vec2 x))\n"
  10132.    "    ())\n"
  10133.    "  (signature vec3\n"
  10134.    "    (parameters\n"
  10135.    "      (declare (in) vec3 x))\n"
  10136.    "    ())\n"
  10137.    "  (signature vec4\n"
  10138.    "    (parameters\n"
  10139.    "      (declare (in) vec4 x))\n"
  10140.    "    ()))\n"
  10141.    "(function log\n"
  10142.    "  (signature float\n"
  10143.    "    (parameters\n"
  10144.    "      (declare (in) float x))\n"
  10145.    "    ())\n"
  10146.    "  (signature vec2\n"
  10147.    "    (parameters\n"
  10148.    "      (declare (in) vec2 x))\n"
  10149.    "    ())\n"
  10150.    "  (signature vec3\n"
  10151.    "    (parameters\n"
  10152.    "      (declare (in) vec3 x))\n"
  10153.    "    ())\n"
  10154.    "  (signature vec4\n"
  10155.    "    (parameters\n"
  10156.    "      (declare (in) vec4 x))\n"
  10157.    "    ()))\n"
  10158.    "(function exp2\n"
  10159.    "  (signature float\n"
  10160.    "    (parameters\n"
  10161.    "      (declare (in) float x))\n"
  10162.    "    ())\n"
  10163.    "  (signature vec2\n"
  10164.    "    (parameters\n"
  10165.    "      (declare (in) vec2 x))\n"
  10166.    "    ())\n"
  10167.    "  (signature vec3\n"
  10168.    "    (parameters\n"
  10169.    "      (declare (in) vec3 x))\n"
  10170.    "    ())\n"
  10171.    "  (signature vec4\n"
  10172.    "    (parameters\n"
  10173.    "      (declare (in) vec4 x))\n"
  10174.    "    ()))\n"
  10175.    "(function log2\n"
  10176.    "  (signature float\n"
  10177.    "    (parameters\n"
  10178.    "      (declare (in) float x))\n"
  10179.    "    ())\n"
  10180.    "  (signature vec2\n"
  10181.    "    (parameters\n"
  10182.    "      (declare (in) vec2 x))\n"
  10183.    "    ())\n"
  10184.    "  (signature vec3\n"
  10185.    "    (parameters\n"
  10186.    "      (declare (in) vec3 x))\n"
  10187.    "    ())\n"
  10188.    "  (signature vec4\n"
  10189.    "    (parameters\n"
  10190.    "      (declare (in) vec4 x))\n"
  10191.    "    ()))\n"
  10192.    "(function sqrt\n"
  10193.    "  (signature float\n"
  10194.    "    (parameters\n"
  10195.    "      (declare (in) float x))\n"
  10196.    "    ())\n"
  10197.    "  (signature vec2\n"
  10198.    "    (parameters\n"
  10199.    "      (declare (in) vec2 x))\n"
  10200.    "    ())\n"
  10201.    "  (signature vec3\n"
  10202.    "    (parameters\n"
  10203.    "      (declare (in) vec3 x))\n"
  10204.    "    ())\n"
  10205.    "  (signature vec4\n"
  10206.    "    (parameters\n"
  10207.    "      (declare (in) vec4 x))\n"
  10208.    "    ()))\n"
  10209.    "(function inversesqrt\n"
  10210.    "  (signature float\n"
  10211.    "    (parameters\n"
  10212.    "      (declare (in) float x))\n"
  10213.    "    ())\n"
  10214.    "  (signature vec2\n"
  10215.    "    (parameters\n"
  10216.    "      (declare (in) vec2 x))\n"
  10217.    "    ())\n"
  10218.    "  (signature vec3\n"
  10219.    "    (parameters\n"
  10220.    "      (declare (in) vec3 x))\n"
  10221.    "    ())\n"
  10222.    "  (signature vec4\n"
  10223.    "    (parameters\n"
  10224.    "      (declare (in) vec4 x))\n"
  10225.    "    ()))\n"
  10226.    "(function abs\n"
  10227.    "  (signature float\n"
  10228.    "    (parameters\n"
  10229.    "      (declare (in) float x))\n"
  10230.    "    ())\n"
  10231.    "  (signature vec2\n"
  10232.    "    (parameters\n"
  10233.    "      (declare (in) vec2 x))\n"
  10234.    "    ())\n"
  10235.    "  (signature vec3\n"
  10236.    "    (parameters\n"
  10237.    "      (declare (in) vec3 x))\n"
  10238.    "    ())\n"
  10239.    "  (signature vec4\n"
  10240.    "    (parameters\n"
  10241.    "      (declare (in) vec4 x))\n"
  10242.    "    ()))\n"
  10243.    "(function sign\n"
  10244.    "  (signature float\n"
  10245.    "    (parameters\n"
  10246.    "      (declare (in) float x))\n"
  10247.    "    ())\n"
  10248.    "  (signature vec2\n"
  10249.    "    (parameters\n"
  10250.    "      (declare (in) vec2 x))\n"
  10251.    "    ())\n"
  10252.    "  (signature vec3\n"
  10253.    "    (parameters\n"
  10254.    "      (declare (in) vec3 x))\n"
  10255.    "    ())\n"
  10256.    "  (signature vec4\n"
  10257.    "    (parameters\n"
  10258.    "      (declare (in) vec4 x))\n"
  10259.    "    ()))\n"
  10260.    "(function floor\n"
  10261.    "  (signature float\n"
  10262.    "    (parameters\n"
  10263.    "      (declare (in) float x))\n"
  10264.    "    ())\n"
  10265.    "  (signature vec2\n"
  10266.    "    (parameters\n"
  10267.    "      (declare (in) vec2 x))\n"
  10268.    "    ())\n"
  10269.    "  (signature vec3\n"
  10270.    "    (parameters\n"
  10271.    "      (declare (in) vec3 x))\n"
  10272.    "    ())\n"
  10273.    "  (signature vec4\n"
  10274.    "    (parameters\n"
  10275.    "      (declare (in) vec4 x))\n"
  10276.    "    ()))\n"
  10277.    "(function ceil\n"
  10278.    "  (signature float\n"
  10279.    "    (parameters\n"
  10280.    "      (declare (in) float x))\n"
  10281.    "    ())\n"
  10282.    "  (signature vec2\n"
  10283.    "    (parameters\n"
  10284.    "      (declare (in) vec2 x))\n"
  10285.    "    ())\n"
  10286.    "  (signature vec3\n"
  10287.    "    (parameters\n"
  10288.    "      (declare (in) vec3 x))\n"
  10289.    "    ())\n"
  10290.    "  (signature vec4\n"
  10291.    "    (parameters\n"
  10292.    "      (declare (in) vec4 x))\n"
  10293.    "    ()))\n"
  10294.    "(function fract\n"
  10295.    "  (signature float\n"
  10296.    "    (parameters\n"
  10297.    "      (declare (in) float x))\n"
  10298.    "    ())\n"
  10299.    "  (signature vec2\n"
  10300.    "    (parameters\n"
  10301.    "      (declare (in) vec2 x))\n"
  10302.    "    ())\n"
  10303.    "  (signature vec3\n"
  10304.    "    (parameters\n"
  10305.    "      (declare (in) vec3 x))\n"
  10306.    "    ())\n"
  10307.    "  (signature vec4\n"
  10308.    "    (parameters\n"
  10309.    "      (declare (in) vec4 x))\n"
  10310.    "    ()))\n"
  10311.    "(function mod\n"
  10312.    "  (signature float\n"
  10313.    "    (parameters\n"
  10314.    "      (declare (in) float x)\n"
  10315.    "      (declare (in) float y))\n"
  10316.    "    ())\n"
  10317.    "  (signature vec2\n"
  10318.    "    (parameters\n"
  10319.    "      (declare (in) vec2 x)\n"
  10320.    "      (declare (in) float y))\n"
  10321.    "    ())\n"
  10322.    "  (signature vec3\n"
  10323.    "    (parameters\n"
  10324.    "      (declare (in) vec3 x)\n"
  10325.    "      (declare (in) float y))\n"
  10326.    "    ())\n"
  10327.    "  (signature vec4\n"
  10328.    "    (parameters\n"
  10329.    "      (declare (in) vec4 x)\n"
  10330.    "      (declare (in) float y))\n"
  10331.    "    ())\n"
  10332.    "  (signature vec2\n"
  10333.    "    (parameters\n"
  10334.    "      (declare (in) vec2 x)\n"
  10335.    "      (declare (in) vec2 y))\n"
  10336.    "    ())\n"
  10337.    "  (signature vec3\n"
  10338.    "    (parameters\n"
  10339.    "      (declare (in) vec3 x)\n"
  10340.    "      (declare (in) vec3 y))\n"
  10341.    "    ())\n"
  10342.    "  (signature vec4\n"
  10343.    "    (parameters\n"
  10344.    "      (declare (in) vec4 x)\n"
  10345.    "      (declare (in) vec4 y))\n"
  10346.    "    ()))\n"
  10347.    "(function min\n"
  10348.    "  (signature float\n"
  10349.    "    (parameters\n"
  10350.    "      (declare (in) float x)\n"
  10351.    "      (declare (in) float y))\n"
  10352.    "    ())\n"
  10353.    "  (signature vec2\n"
  10354.    "    (parameters\n"
  10355.    "      (declare (in) vec2 x)\n"
  10356.    "      (declare (in) vec2 y))\n"
  10357.    "    ())\n"
  10358.    "  (signature vec3\n"
  10359.    "    (parameters\n"
  10360.    "      (declare (in) vec3 x)\n"
  10361.    "      (declare (in) vec3 y))\n"
  10362.    "    ())\n"
  10363.    "  (signature vec4\n"
  10364.    "    (parameters\n"
  10365.    "      (declare (in) vec4 x)\n"
  10366.    "      (declare (in) vec4 y))\n"
  10367.    "    ())\n"
  10368.    "  (signature vec2\n"
  10369.    "    (parameters\n"
  10370.    "      (declare (in) vec2 x)\n"
  10371.    "      (declare (in) float y))\n"
  10372.    "    ())\n"
  10373.    "  (signature vec3\n"
  10374.    "    (parameters\n"
  10375.    "      (declare (in) vec3 x)\n"
  10376.    "      (declare (in) float y))\n"
  10377.    "    ())\n"
  10378.    "  (signature vec4\n"
  10379.    "    (parameters\n"
  10380.    "      (declare (in) vec4 x)\n"
  10381.    "      (declare (in) float y))\n"
  10382.    "    ()))\n"
  10383.    "(function max\n"
  10384.    "  (signature float\n"
  10385.    "    (parameters\n"
  10386.    "      (declare (in) float x)\n"
  10387.    "      (declare (in) float y))\n"
  10388.    "    ())\n"
  10389.    "  (signature vec2\n"
  10390.    "    (parameters\n"
  10391.    "      (declare (in) vec2 x)\n"
  10392.    "      (declare (in) vec2 y))\n"
  10393.    "    ())\n"
  10394.    "  (signature vec3\n"
  10395.    "    (parameters\n"
  10396.    "      (declare (in) vec3 x)\n"
  10397.    "      (declare (in) vec3 y))\n"
  10398.    "    ())\n"
  10399.    "  (signature vec4\n"
  10400.    "    (parameters\n"
  10401.    "      (declare (in) vec4 x)\n"
  10402.    "      (declare (in) vec4 y))\n"
  10403.    "    ())\n"
  10404.    "  (signature vec2\n"
  10405.    "    (parameters\n"
  10406.    "      (declare (in) vec2 x)\n"
  10407.    "      (declare (in) float y))\n"
  10408.    "    ())\n"
  10409.    "  (signature vec3\n"
  10410.    "    (parameters\n"
  10411.    "      (declare (in) vec3 x)\n"
  10412.    "      (declare (in) float y))\n"
  10413.    "    ())\n"
  10414.    "  (signature vec4\n"
  10415.    "    (parameters\n"
  10416.    "      (declare (in) vec4 x)\n"
  10417.    "      (declare (in) float y))\n"
  10418.    "    ()))\n"
  10419.    "(function clamp\n"
  10420.    "  (signature float\n"
  10421.    "    (parameters\n"
  10422.    "      (declare (in) float x)\n"
  10423.    "      (declare (in) float minVal)\n"
  10424.    "      (declare (in) float maxVal))\n"
  10425.    "    ())\n"
  10426.    "  (signature vec2\n"
  10427.    "    (parameters\n"
  10428.    "      (declare (in) vec2 x)\n"
  10429.    "      (declare (in) vec2 minVal)\n"
  10430.    "      (declare (in) vec2 maxVal))\n"
  10431.    "    ())\n"
  10432.    "  (signature vec3\n"
  10433.    "    (parameters\n"
  10434.    "      (declare (in) vec3 x)\n"
  10435.    "      (declare (in) vec3 minVal)\n"
  10436.    "      (declare (in) vec3 maxVal))\n"
  10437.    "    ())\n"
  10438.    "  (signature vec4\n"
  10439.    "    (parameters\n"
  10440.    "      (declare (in) vec4 x)\n"
  10441.    "      (declare (in) vec4 minVal)\n"
  10442.    "      (declare (in) vec4 maxVal))\n"
  10443.    "    ())\n"
  10444.    "  (signature vec2\n"
  10445.    "    (parameters\n"
  10446.    "      (declare (in) vec2 x)\n"
  10447.    "      (declare (in) float minVal)\n"
  10448.    "      (declare (in) float maxVal))\n"
  10449.    "    ())\n"
  10450.    "  (signature vec3\n"
  10451.    "    (parameters\n"
  10452.    "      (declare (in) vec3 x)\n"
  10453.    "      (declare (in) float minVal)\n"
  10454.    "      (declare (in) float maxVal))\n"
  10455.    "    ())\n"
  10456.    "  (signature vec4\n"
  10457.    "    (parameters\n"
  10458.    "      (declare (in) vec4 x)\n"
  10459.    "      (declare (in) float minVal)\n"
  10460.    "      (declare (in) float maxVal))\n"
  10461.    "    ()))\n"
  10462.    "(function mix\n"
  10463.    "  (signature float\n"
  10464.    "    (parameters\n"
  10465.    "      (declare (in) float x)\n"
  10466.    "      (declare (in) float y)\n"
  10467.    "      (declare (in) float a))\n"
  10468.    "    ())\n"
  10469.    "  (signature vec2\n"
  10470.    "    (parameters\n"
  10471.    "      (declare (in) vec2 x)\n"
  10472.    "      (declare (in) vec2 y)\n"
  10473.    "      (declare (in) vec2 a))\n"
  10474.    "    ())\n"
  10475.    "  (signature vec3\n"
  10476.    "    (parameters\n"
  10477.    "      (declare (in) vec3 x)\n"
  10478.    "      (declare (in) vec3 y)\n"
  10479.    "      (declare (in) vec3 a))\n"
  10480.    "    ())\n"
  10481.    "  (signature vec4\n"
  10482.    "    (parameters\n"
  10483.    "      (declare (in) vec4 x)\n"
  10484.    "      (declare (in) vec4 y)\n"
  10485.    "      (declare (in) vec4 a))\n"
  10486.    "    ())\n"
  10487.    "  (signature vec2\n"
  10488.    "    (parameters\n"
  10489.    "      (declare (in) vec2 x)\n"
  10490.    "      (declare (in) vec2 y)\n"
  10491.    "      (declare (in) float a))\n"
  10492.    "    ())\n"
  10493.    "  (signature vec3\n"
  10494.    "    (parameters\n"
  10495.    "      (declare (in) vec3 x)\n"
  10496.    "      (declare (in) vec3 y)\n"
  10497.    "      (declare (in) float a))\n"
  10498.    "    ())\n"
  10499.    "  (signature vec4\n"
  10500.    "    (parameters\n"
  10501.    "      (declare (in) vec4 x)\n"
  10502.    "      (declare (in) vec4 y)\n"
  10503.    "      (declare (in) float a))\n"
  10504.    "    ()))\n"
  10505.    "(function step\n"
  10506.    "  (signature float\n"
  10507.    "    (parameters\n"
  10508.    "      (declare (in) float edge)\n"
  10509.    "      (declare (in) float x))\n"
  10510.    "    ())\n"
  10511.    "  (signature vec2\n"
  10512.    "    (parameters\n"
  10513.    "      (declare (in) vec2 edge)\n"
  10514.    "      (declare (in) vec2 x))\n"
  10515.    "    ())\n"
  10516.    "  (signature vec3\n"
  10517.    "    (parameters\n"
  10518.    "      (declare (in) vec3 edge)\n"
  10519.    "      (declare (in) vec3 x))\n"
  10520.    "    ())\n"
  10521.    "  (signature vec4\n"
  10522.    "    (parameters\n"
  10523.    "      (declare (in) vec4 edge)\n"
  10524.    "      (declare (in) vec4 x))\n"
  10525.    "    ())\n"
  10526.    "  (signature vec2\n"
  10527.    "    (parameters\n"
  10528.    "      (declare (in) float edge)\n"
  10529.    "      (declare (in) vec2 x))\n"
  10530.    "    ())\n"
  10531.    "  (signature vec3\n"
  10532.    "    (parameters\n"
  10533.    "      (declare (in) float edge)\n"
  10534.    "      (declare (in) vec3 x))\n"
  10535.    "    ())\n"
  10536.    "  (signature vec4\n"
  10537.    "    (parameters\n"
  10538.    "      (declare (in) float edge)\n"
  10539.    "      (declare (in) vec4 x))\n"
  10540.    "    ()))\n"
  10541.    "(function smoothstep\n"
  10542.    "  (signature float\n"
  10543.    "    (parameters\n"
  10544.    "      (declare (in) float edge0)\n"
  10545.    "      (declare (in) float edge1)\n"
  10546.    "      (declare (in) float x))\n"
  10547.    "    ())\n"
  10548.    "  (signature vec2\n"
  10549.    "    (parameters\n"
  10550.    "      (declare (in) vec2 edge0)\n"
  10551.    "      (declare (in) vec2 edge1)\n"
  10552.    "      (declare (in) vec2 x))\n"
  10553.    "    ())\n"
  10554.    "  (signature vec3\n"
  10555.    "    (parameters\n"
  10556.    "      (declare (in) vec3 edge0)\n"
  10557.    "      (declare (in) vec3 edge1)\n"
  10558.    "      (declare (in) vec3 x))\n"
  10559.    "    ())\n"
  10560.    "  (signature vec4\n"
  10561.    "    (parameters\n"
  10562.    "      (declare (in) vec4 edge0)\n"
  10563.    "      (declare (in) vec4 edge1)\n"
  10564.    "      (declare (in) vec4 x))\n"
  10565.    "    ())\n"
  10566.    "  (signature vec2\n"
  10567.    "    (parameters\n"
  10568.    "      (declare (in) float edge0)\n"
  10569.    "      (declare (in) float edge1)\n"
  10570.    "      (declare (in) vec2 x))\n"
  10571.    "    ())\n"
  10572.    "  (signature vec3\n"
  10573.    "    (parameters\n"
  10574.    "      (declare (in) float edge0)\n"
  10575.    "      (declare (in) float edge1)\n"
  10576.    "      (declare (in) vec3 x))\n"
  10577.    "    ())\n"
  10578.    "  (signature vec4\n"
  10579.    "    (parameters\n"
  10580.    "      (declare (in) float edge0)\n"
  10581.    "      (declare (in) float edge1)\n"
  10582.    "      (declare (in) vec4 x))\n"
  10583.    "    ()))\n"
  10584.    "(function length\n"
  10585.    "  (signature float\n"
  10586.    "    (parameters\n"
  10587.    "      (declare (in) float x))\n"
  10588.    "    ())\n"
  10589.    "  (signature float\n"
  10590.    "    (parameters\n"
  10591.    "      (declare (in) vec2 x))\n"
  10592.    "    ())\n"
  10593.    "  (signature float\n"
  10594.    "    (parameters\n"
  10595.    "      (declare (in) vec3 x))\n"
  10596.    "    ())\n"
  10597.    "  (signature float\n"
  10598.    "    (parameters\n"
  10599.    "      (declare (in) vec4 x))\n"
  10600.    "    ()))\n"
  10601.    "(function distance\n"
  10602.    "  (signature float\n"
  10603.    "    (parameters\n"
  10604.    "      (declare (in) float p0)\n"
  10605.    "      (declare (in) float p1))\n"
  10606.    "    ())\n"
  10607.    "  (signature float\n"
  10608.    "    (parameters\n"
  10609.    "      (declare (in) vec2 p0)\n"
  10610.    "      (declare (in) vec2 p1))\n"
  10611.    "    ())\n"
  10612.    "  (signature float\n"
  10613.    "    (parameters\n"
  10614.    "      (declare (in) vec3 p0)\n"
  10615.    "      (declare (in) vec3 p1))\n"
  10616.    "    ())\n"
  10617.    "  (signature float\n"
  10618.    "    (parameters\n"
  10619.    "      (declare (in) vec4 p0)\n"
  10620.    "      (declare (in) vec4 p1))\n"
  10621.    "    ()))\n"
  10622.    "(function dot\n"
  10623.    "  (signature float\n"
  10624.    "    (parameters\n"
  10625.    "      (declare (in) float x)\n"
  10626.    "      (declare (in) float y))\n"
  10627.    "    ())\n"
  10628.    "  (signature float\n"
  10629.    "    (parameters\n"
  10630.    "      (declare (in) vec2 x)\n"
  10631.    "      (declare (in) vec2 y))\n"
  10632.    "    ())\n"
  10633.    "  (signature float\n"
  10634.    "    (parameters\n"
  10635.    "      (declare (in) vec3 x)\n"
  10636.    "      (declare (in) vec3 y))\n"
  10637.    "    ())\n"
  10638.    "  (signature float\n"
  10639.    "    (parameters\n"
  10640.    "      (declare (in) vec4 x)\n"
  10641.    "      (declare (in) vec4 y))\n"
  10642.    "    ()))\n"
  10643.    "(function cross\n"
  10644.    "  (signature vec3\n"
  10645.    "    (parameters\n"
  10646.    "      (declare (in) vec3 x)\n"
  10647.    "      (declare (in) vec3 y))\n"
  10648.    "    ()))\n"
  10649.    "(function normalize\n"
  10650.    "  (signature float\n"
  10651.    "    (parameters\n"
  10652.    "      (declare (in) float x))\n"
  10653.    "    ())\n"
  10654.    "  (signature vec2\n"
  10655.    "    (parameters\n"
  10656.    "      (declare (in) vec2 x))\n"
  10657.    "    ())\n"
  10658.    "  (signature vec3\n"
  10659.    "    (parameters\n"
  10660.    "      (declare (in) vec3 x))\n"
  10661.    "    ())\n"
  10662.    "  (signature vec4\n"
  10663.    "    (parameters\n"
  10664.    "      (declare (in) vec4 x))\n"
  10665.    "    ()))\n"
  10666.    "(function faceforward\n"
  10667.    "  (signature float\n"
  10668.    "    (parameters\n"
  10669.    "      (declare (in) float N)\n"
  10670.    "      (declare (in) float I)\n"
  10671.    "      (declare (in) float Nref))\n"
  10672.    "    ())\n"
  10673.    "  (signature vec2\n"
  10674.    "    (parameters\n"
  10675.    "      (declare (in) vec2 N)\n"
  10676.    "      (declare (in) vec2 I)\n"
  10677.    "      (declare (in) vec2 Nref))\n"
  10678.    "    ())\n"
  10679.    "  (signature vec3\n"
  10680.    "    (parameters\n"
  10681.    "      (declare (in) vec3 N)\n"
  10682.    "      (declare (in) vec3 I)\n"
  10683.    "      (declare (in) vec3 Nref))\n"
  10684.    "    ())\n"
  10685.    "  (signature vec4\n"
  10686.    "    (parameters\n"
  10687.    "      (declare (in) vec4 N)\n"
  10688.    "      (declare (in) vec4 I)\n"
  10689.    "      (declare (in) vec4 Nref))\n"
  10690.    "    ()))\n"
  10691.    "(function reflect\n"
  10692.    "  (signature float\n"
  10693.    "    (parameters\n"
  10694.    "      (declare (in) float I)\n"
  10695.    "      (declare (in) float N))\n"
  10696.    "    ())\n"
  10697.    "  (signature vec2\n"
  10698.    "    (parameters\n"
  10699.    "      (declare (in) vec2 I)\n"
  10700.    "      (declare (in) vec2 N))\n"
  10701.    "    ())\n"
  10702.    "  (signature vec3\n"
  10703.    "    (parameters\n"
  10704.    "      (declare (in) vec3 I)\n"
  10705.    "      (declare (in) vec3 N))\n"
  10706.    "    ())\n"
  10707.    "  (signature vec4\n"
  10708.    "    (parameters\n"
  10709.    "      (declare (in) vec4 I)\n"
  10710.    "      (declare (in) vec4 N))\n"
  10711.    "    ()))\n"
  10712.    "(function refract\n"
  10713.    "  (signature float\n"
  10714.    "    (parameters\n"
  10715.    "      (declare (in) float I)\n"
  10716.    "      (declare (in) float N)\n"
  10717.    "      (declare (in) float eta))\n"
  10718.    "    ())\n"
  10719.    "  (signature vec2\n"
  10720.    "    (parameters\n"
  10721.    "      (declare (in) vec2 I)\n"
  10722.    "      (declare (in) vec2 N)\n"
  10723.    "      (declare (in) float eta))\n"
  10724.    "    ())\n"
  10725.    "  (signature vec3\n"
  10726.    "    (parameters\n"
  10727.    "      (declare (in) vec3 I)\n"
  10728.    "      (declare (in) vec3 N)\n"
  10729.    "      (declare (in) float eta))\n"
  10730.    "    ())\n"
  10731.    "  (signature vec4\n"
  10732.    "    (parameters\n"
  10733.    "      (declare (in) vec4 I)\n"
  10734.    "      (declare (in) vec4 N)\n"
  10735.    "      (declare (in) float eta))\n"
  10736.    "    ()))\n"
  10737.    "(function matrixCompMult\n"
  10738.    "  (signature mat2\n"
  10739.    "    (parameters\n"
  10740.    "      (declare (in) mat2 x)\n"
  10741.    "      (declare (in) mat2 y))\n"
  10742.    "    ())\n"
  10743.    "  (signature mat3\n"
  10744.    "    (parameters\n"
  10745.    "      (declare (in) mat3 x)\n"
  10746.    "      (declare (in) mat3 y))\n"
  10747.    "    ())\n"
  10748.    "  (signature mat4\n"
  10749.    "    (parameters\n"
  10750.    "      (declare (in) mat4 x)\n"
  10751.    "      (declare (in) mat4 y))\n"
  10752.    "    ())\n"
  10753.    "  (signature mat2x3\n"
  10754.    "    (parameters\n"
  10755.    "      (declare (in) mat2x3 x)\n"
  10756.    "      (declare (in) mat2x3 y))\n"
  10757.    "    ())\n"
  10758.    "  (signature mat2x4\n"
  10759.    "    (parameters\n"
  10760.    "      (declare (in) mat2x4 x)\n"
  10761.    "      (declare (in) mat2x4 y))\n"
  10762.    "    ())\n"
  10763.    "  (signature mat3x2\n"
  10764.    "    (parameters\n"
  10765.    "      (declare (in) mat3x2 x)\n"
  10766.    "      (declare (in) mat3x2 y))\n"
  10767.    "    ())\n"
  10768.    "  (signature mat3x4\n"
  10769.    "    (parameters\n"
  10770.    "      (declare (in) mat3x4 x)\n"
  10771.    "      (declare (in) mat3x4 y))\n"
  10772.    "    ())\n"
  10773.    "  (signature mat4x2\n"
  10774.    "    (parameters\n"
  10775.    "      (declare (in) mat4x2 x)\n"
  10776.    "      (declare (in) mat4x2 y))\n"
  10777.    "    ())\n"
  10778.    "  (signature mat4x3\n"
  10779.    "    (parameters\n"
  10780.    "      (declare (in) mat4x3 x)\n"
  10781.    "      (declare (in) mat4x3 y))\n"
  10782.    "    ()))\n"
  10783.    "(function outerProduct\n"
  10784.    "  (signature mat2\n"
  10785.    "    (parameters\n"
  10786.    "      (declare (in) vec2 c)\n"
  10787.    "      (declare (in) vec2 r))\n"
  10788.    "    ())\n"
  10789.    "  (signature mat3\n"
  10790.    "    (parameters\n"
  10791.    "      (declare (in) vec3 c)\n"
  10792.    "      (declare (in) vec3 r))\n"
  10793.    "    ())\n"
  10794.    "  (signature mat4\n"
  10795.    "    (parameters\n"
  10796.    "      (declare (in) vec4 c)\n"
  10797.    "      (declare (in) vec4 r))\n"
  10798.    "    ())\n"
  10799.    "  (signature mat2x3\n"
  10800.    "    (parameters\n"
  10801.    "      (declare (in) vec3 c)\n"
  10802.    "      (declare (in) vec2 r))\n"
  10803.    "    ())\n"
  10804.    "  (signature mat3x2\n"
  10805.    "    (parameters\n"
  10806.    "      (declare (in) vec2 c)\n"
  10807.    "      (declare (in) vec3 r))\n"
  10808.    "    ())\n"
  10809.    "  (signature mat2x4\n"
  10810.    "    (parameters\n"
  10811.    "      (declare (in) vec4 c)\n"
  10812.    "      (declare (in) vec2 r))\n"
  10813.    "    ())\n"
  10814.    "  (signature mat4x2\n"
  10815.    "    (parameters\n"
  10816.    "      (declare (in) vec2 c)\n"
  10817.    "      (declare (in) vec4 r))\n"
  10818.    "    ())\n"
  10819.    "  (signature mat3x4\n"
  10820.    "    (parameters\n"
  10821.    "      (declare (in) vec4 c)\n"
  10822.    "      (declare (in) vec3 r))\n"
  10823.    "    ())\n"
  10824.    "  (signature mat4x3\n"
  10825.    "    (parameters\n"
  10826.    "      (declare (in) vec3 c)\n"
  10827.    "      (declare (in) vec4 r))\n"
  10828.    "    ()))\n"
  10829.    "(function transpose\n"
  10830.    "  (signature mat2\n"
  10831.    "    (parameters\n"
  10832.    "      (declare (in) mat2 m))\n"
  10833.    "    ())\n"
  10834.    "  (signature mat3\n"
  10835.    "    (parameters\n"
  10836.    "      (declare (in) mat3 m))\n"
  10837.    "    ())\n"
  10838.    "  (signature mat4\n"
  10839.    "    (parameters\n"
  10840.    "      (declare (in) mat4 m))\n"
  10841.    "    ())\n"
  10842.    "  (signature mat2x3\n"
  10843.    "    (parameters\n"
  10844.    "      (declare (in) mat3x2 m))\n"
  10845.    "    ())\n"
  10846.    "  (signature mat3x2\n"
  10847.    "    (parameters\n"
  10848.    "      (declare (in) mat2x3 m))\n"
  10849.    "    ())\n"
  10850.    "  (signature mat2x4\n"
  10851.    "    (parameters\n"
  10852.    "      (declare (in) mat4x2 m))\n"
  10853.    "    ())\n"
  10854.    "  (signature mat4x2\n"
  10855.    "    (parameters\n"
  10856.    "      (declare (in) mat2x4 m))\n"
  10857.    "    ())\n"
  10858.    "  (signature mat3x4\n"
  10859.    "    (parameters\n"
  10860.    "      (declare (in) mat4x3 m))\n"
  10861.    "    ())\n"
  10862.    "  (signature mat4x3\n"
  10863.    "    (parameters\n"
  10864.    "      (declare (in) mat3x4 m))\n"
  10865.    "    ()))\n"
  10866.    "(function lessThan\n"
  10867.    "  (signature bvec2\n"
  10868.    "    (parameters\n"
  10869.    "      (declare (in) vec2 x)\n"
  10870.    "      (declare (in) vec2 y))\n"
  10871.    "    ())\n"
  10872.    "  (signature bvec3\n"
  10873.    "    (parameters\n"
  10874.    "      (declare (in) vec3 x)\n"
  10875.    "      (declare (in) vec3 y))\n"
  10876.    "    ())\n"
  10877.    "  (signature bvec4\n"
  10878.    "    (parameters\n"
  10879.    "      (declare (in) vec4 x)\n"
  10880.    "      (declare (in) vec4 y))\n"
  10881.    "    ())\n"
  10882.    "  (signature bvec2\n"
  10883.    "    (parameters\n"
  10884.    "      (declare (in) ivec2 x)\n"
  10885.    "      (declare (in) ivec2 y))\n"
  10886.    "    ())\n"
  10887.    "  (signature bvec3\n"
  10888.    "    (parameters\n"
  10889.    "      (declare (in) ivec3 x)\n"
  10890.    "      (declare (in) ivec3 y))\n"
  10891.    "    ())\n"
  10892.    "  (signature bvec4\n"
  10893.    "    (parameters\n"
  10894.    "      (declare (in) ivec4 x)\n"
  10895.    "      (declare (in) ivec4 y))\n"
  10896.    "    ()))\n"
  10897.    "(function lessThanEqual\n"
  10898.    "  (signature bvec2\n"
  10899.    "    (parameters\n"
  10900.    "      (declare (in) vec2 x)\n"
  10901.    "      (declare (in) vec2 y))\n"
  10902.    "    ())\n"
  10903.    "  (signature bvec3\n"
  10904.    "    (parameters\n"
  10905.    "      (declare (in) vec3 x)\n"
  10906.    "      (declare (in) vec3 y))\n"
  10907.    "    ())\n"
  10908.    "  (signature bvec4\n"
  10909.    "    (parameters\n"
  10910.    "      (declare (in) vec4 x)\n"
  10911.    "      (declare (in) vec4 y))\n"
  10912.    "    ())\n"
  10913.    "  (signature bvec2\n"
  10914.    "    (parameters\n"
  10915.    "      (declare (in) ivec2 x)\n"
  10916.    "      (declare (in) ivec2 y))\n"
  10917.    "    ())\n"
  10918.    "  (signature bvec3\n"
  10919.    "    (parameters\n"
  10920.    "      (declare (in) ivec3 x)\n"
  10921.    "      (declare (in) ivec3 y))\n"
  10922.    "    ())\n"
  10923.    "  (signature bvec4\n"
  10924.    "    (parameters\n"
  10925.    "      (declare (in) ivec4 x)\n"
  10926.    "      (declare (in) ivec4 y))\n"
  10927.    "    ()))\n"
  10928.    "(function greaterThan\n"
  10929.    "  (signature bvec2\n"
  10930.    "    (parameters\n"
  10931.    "      (declare (in) vec2 x)\n"
  10932.    "      (declare (in) vec2 y))\n"
  10933.    "    ())\n"
  10934.    "  (signature bvec3\n"
  10935.    "    (parameters\n"
  10936.    "      (declare (in) vec3 x)\n"
  10937.    "      (declare (in) vec3 y))\n"
  10938.    "    ())\n"
  10939.    "  (signature bvec4\n"
  10940.    "    (parameters\n"
  10941.    "      (declare (in) vec4 x)\n"
  10942.    "      (declare (in) vec4 y))\n"
  10943.    "    ())\n"
  10944.    "  (signature bvec2\n"
  10945.    "    (parameters\n"
  10946.    "      (declare (in) ivec2 x)\n"
  10947.    "      (declare (in) ivec2 y))\n"
  10948.    "    ())\n"
  10949.    "  (signature bvec3\n"
  10950.    "    (parameters\n"
  10951.    "      (declare (in) ivec3 x)\n"
  10952.    "      (declare (in) ivec3 y))\n"
  10953.    "    ())\n"
  10954.    "  (signature bvec4\n"
  10955.    "    (parameters\n"
  10956.    "      (declare (in) ivec4 x)\n"
  10957.    "      (declare (in) ivec4 y))\n"
  10958.    "    ()))\n"
  10959.    "(function greaterThanEqual\n"
  10960.    "  (signature bvec2\n"
  10961.    "    (parameters\n"
  10962.    "      (declare (in) vec2 x)\n"
  10963.    "      (declare (in) vec2 y))\n"
  10964.    "    ())\n"
  10965.    "  (signature bvec3\n"
  10966.    "    (parameters\n"
  10967.    "      (declare (in) vec3 x)\n"
  10968.    "      (declare (in) vec3 y))\n"
  10969.    "    ())\n"
  10970.    "  (signature bvec4\n"
  10971.    "    (parameters\n"
  10972.    "      (declare (in) vec4 x)\n"
  10973.    "      (declare (in) vec4 y))\n"
  10974.    "    ())\n"
  10975.    "  (signature bvec2\n"
  10976.    "    (parameters\n"
  10977.    "      (declare (in) ivec2 x)\n"
  10978.    "      (declare (in) ivec2 y))\n"
  10979.    "    ())\n"
  10980.    "  (signature bvec3\n"
  10981.    "    (parameters\n"
  10982.    "      (declare (in) ivec3 x)\n"
  10983.    "      (declare (in) ivec3 y))\n"
  10984.    "    ())\n"
  10985.    "  (signature bvec4\n"
  10986.    "    (parameters\n"
  10987.    "      (declare (in) ivec4 x)\n"
  10988.    "      (declare (in) ivec4 y))\n"
  10989.    "    ()))\n"
  10990.    "(function equal\n"
  10991.    "  (signature bvec2\n"
  10992.    "    (parameters\n"
  10993.    "      (declare (in) vec2 x)\n"
  10994.    "      (declare (in) vec2 y))\n"
  10995.    "    ())\n"
  10996.    "  (signature bvec3\n"
  10997.    "    (parameters\n"
  10998.    "      (declare (in) vec3 x)\n"
  10999.    "      (declare (in) vec3 y))\n"
  11000.    "    ())\n"
  11001.    "  (signature bvec4\n"
  11002.    "    (parameters\n"
  11003.    "      (declare (in) vec4 x)\n"
  11004.    "      (declare (in) vec4 y))\n"
  11005.    "    ())\n"
  11006.    "  (signature bvec2\n"
  11007.    "    (parameters\n"
  11008.    "      (declare (in) ivec2 x)\n"
  11009.    "      (declare (in) ivec2 y))\n"
  11010.    "    ())\n"
  11011.    "  (signature bvec3\n"
  11012.    "    (parameters\n"
  11013.    "      (declare (in) ivec3 x)\n"
  11014.    "      (declare (in) ivec3 y))\n"
  11015.    "    ())\n"
  11016.    "  (signature bvec4\n"
  11017.    "    (parameters\n"
  11018.    "      (declare (in) ivec4 x)\n"
  11019.    "      (declare (in) ivec4 y))\n"
  11020.    "    ())\n"
  11021.    "  (signature bvec2\n"
  11022.    "    (parameters\n"
  11023.    "      (declare (in) bvec2 x)\n"
  11024.    "      (declare (in) bvec2 y))\n"
  11025.    "    ())\n"
  11026.    "  (signature bvec3\n"
  11027.    "    (parameters\n"
  11028.    "      (declare (in) bvec3 x)\n"
  11029.    "      (declare (in) bvec3 y))\n"
  11030.    "    ())\n"
  11031.    "  (signature bvec4\n"
  11032.    "    (parameters\n"
  11033.    "      (declare (in) bvec4 x)\n"
  11034.    "      (declare (in) bvec4 y))\n"
  11035.    "    ()))\n"
  11036.    "(function notEqual\n"
  11037.    "  (signature bvec2\n"
  11038.    "    (parameters\n"
  11039.    "      (declare (in) vec2 x)\n"
  11040.    "      (declare (in) vec2 y))\n"
  11041.    "    ())\n"
  11042.    "  (signature bvec3\n"
  11043.    "    (parameters\n"
  11044.    "      (declare (in) vec3 x)\n"
  11045.    "      (declare (in) vec3 y))\n"
  11046.    "    ())\n"
  11047.    "  (signature bvec4\n"
  11048.    "    (parameters\n"
  11049.    "      (declare (in) vec4 x)\n"
  11050.    "      (declare (in) vec4 y))\n"
  11051.    "    ())\n"
  11052.    "  (signature bvec2\n"
  11053.    "    (parameters\n"
  11054.    "      (declare (in) ivec2 x)\n"
  11055.    "      (declare (in) ivec2 y))\n"
  11056.    "    ())\n"
  11057.    "  (signature bvec3\n"
  11058.    "    (parameters\n"
  11059.    "      (declare (in) ivec3 x)\n"
  11060.    "      (declare (in) ivec3 y))\n"
  11061.    "    ())\n"
  11062.    "  (signature bvec4\n"
  11063.    "    (parameters\n"
  11064.    "      (declare (in) ivec4 x)\n"
  11065.    "      (declare (in) ivec4 y))\n"
  11066.    "    ())\n"
  11067.    "  (signature bvec2\n"
  11068.    "    (parameters\n"
  11069.    "      (declare (in) bvec2 x)\n"
  11070.    "      (declare (in) bvec2 y))\n"
  11071.    "    ())\n"
  11072.    "  (signature bvec3\n"
  11073.    "    (parameters\n"
  11074.    "      (declare (in) bvec3 x)\n"
  11075.    "      (declare (in) bvec3 y))\n"
  11076.    "    ())\n"
  11077.    "  (signature bvec4\n"
  11078.    "    (parameters\n"
  11079.    "      (declare (in) bvec4 x)\n"
  11080.    "      (declare (in) bvec4 y))\n"
  11081.    "    ()))\n"
  11082.    "(function any\n"
  11083.    "  (signature bool\n"
  11084.    "    (parameters\n"
  11085.    "      (declare (in) bvec2 x))\n"
  11086.    "    ())\n"
  11087.    "  (signature bool\n"
  11088.    "    (parameters\n"
  11089.    "      (declare (in) bvec3 x))\n"
  11090.    "    ())\n"
  11091.    "  (signature bool\n"
  11092.    "    (parameters\n"
  11093.    "      (declare (in) bvec4 x))\n"
  11094.    "    ()))\n"
  11095.    "(function all\n"
  11096.    "  (signature bool\n"
  11097.    "    (parameters\n"
  11098.    "      (declare (in) bvec2 x))\n"
  11099.    "    ())\n"
  11100.    "  (signature bool\n"
  11101.    "    (parameters\n"
  11102.    "      (declare (in) bvec3 x))\n"
  11103.    "    ())\n"
  11104.    "  (signature bool\n"
  11105.    "    (parameters\n"
  11106.    "      (declare (in) bvec4 x))\n"
  11107.    "    ()))\n"
  11108.    "(function not\n"
  11109.    "  (signature bvec2\n"
  11110.    "    (parameters\n"
  11111.    "      (declare (in) bvec2 x))\n"
  11112.    "    ())\n"
  11113.    "  (signature bvec3\n"
  11114.    "    (parameters\n"
  11115.    "      (declare (in) bvec3 x))\n"
  11116.    "    ())\n"
  11117.    "  (signature bvec4\n"
  11118.    "    (parameters\n"
  11119.    "      (declare (in) bvec4 x))\n"
  11120.    "    ()))\n"
  11121.    "(function texture1D\n"
  11122.    "  (signature vec4\n"
  11123.    "    (parameters\n"
  11124.    "      (declare (in) sampler1D sampler)\n"
  11125.    "      (declare (in) float coord))\n"
  11126.    "    ())\n"
  11127.    "  (signature vec4\n"
  11128.    "    (parameters\n"
  11129.    "      (declare (in) sampler1D sampler)\n"
  11130.    "      (declare (in) float coord)\n"
  11131.    "      (declare (in) float bias))\n"
  11132.    "    ()))\n"
  11133.    "(function texture1DProj\n"
  11134.    "  (signature vec4\n"
  11135.    "    (parameters\n"
  11136.    "      (declare (in) sampler1D sampler)\n"
  11137.    "      (declare (in) vec2 coord))\n"
  11138.    "    ())\n"
  11139.    "  (signature vec4\n"
  11140.    "    (parameters\n"
  11141.    "      (declare (in) sampler1D sampler)\n"
  11142.    "      (declare (in) vec4 coord))\n"
  11143.    "    ())\n"
  11144.    "  (signature vec4\n"
  11145.    "    (parameters\n"
  11146.    "      (declare (in) sampler1D sampler)\n"
  11147.    "      (declare (in) vec2 coord)\n"
  11148.    "      (declare (in) float bias))\n"
  11149.    "    ())\n"
  11150.    "  (signature vec4\n"
  11151.    "    (parameters\n"
  11152.    "      (declare (in) sampler1D sampler)\n"
  11153.    "      (declare (in) vec4 coord)\n"
  11154.    "      (declare (in) float bias))\n"
  11155.    "    ()))\n"
  11156.    "(function texture2D\n"
  11157.    "  (signature vec4\n"
  11158.    "    (parameters\n"
  11159.    "      (declare (in) sampler2D sampler)\n"
  11160.    "      (declare (in) vec2 coord))\n"
  11161.    "    ())\n"
  11162.    "  (signature vec4\n"
  11163.    "    (parameters\n"
  11164.    "      (declare (in) sampler2D sampler)\n"
  11165.    "      (declare (in) vec2 coord)\n"
  11166.    "      (declare (in) float bias))\n"
  11167.    "    ()))\n"
  11168.    "(function texture2DProj\n"
  11169.    "  (signature vec4\n"
  11170.    "    (parameters\n"
  11171.    "      (declare (in) sampler2D sampler)\n"
  11172.    "      (declare (in) vec3 coord))\n"
  11173.    "    ())\n"
  11174.    "  (signature vec4\n"
  11175.    "    (parameters\n"
  11176.    "      (declare (in) sampler2D sampler)\n"
  11177.    "      (declare (in) vec4 coord))\n"
  11178.    "    ())\n"
  11179.    "  (signature vec4\n"
  11180.    "    (parameters\n"
  11181.    "      (declare (in) sampler2D sampler)\n"
  11182.    "      (declare (in) vec3 coord)\n"
  11183.    "      (declare (in) float bias))\n"
  11184.    "    ())\n"
  11185.    "  (signature vec4\n"
  11186.    "    (parameters\n"
  11187.    "      (declare (in) sampler2D sampler)\n"
  11188.    "      (declare (in) vec4 coord)\n"
  11189.    "      (declare (in) float bias))\n"
  11190.    "    ()))\n"
  11191.    "(function texture3D\n"
  11192.    "  (signature vec4\n"
  11193.    "    (parameters\n"
  11194.    "      (declare (in) sampler3D sampler)\n"
  11195.    "      (declare (in) vec3 coord))\n"
  11196.    "    ())\n"
  11197.    "  (signature vec4\n"
  11198.    "    (parameters\n"
  11199.    "      (declare (in) sampler3D sampler)\n"
  11200.    "      (declare (in) vec3 coord)\n"
  11201.    "      (declare (in) float bias))\n"
  11202.    "    ()))\n"
  11203.    "(function texture3DProj\n"
  11204.    "  (signature vec4\n"
  11205.    "    (parameters\n"
  11206.    "      (declare (in) sampler3D sampler)\n"
  11207.    "      (declare (in) vec4 coord))\n"
  11208.    "    ())\n"
  11209.    "  (signature vec4\n"
  11210.    "    (parameters\n"
  11211.    "      (declare (in) sampler3D sampler)\n"
  11212.    "      (declare (in) vec4 coord)\n"
  11213.    "      (declare (in) float bias))\n"
  11214.    "    ()))\n"
  11215.    "(function textureCube\n"
  11216.    "  (signature vec4\n"
  11217.    "    (parameters\n"
  11218.    "      (declare (in) samplerCube sampler)\n"
  11219.    "      (declare (in) vec3 coord))\n"
  11220.    "    ())\n"
  11221.    "  (signature vec4\n"
  11222.    "    (parameters\n"
  11223.    "      (declare (in) samplerCube sampler)\n"
  11224.    "      (declare (in) vec3 coord)\n"
  11225.    "      (declare (in) float bias))\n"
  11226.    "    ()))\n"
  11227.    "(function shadow1D\n"
  11228.    "  (signature vec4\n"
  11229.    "    (parameters\n"
  11230.    "      (declare (in) sampler1DShadow sampler)\n"
  11231.    "      (declare (in) vec3 coord))\n"
  11232.    "    ())\n"
  11233.    "  (signature vec4\n"
  11234.    "    (parameters\n"
  11235.    "      (declare (in) sampler1DShadow sampler)\n"
  11236.    "      (declare (in) vec3 coord)\n"
  11237.    "      (declare (in) float bias))\n"
  11238.    "    ()))\n"
  11239.    "(function shadow2D\n"
  11240.    "  (signature vec4\n"
  11241.    "    (parameters\n"
  11242.    "      (declare (in) sampler2DShadow sampler)\n"
  11243.    "      (declare (in) vec3 coord))\n"
  11244.    "    ())\n"
  11245.    "  (signature vec4\n"
  11246.    "    (parameters\n"
  11247.    "      (declare (in) sampler2DShadow sampler)\n"
  11248.    "      (declare (in) vec3 coord)\n"
  11249.    "      (declare (in) float bias))\n"
  11250.    "    ()))\n"
  11251.    "(function shadow1DProj\n"
  11252.    "  (signature vec4\n"
  11253.    "    (parameters\n"
  11254.    "      (declare (in) sampler1DShadow sampler)\n"
  11255.    "      (declare (in) vec4 coord))\n"
  11256.    "    ())\n"
  11257.    "  (signature vec4\n"
  11258.    "    (parameters\n"
  11259.    "      (declare (in) sampler1DShadow sampler)\n"
  11260.    "      (declare (in) vec4 coord)\n"
  11261.    "      (declare (in) float bias))\n"
  11262.    "    ()))\n"
  11263.    "(function shadow2DProj\n"
  11264.    "  (signature vec4\n"
  11265.    "    (parameters\n"
  11266.    "      (declare (in) sampler2DShadow sampler)\n"
  11267.    "      (declare (in) vec4 coord))\n"
  11268.    "    ())\n"
  11269.    "  (signature vec4\n"
  11270.    "    (parameters\n"
  11271.    "      (declare (in) sampler2DShadow sampler)\n"
  11272.    "      (declare (in) vec4 coord)\n"
  11273.    "      (declare (in) float bias))\n"
  11274.    "    ()))\n"
  11275.    "(function dFdx\n"
  11276.    "  (signature float\n"
  11277.    "    (parameters\n"
  11278.    "      (declare (in) float p))\n"
  11279.    "    ())\n"
  11280.    "  (signature vec2\n"
  11281.    "    (parameters\n"
  11282.    "      (declare (in) vec2 p))\n"
  11283.    "    ())\n"
  11284.    "  (signature vec3\n"
  11285.    "    (parameters\n"
  11286.    "      (declare (in) vec3 p))\n"
  11287.    "    ())\n"
  11288.    "  (signature vec4\n"
  11289.    "    (parameters\n"
  11290.    "      (declare (in) vec4 p))\n"
  11291.    "    ()))\n"
  11292.    "(function dFdy\n"
  11293.    "  (signature float\n"
  11294.    "    (parameters\n"
  11295.    "      (declare (in) float p))\n"
  11296.    "    ())\n"
  11297.    "  (signature vec2\n"
  11298.    "    (parameters\n"
  11299.    "      (declare (in) vec2 p))\n"
  11300.    "    ())\n"
  11301.    "  (signature vec3\n"
  11302.    "    (parameters\n"
  11303.    "      (declare (in) vec3 p))\n"
  11304.    "    ())\n"
  11305.    "  (signature vec4\n"
  11306.    "    (parameters\n"
  11307.    "      (declare (in) vec4 p))\n"
  11308.    "    ()))\n"
  11309.    "(function fwidth\n"
  11310.    "  (signature float\n"
  11311.    "    (parameters\n"
  11312.    "      (declare (in) float p))\n"
  11313.    "    ())\n"
  11314.    "  (signature vec2\n"
  11315.    "    (parameters\n"
  11316.    "      (declare (in) vec2 p))\n"
  11317.    "    ())\n"
  11318.    "  (signature vec3\n"
  11319.    "    (parameters\n"
  11320.    "      (declare (in) vec3 p))\n"
  11321.    "    ())\n"
  11322.    "  (signature vec4\n"
  11323.    "    (parameters\n"
  11324.    "      (declare (in) vec4 p))\n"
  11325.    "    ()))\n"
  11326.    "(function noise1\n"
  11327.    "  (signature float\n"
  11328.    "    (parameters\n"
  11329.    "      (declare (in) float x))\n"
  11330.    "    ())\n"
  11331.    "  (signature float\n"
  11332.    "    (parameters\n"
  11333.    "      (declare (in) vec2 x))\n"
  11334.    "    ())\n"
  11335.    "  (signature float\n"
  11336.    "    (parameters\n"
  11337.    "      (declare (in) vec3 x))\n"
  11338.    "    ())\n"
  11339.    "  (signature float\n"
  11340.    "    (parameters\n"
  11341.    "      (declare (in) vec4 x))\n"
  11342.    "    ()))\n"
  11343.    "(function noise2\n"
  11344.    "  (signature vec2\n"
  11345.    "    (parameters\n"
  11346.    "      (declare (in) float x))\n"
  11347.    "    ())\n"
  11348.    "  (signature vec2\n"
  11349.    "    (parameters\n"
  11350.    "      (declare (in) vec2 x))\n"
  11351.    "    ())\n"
  11352.    "  (signature vec2\n"
  11353.    "    (parameters\n"
  11354.    "      (declare (in) vec3 x))\n"
  11355.    "    ())\n"
  11356.    "  (signature vec2\n"
  11357.    "    (parameters\n"
  11358.    "      (declare (in) vec4 x))\n"
  11359.    "    ()))\n"
  11360.    "(function noise3\n"
  11361.    "  (signature vec3\n"
  11362.    "    (parameters\n"
  11363.    "      (declare (in) float x))\n"
  11364.    "    ())\n"
  11365.    "  (signature vec3\n"
  11366.    "    (parameters\n"
  11367.    "      (declare (in) vec2 x))\n"
  11368.    "    ())\n"
  11369.    "  (signature vec3\n"
  11370.    "    (parameters\n"
  11371.    "      (declare (in) vec3 x))\n"
  11372.    "    ())\n"
  11373.    "  (signature vec3\n"
  11374.    "    (parameters\n"
  11375.    "      (declare (in) vec4 x))\n"
  11376.    "    ()))\n"
  11377.    "(function noise4\n"
  11378.    "  (signature vec4\n"
  11379.    "    (parameters\n"
  11380.    "      (declare (in) float x))\n"
  11381.    "    ())\n"
  11382.    "  (signature vec4\n"
  11383.    "    (parameters\n"
  11384.    "      (declare (in) vec2 x))\n"
  11385.    "    ())\n"
  11386.    "  (signature vec4\n"
  11387.    "    (parameters\n"
  11388.    "      (declare (in) vec3 x))\n"
  11389.    "    ())\n"
  11390.    "  (signature vec4\n"
  11391.    "    (parameters\n"
  11392.    "      (declare (in) vec4 x))\n"
  11393.    "    ())))"
  11394. ;
  11395. static const char *functions_for_120_frag [] = {
  11396.    builtin_abs,
  11397.    builtin_acos,
  11398.    builtin_all,
  11399.    builtin_any,
  11400.    builtin_asin,
  11401.    builtin_atan,
  11402.    builtin_ceil,
  11403.    builtin_clamp,
  11404.    builtin_cos,
  11405.    builtin_cross,
  11406.    builtin_dFdx,
  11407.    builtin_dFdy,
  11408.    builtin_degrees,
  11409.    builtin_distance,
  11410.    builtin_dot,
  11411.    builtin_equal,
  11412.    builtin_exp,
  11413.    builtin_exp2,
  11414.    builtin_faceforward,
  11415.    builtin_floor,
  11416.    builtin_fract,
  11417.    builtin_fwidth,
  11418.    builtin_greaterThan,
  11419.    builtin_greaterThanEqual,
  11420.    builtin_inversesqrt,
  11421.    builtin_length,
  11422.    builtin_lessThan,
  11423.    builtin_lessThanEqual,
  11424.    builtin_log,
  11425.    builtin_log2,
  11426.    builtin_matrixCompMult,
  11427.    builtin_max,
  11428.    builtin_min,
  11429.    builtin_mix,
  11430.    builtin_mod,
  11431.    builtin_noise1,
  11432.    builtin_noise2,
  11433.    builtin_noise3,
  11434.    builtin_noise4,
  11435.    builtin_normalize,
  11436.    builtin_not,
  11437.    builtin_notEqual,
  11438.    builtin_outerProduct,
  11439.    builtin_pow,
  11440.    builtin_radians,
  11441.    builtin_reflect,
  11442.    builtin_refract,
  11443.    builtin_shadow1D,
  11444.    builtin_shadow1DProj,
  11445.    builtin_shadow2D,
  11446.    builtin_shadow2DProj,
  11447.    builtin_sign,
  11448.    builtin_sin,
  11449.    builtin_smoothstep,
  11450.    builtin_sqrt,
  11451.    builtin_step,
  11452.    builtin_tan,
  11453.    builtin_texture1D,
  11454.    builtin_texture1DProj,
  11455.    builtin_texture2D,
  11456.    builtin_texture2DProj,
  11457.    builtin_texture3D,
  11458.    builtin_texture3DProj,
  11459.    builtin_textureCube,
  11460.    builtin_transpose,
  11461. };
  11462. static const char prototypes_for_120_vert[] =
  11463.    "(\n"
  11464.    "(function radians\n"
  11465.    "  (signature float\n"
  11466.    "    (parameters\n"
  11467.    "      (declare (in) float degrees))\n"
  11468.    "    ())\n"
  11469.    "  (signature vec2\n"
  11470.    "    (parameters\n"
  11471.    "      (declare (in) vec2 degrees))\n"
  11472.    "    ())\n"
  11473.    "  (signature vec3\n"
  11474.    "    (parameters\n"
  11475.    "      (declare (in) vec3 degrees))\n"
  11476.    "    ())\n"
  11477.    "  (signature vec4\n"
  11478.    "    (parameters\n"
  11479.    "      (declare (in) vec4 degrees))\n"
  11480.    "    ()))\n"
  11481.    "(function degrees\n"
  11482.    "  (signature float\n"
  11483.    "    (parameters\n"
  11484.    "      (declare (in) float radians))\n"
  11485.    "    ())\n"
  11486.    "  (signature vec2\n"
  11487.    "    (parameters\n"
  11488.    "      (declare (in) vec2 radians))\n"
  11489.    "    ())\n"
  11490.    "  (signature vec3\n"
  11491.    "    (parameters\n"
  11492.    "      (declare (in) vec3 radians))\n"
  11493.    "    ())\n"
  11494.    "  (signature vec4\n"
  11495.    "    (parameters\n"
  11496.    "      (declare (in) vec4 radians))\n"
  11497.    "    ()))\n"
  11498.    "(function sin\n"
  11499.    "  (signature float\n"
  11500.    "    (parameters\n"
  11501.    "      (declare (in) float angle))\n"
  11502.    "    ())\n"
  11503.    "  (signature vec2\n"
  11504.    "    (parameters\n"
  11505.    "      (declare (in) vec2 angle))\n"
  11506.    "    ())\n"
  11507.    "  (signature vec3\n"
  11508.    "    (parameters\n"
  11509.    "      (declare (in) vec3 angle))\n"
  11510.    "    ())\n"
  11511.    "  (signature vec4\n"
  11512.    "    (parameters\n"
  11513.    "      (declare (in) vec4 angle))\n"
  11514.    "    ()))\n"
  11515.    "(function cos\n"
  11516.    "  (signature float\n"
  11517.    "    (parameters\n"
  11518.    "      (declare (in) float angle))\n"
  11519.    "    ())\n"
  11520.    "  (signature vec2\n"
  11521.    "    (parameters\n"
  11522.    "      (declare (in) vec2 angle))\n"
  11523.    "    ())\n"
  11524.    "  (signature vec3\n"
  11525.    "    (parameters\n"
  11526.    "      (declare (in) vec3 angle))\n"
  11527.    "    ())\n"
  11528.    "  (signature vec4\n"
  11529.    "    (parameters\n"
  11530.    "      (declare (in) vec4 angle))\n"
  11531.    "    ()))\n"
  11532.    "(function tan\n"
  11533.    "  (signature float\n"
  11534.    "    (parameters\n"
  11535.    "      (declare (in) float angle))\n"
  11536.    "    ())\n"
  11537.    "  (signature vec2\n"
  11538.    "    (parameters\n"
  11539.    "      (declare (in) vec2 angle))\n"
  11540.    "    ())\n"
  11541.    "  (signature vec3\n"
  11542.    "    (parameters\n"
  11543.    "      (declare (in) vec3 angle))\n"
  11544.    "    ())\n"
  11545.    "  (signature vec4\n"
  11546.    "    (parameters\n"
  11547.    "      (declare (in) vec4 angle))\n"
  11548.    "    ()))\n"
  11549.    "(function asin\n"
  11550.    "  (signature float\n"
  11551.    "    (parameters\n"
  11552.    "      (declare (in) float angle))\n"
  11553.    "    ())\n"
  11554.    "  (signature vec2\n"
  11555.    "    (parameters\n"
  11556.    "      (declare (in) vec2 angle))\n"
  11557.    "    ())\n"
  11558.    "  (signature vec3\n"
  11559.    "    (parameters\n"
  11560.    "      (declare (in) vec3 angle))\n"
  11561.    "    ())\n"
  11562.    "  (signature vec4\n"
  11563.    "    (parameters\n"
  11564.    "      (declare (in) vec4 angle))\n"
  11565.    "    ()))\n"
  11566.    "(function acos\n"
  11567.    "  (signature float\n"
  11568.    "    (parameters\n"
  11569.    "      (declare (in) float angle))\n"
  11570.    "    ())\n"
  11571.    "  (signature vec2\n"
  11572.    "    (parameters\n"
  11573.    "      (declare (in) vec2 angle))\n"
  11574.    "    ())\n"
  11575.    "  (signature vec3\n"
  11576.    "    (parameters\n"
  11577.    "      (declare (in) vec3 angle))\n"
  11578.    "    ())\n"
  11579.    "  (signature vec4\n"
  11580.    "    (parameters\n"
  11581.    "      (declare (in) vec4 angle))\n"
  11582.    "    ()))\n"
  11583.    "(function atan\n"
  11584.    "  (signature float\n"
  11585.    "    (parameters\n"
  11586.    "      (declare (in) float y)\n"
  11587.    "      (declare (in) float x))\n"
  11588.    "    ())\n"
  11589.    "  (signature vec2\n"
  11590.    "    (parameters\n"
  11591.    "      (declare (in) vec2 y)\n"
  11592.    "      (declare (in) vec2 x))\n"
  11593.    "    ())\n"
  11594.    "  (signature vec3\n"
  11595.    "    (parameters\n"
  11596.    "      (declare (in) vec3 y)\n"
  11597.    "      (declare (in) vec3 x))\n"
  11598.    "    ())\n"
  11599.    "  (signature vec4\n"
  11600.    "    (parameters\n"
  11601.    "      (declare (in) vec4 y)\n"
  11602.    "      (declare (in) vec4 x))\n"
  11603.    "    ())\n"
  11604.    "  (signature float\n"
  11605.    "    (parameters\n"
  11606.    "      (declare (in) float y_over_x))\n"
  11607.    "    ())\n"
  11608.    "  (signature vec2\n"
  11609.    "    (parameters\n"
  11610.    "      (declare (in) vec2 y_over_x))\n"
  11611.    "    ())\n"
  11612.    "  (signature vec3\n"
  11613.    "    (parameters\n"
  11614.    "      (declare (in) vec3 y_over_x))\n"
  11615.    "    ())\n"
  11616.    "  (signature vec4\n"
  11617.    "    (parameters\n"
  11618.    "      (declare (in) vec4 y_over_x))\n"
  11619.    "    ()))\n"
  11620.    "(function pow\n"
  11621.    "  (signature float\n"
  11622.    "    (parameters\n"
  11623.    "      (declare (in) float x)\n"
  11624.    "      (declare (in) float y))\n"
  11625.    "    ())\n"
  11626.    "  (signature vec2\n"
  11627.    "    (parameters\n"
  11628.    "      (declare (in) vec2 x)\n"
  11629.    "      (declare (in) vec2 y))\n"
  11630.    "    ())\n"
  11631.    "  (signature vec3\n"
  11632.    "    (parameters\n"
  11633.    "      (declare (in) vec3 x)\n"
  11634.    "      (declare (in) vec3 y))\n"
  11635.    "    ())\n"
  11636.    "  (signature vec4\n"
  11637.    "    (parameters\n"
  11638.    "      (declare (in) vec4 x)\n"
  11639.    "      (declare (in) vec4 y))\n"
  11640.    "    ()))\n"
  11641.    "(function exp\n"
  11642.    "  (signature float\n"
  11643.    "    (parameters\n"
  11644.    "      (declare (in) float x))\n"
  11645.    "    ())\n"
  11646.    "  (signature vec2\n"
  11647.    "    (parameters\n"
  11648.    "      (declare (in) vec2 x))\n"
  11649.    "    ())\n"
  11650.    "  (signature vec3\n"
  11651.    "    (parameters\n"
  11652.    "      (declare (in) vec3 x))\n"
  11653.    "    ())\n"
  11654.    "  (signature vec4\n"
  11655.    "    (parameters\n"
  11656.    "      (declare (in) vec4 x))\n"
  11657.    "    ()))\n"
  11658.    "(function log\n"
  11659.    "  (signature float\n"
  11660.    "    (parameters\n"
  11661.    "      (declare (in) float x))\n"
  11662.    "    ())\n"
  11663.    "  (signature vec2\n"
  11664.    "    (parameters\n"
  11665.    "      (declare (in) vec2 x))\n"
  11666.    "    ())\n"
  11667.    "  (signature vec3\n"
  11668.    "    (parameters\n"
  11669.    "      (declare (in) vec3 x))\n"
  11670.    "    ())\n"
  11671.    "  (signature vec4\n"
  11672.    "    (parameters\n"
  11673.    "      (declare (in) vec4 x))\n"
  11674.    "    ()))\n"
  11675.    "(function exp2\n"
  11676.    "  (signature float\n"
  11677.    "    (parameters\n"
  11678.    "      (declare (in) float x))\n"
  11679.    "    ())\n"
  11680.    "  (signature vec2\n"
  11681.    "    (parameters\n"
  11682.    "      (declare (in) vec2 x))\n"
  11683.    "    ())\n"
  11684.    "  (signature vec3\n"
  11685.    "    (parameters\n"
  11686.    "      (declare (in) vec3 x))\n"
  11687.    "    ())\n"
  11688.    "  (signature vec4\n"
  11689.    "    (parameters\n"
  11690.    "      (declare (in) vec4 x))\n"
  11691.    "    ()))\n"
  11692.    "(function log2\n"
  11693.    "  (signature float\n"
  11694.    "    (parameters\n"
  11695.    "      (declare (in) float x))\n"
  11696.    "    ())\n"
  11697.    "  (signature vec2\n"
  11698.    "    (parameters\n"
  11699.    "      (declare (in) vec2 x))\n"
  11700.    "    ())\n"
  11701.    "  (signature vec3\n"
  11702.    "    (parameters\n"
  11703.    "      (declare (in) vec3 x))\n"
  11704.    "    ())\n"
  11705.    "  (signature vec4\n"
  11706.    "    (parameters\n"
  11707.    "      (declare (in) vec4 x))\n"
  11708.    "    ()))\n"
  11709.    "(function sqrt\n"
  11710.    "  (signature float\n"
  11711.    "    (parameters\n"
  11712.    "      (declare (in) float x))\n"
  11713.    "    ())\n"
  11714.    "  (signature vec2\n"
  11715.    "    (parameters\n"
  11716.    "      (declare (in) vec2 x))\n"
  11717.    "    ())\n"
  11718.    "  (signature vec3\n"
  11719.    "    (parameters\n"
  11720.    "      (declare (in) vec3 x))\n"
  11721.    "    ())\n"
  11722.    "  (signature vec4\n"
  11723.    "    (parameters\n"
  11724.    "      (declare (in) vec4 x))\n"
  11725.    "    ()))\n"
  11726.    "(function inversesqrt\n"
  11727.    "  (signature float\n"
  11728.    "    (parameters\n"
  11729.    "      (declare (in) float x))\n"
  11730.    "    ())\n"
  11731.    "  (signature vec2\n"
  11732.    "    (parameters\n"
  11733.    "      (declare (in) vec2 x))\n"
  11734.    "    ())\n"
  11735.    "  (signature vec3\n"
  11736.    "    (parameters\n"
  11737.    "      (declare (in) vec3 x))\n"
  11738.    "    ())\n"
  11739.    "  (signature vec4\n"
  11740.    "    (parameters\n"
  11741.    "      (declare (in) vec4 x))\n"
  11742.    "    ()))\n"
  11743.    "(function abs\n"
  11744.    "  (signature float\n"
  11745.    "    (parameters\n"
  11746.    "      (declare (in) float x))\n"
  11747.    "    ())\n"
  11748.    "  (signature vec2\n"
  11749.    "    (parameters\n"
  11750.    "      (declare (in) vec2 x))\n"
  11751.    "    ())\n"
  11752.    "  (signature vec3\n"
  11753.    "    (parameters\n"
  11754.    "      (declare (in) vec3 x))\n"
  11755.    "    ())\n"
  11756.    "  (signature vec4\n"
  11757.    "    (parameters\n"
  11758.    "      (declare (in) vec4 x))\n"
  11759.    "    ()))\n"
  11760.    "(function sign\n"
  11761.    "  (signature float\n"
  11762.    "    (parameters\n"
  11763.    "      (declare (in) float x))\n"
  11764.    "    ())\n"
  11765.    "  (signature vec2\n"
  11766.    "    (parameters\n"
  11767.    "      (declare (in) vec2 x))\n"
  11768.    "    ())\n"
  11769.    "  (signature vec3\n"
  11770.    "    (parameters\n"
  11771.    "      (declare (in) vec3 x))\n"
  11772.    "    ())\n"
  11773.    "  (signature vec4\n"
  11774.    "    (parameters\n"
  11775.    "      (declare (in) vec4 x))\n"
  11776.    "    ()))\n"
  11777.    "(function floor\n"
  11778.    "  (signature float\n"
  11779.    "    (parameters\n"
  11780.    "      (declare (in) float x))\n"
  11781.    "    ())\n"
  11782.    "  (signature vec2\n"
  11783.    "    (parameters\n"
  11784.    "      (declare (in) vec2 x))\n"
  11785.    "    ())\n"
  11786.    "  (signature vec3\n"
  11787.    "    (parameters\n"
  11788.    "      (declare (in) vec3 x))\n"
  11789.    "    ())\n"
  11790.    "  (signature vec4\n"
  11791.    "    (parameters\n"
  11792.    "      (declare (in) vec4 x))\n"
  11793.    "    ()))\n"
  11794.    "(function ceil\n"
  11795.    "  (signature float\n"
  11796.    "    (parameters\n"
  11797.    "      (declare (in) float x))\n"
  11798.    "    ())\n"
  11799.    "  (signature vec2\n"
  11800.    "    (parameters\n"
  11801.    "      (declare (in) vec2 x))\n"
  11802.    "    ())\n"
  11803.    "  (signature vec3\n"
  11804.    "    (parameters\n"
  11805.    "      (declare (in) vec3 x))\n"
  11806.    "    ())\n"
  11807.    "  (signature vec4\n"
  11808.    "    (parameters\n"
  11809.    "      (declare (in) vec4 x))\n"
  11810.    "    ()))\n"
  11811.    "(function fract\n"
  11812.    "  (signature float\n"
  11813.    "    (parameters\n"
  11814.    "      (declare (in) float x))\n"
  11815.    "    ())\n"
  11816.    "  (signature vec2\n"
  11817.    "    (parameters\n"
  11818.    "      (declare (in) vec2 x))\n"
  11819.    "    ())\n"
  11820.    "  (signature vec3\n"
  11821.    "    (parameters\n"
  11822.    "      (declare (in) vec3 x))\n"
  11823.    "    ())\n"
  11824.    "  (signature vec4\n"
  11825.    "    (parameters\n"
  11826.    "      (declare (in) vec4 x))\n"
  11827.    "    ()))\n"
  11828.    "(function mod\n"
  11829.    "  (signature float\n"
  11830.    "    (parameters\n"
  11831.    "      (declare (in) float x)\n"
  11832.    "      (declare (in) float y))\n"
  11833.    "    ())\n"
  11834.    "  (signature vec2\n"
  11835.    "    (parameters\n"
  11836.    "      (declare (in) vec2 x)\n"
  11837.    "      (declare (in) float y))\n"
  11838.    "    ())\n"
  11839.    "  (signature vec3\n"
  11840.    "    (parameters\n"
  11841.    "      (declare (in) vec3 x)\n"
  11842.    "      (declare (in) float y))\n"
  11843.    "    ())\n"
  11844.    "  (signature vec4\n"
  11845.    "    (parameters\n"
  11846.    "      (declare (in) vec4 x)\n"
  11847.    "      (declare (in) float y))\n"
  11848.    "    ())\n"
  11849.    "  (signature vec2\n"
  11850.    "    (parameters\n"
  11851.    "      (declare (in) vec2 x)\n"
  11852.    "      (declare (in) vec2 y))\n"
  11853.    "    ())\n"
  11854.    "  (signature vec3\n"
  11855.    "    (parameters\n"
  11856.    "      (declare (in) vec3 x)\n"
  11857.    "      (declare (in) vec3 y))\n"
  11858.    "    ())\n"
  11859.    "  (signature vec4\n"
  11860.    "    (parameters\n"
  11861.    "      (declare (in) vec4 x)\n"
  11862.    "      (declare (in) vec4 y))\n"
  11863.    "    ()))\n"
  11864.    "(function min\n"
  11865.    "  (signature float\n"
  11866.    "    (parameters\n"
  11867.    "      (declare (in) float x)\n"
  11868.    "      (declare (in) float y))\n"
  11869.    "    ())\n"
  11870.    "  (signature vec2\n"
  11871.    "    (parameters\n"
  11872.    "      (declare (in) vec2 x)\n"
  11873.    "      (declare (in) vec2 y))\n"
  11874.    "    ())\n"
  11875.    "  (signature vec3\n"
  11876.    "    (parameters\n"
  11877.    "      (declare (in) vec3 x)\n"
  11878.    "      (declare (in) vec3 y))\n"
  11879.    "    ())\n"
  11880.    "  (signature vec4\n"
  11881.    "    (parameters\n"
  11882.    "      (declare (in) vec4 x)\n"
  11883.    "      (declare (in) vec4 y))\n"
  11884.    "    ())\n"
  11885.    "  (signature vec2\n"
  11886.    "    (parameters\n"
  11887.    "      (declare (in) vec2 x)\n"
  11888.    "      (declare (in) float y))\n"
  11889.    "    ())\n"
  11890.    "  (signature vec3\n"
  11891.    "    (parameters\n"
  11892.    "      (declare (in) vec3 x)\n"
  11893.    "      (declare (in) float y))\n"
  11894.    "    ())\n"
  11895.    "  (signature vec4\n"
  11896.    "    (parameters\n"
  11897.    "      (declare (in) vec4 x)\n"
  11898.    "      (declare (in) float y))\n"
  11899.    "    ()))\n"
  11900.    "(function max\n"
  11901.    "  (signature float\n"
  11902.    "    (parameters\n"
  11903.    "      (declare (in) float x)\n"
  11904.    "      (declare (in) float y))\n"
  11905.    "    ())\n"
  11906.    "  (signature vec2\n"
  11907.    "    (parameters\n"
  11908.    "      (declare (in) vec2 x)\n"
  11909.    "      (declare (in) vec2 y))\n"
  11910.    "    ())\n"
  11911.    "  (signature vec3\n"
  11912.    "    (parameters\n"
  11913.    "      (declare (in) vec3 x)\n"
  11914.    "      (declare (in) vec3 y))\n"
  11915.    "    ())\n"
  11916.    "  (signature vec4\n"
  11917.    "    (parameters\n"
  11918.    "      (declare (in) vec4 x)\n"
  11919.    "      (declare (in) vec4 y))\n"
  11920.    "    ())\n"
  11921.    "  (signature vec2\n"
  11922.    "    (parameters\n"
  11923.    "      (declare (in) vec2 x)\n"
  11924.    "      (declare (in) float y))\n"
  11925.    "    ())\n"
  11926.    "  (signature vec3\n"
  11927.    "    (parameters\n"
  11928.    "      (declare (in) vec3 x)\n"
  11929.    "      (declare (in) float y))\n"
  11930.    "    ())\n"
  11931.    "  (signature vec4\n"
  11932.    "    (parameters\n"
  11933.    "      (declare (in) vec4 x)\n"
  11934.    "      (declare (in) float y))\n"
  11935.    "    ()))\n"
  11936.    "(function clamp\n"
  11937.    "  (signature float\n"
  11938.    "    (parameters\n"
  11939.    "      (declare (in) float x)\n"
  11940.    "      (declare (in) float minVal)\n"
  11941.    "      (declare (in) float maxVal))\n"
  11942.    "    ())\n"
  11943.    "  (signature vec2\n"
  11944.    "    (parameters\n"
  11945.    "      (declare (in) vec2 x)\n"
  11946.    "      (declare (in) vec2 minVal)\n"
  11947.    "      (declare (in) vec2 maxVal))\n"
  11948.    "    ())\n"
  11949.    "  (signature vec3\n"
  11950.    "    (parameters\n"
  11951.    "      (declare (in) vec3 x)\n"
  11952.    "      (declare (in) vec3 minVal)\n"
  11953.    "      (declare (in) vec3 maxVal))\n"
  11954.    "    ())\n"
  11955.    "  (signature vec4\n"
  11956.    "    (parameters\n"
  11957.    "      (declare (in) vec4 x)\n"
  11958.    "      (declare (in) vec4 minVal)\n"
  11959.    "      (declare (in) vec4 maxVal))\n"
  11960.    "    ())\n"
  11961.    "  (signature vec2\n"
  11962.    "    (parameters\n"
  11963.    "      (declare (in) vec2 x)\n"
  11964.    "      (declare (in) float minVal)\n"
  11965.    "      (declare (in) float maxVal))\n"
  11966.    "    ())\n"
  11967.    "  (signature vec3\n"
  11968.    "    (parameters\n"
  11969.    "      (declare (in) vec3 x)\n"
  11970.    "      (declare (in) float minVal)\n"
  11971.    "      (declare (in) float maxVal))\n"
  11972.    "    ())\n"
  11973.    "  (signature vec4\n"
  11974.    "    (parameters\n"
  11975.    "      (declare (in) vec4 x)\n"
  11976.    "      (declare (in) float minVal)\n"
  11977.    "      (declare (in) float maxVal))\n"
  11978.    "    ()))\n"
  11979.    "(function mix\n"
  11980.    "  (signature float\n"
  11981.    "    (parameters\n"
  11982.    "      (declare (in) float x)\n"
  11983.    "      (declare (in) float y)\n"
  11984.    "      (declare (in) float a))\n"
  11985.    "    ())\n"
  11986.    "  (signature vec2\n"
  11987.    "    (parameters\n"
  11988.    "      (declare (in) vec2 x)\n"
  11989.    "      (declare (in) vec2 y)\n"
  11990.    "      (declare (in) vec2 a))\n"
  11991.    "    ())\n"
  11992.    "  (signature vec3\n"
  11993.    "    (parameters\n"
  11994.    "      (declare (in) vec3 x)\n"
  11995.    "      (declare (in) vec3 y)\n"
  11996.    "      (declare (in) vec3 a))\n"
  11997.    "    ())\n"
  11998.    "  (signature vec4\n"
  11999.    "    (parameters\n"
  12000.    "      (declare (in) vec4 x)\n"
  12001.    "      (declare (in) vec4 y)\n"
  12002.    "      (declare (in) vec4 a))\n"
  12003.    "    ())\n"
  12004.    "  (signature vec2\n"
  12005.    "    (parameters\n"
  12006.    "      (declare (in) vec2 x)\n"
  12007.    "      (declare (in) vec2 y)\n"
  12008.    "      (declare (in) float a))\n"
  12009.    "    ())\n"
  12010.    "  (signature vec3\n"
  12011.    "    (parameters\n"
  12012.    "      (declare (in) vec3 x)\n"
  12013.    "      (declare (in) vec3 y)\n"
  12014.    "      (declare (in) float a))\n"
  12015.    "    ())\n"
  12016.    "  (signature vec4\n"
  12017.    "    (parameters\n"
  12018.    "      (declare (in) vec4 x)\n"
  12019.    "      (declare (in) vec4 y)\n"
  12020.    "      (declare (in) float a))\n"
  12021.    "    ()))\n"
  12022.    "(function step\n"
  12023.    "  (signature float\n"
  12024.    "    (parameters\n"
  12025.    "      (declare (in) float edge)\n"
  12026.    "      (declare (in) float x))\n"
  12027.    "    ())\n"
  12028.    "  (signature vec2\n"
  12029.    "    (parameters\n"
  12030.    "      (declare (in) vec2 edge)\n"
  12031.    "      (declare (in) vec2 x))\n"
  12032.    "    ())\n"
  12033.    "  (signature vec3\n"
  12034.    "    (parameters\n"
  12035.    "      (declare (in) vec3 edge)\n"
  12036.    "      (declare (in) vec3 x))\n"
  12037.    "    ())\n"
  12038.    "  (signature vec4\n"
  12039.    "    (parameters\n"
  12040.    "      (declare (in) vec4 edge)\n"
  12041.    "      (declare (in) vec4 x))\n"
  12042.    "    ())\n"
  12043.    "  (signature vec2\n"
  12044.    "    (parameters\n"
  12045.    "      (declare (in) float edge)\n"
  12046.    "      (declare (in) vec2 x))\n"
  12047.    "    ())\n"
  12048.    "  (signature vec3\n"
  12049.    "    (parameters\n"
  12050.    "      (declare (in) float edge)\n"
  12051.    "      (declare (in) vec3 x))\n"
  12052.    "    ())\n"
  12053.    "  (signature vec4\n"
  12054.    "    (parameters\n"
  12055.    "      (declare (in) float edge)\n"
  12056.    "      (declare (in) vec4 x))\n"
  12057.    "    ()))\n"
  12058.    "(function smoothstep\n"
  12059.    "  (signature float\n"
  12060.    "    (parameters\n"
  12061.    "      (declare (in) float edge0)\n"
  12062.    "      (declare (in) float edge1)\n"
  12063.    "      (declare (in) float x))\n"
  12064.    "    ())\n"
  12065.    "  (signature vec2\n"
  12066.    "    (parameters\n"
  12067.    "      (declare (in) vec2 edge0)\n"
  12068.    "      (declare (in) vec2 edge1)\n"
  12069.    "      (declare (in) vec2 x))\n"
  12070.    "    ())\n"
  12071.    "  (signature vec3\n"
  12072.    "    (parameters\n"
  12073.    "      (declare (in) vec3 edge0)\n"
  12074.    "      (declare (in) vec3 edge1)\n"
  12075.    "      (declare (in) vec3 x))\n"
  12076.    "    ())\n"
  12077.    "  (signature vec4\n"
  12078.    "    (parameters\n"
  12079.    "      (declare (in) vec4 edge0)\n"
  12080.    "      (declare (in) vec4 edge1)\n"
  12081.    "      (declare (in) vec4 x))\n"
  12082.    "    ())\n"
  12083.    "  (signature vec2\n"
  12084.    "    (parameters\n"
  12085.    "      (declare (in) float edge0)\n"
  12086.    "      (declare (in) float edge1)\n"
  12087.    "      (declare (in) vec2 x))\n"
  12088.    "    ())\n"
  12089.    "  (signature vec3\n"
  12090.    "    (parameters\n"
  12091.    "      (declare (in) float edge0)\n"
  12092.    "      (declare (in) float edge1)\n"
  12093.    "      (declare (in) vec3 x))\n"
  12094.    "    ())\n"
  12095.    "  (signature vec4\n"
  12096.    "    (parameters\n"
  12097.    "      (declare (in) float edge0)\n"
  12098.    "      (declare (in) float edge1)\n"
  12099.    "      (declare (in) vec4 x))\n"
  12100.    "    ()))\n"
  12101.    "(function length\n"
  12102.    "  (signature float\n"
  12103.    "    (parameters\n"
  12104.    "      (declare (in) float x))\n"
  12105.    "    ())\n"
  12106.    "  (signature float\n"
  12107.    "    (parameters\n"
  12108.    "      (declare (in) vec2 x))\n"
  12109.    "    ())\n"
  12110.    "  (signature float\n"
  12111.    "    (parameters\n"
  12112.    "      (declare (in) vec3 x))\n"
  12113.    "    ())\n"
  12114.    "  (signature float\n"
  12115.    "    (parameters\n"
  12116.    "      (declare (in) vec4 x))\n"
  12117.    "    ()))\n"
  12118.    "(function distance\n"
  12119.    "  (signature float\n"
  12120.    "    (parameters\n"
  12121.    "      (declare (in) float p0)\n"
  12122.    "      (declare (in) float p1))\n"
  12123.    "    ())\n"
  12124.    "  (signature float\n"
  12125.    "    (parameters\n"
  12126.    "      (declare (in) vec2 p0)\n"
  12127.    "      (declare (in) vec2 p1))\n"
  12128.    "    ())\n"
  12129.    "  (signature float\n"
  12130.    "    (parameters\n"
  12131.    "      (declare (in) vec3 p0)\n"
  12132.    "      (declare (in) vec3 p1))\n"
  12133.    "    ())\n"
  12134.    "  (signature float\n"
  12135.    "    (parameters\n"
  12136.    "      (declare (in) vec4 p0)\n"
  12137.    "      (declare (in) vec4 p1))\n"
  12138.    "    ()))\n"
  12139.    "(function dot\n"
  12140.    "  (signature float\n"
  12141.    "    (parameters\n"
  12142.    "      (declare (in) float x)\n"
  12143.    "      (declare (in) float y))\n"
  12144.    "    ())\n"
  12145.    "  (signature float\n"
  12146.    "    (parameters\n"
  12147.    "      (declare (in) vec2 x)\n"
  12148.    "      (declare (in) vec2 y))\n"
  12149.    "    ())\n"
  12150.    "  (signature float\n"
  12151.    "    (parameters\n"
  12152.    "      (declare (in) vec3 x)\n"
  12153.    "      (declare (in) vec3 y))\n"
  12154.    "    ())\n"
  12155.    "  (signature float\n"
  12156.    "    (parameters\n"
  12157.    "      (declare (in) vec4 x)\n"
  12158.    "      (declare (in) vec4 y))\n"
  12159.    "    ()))\n"
  12160.    "(function cross\n"
  12161.    "  (signature vec3\n"
  12162.    "    (parameters\n"
  12163.    "      (declare (in) vec3 x)\n"
  12164.    "      (declare (in) vec3 y))\n"
  12165.    "    ()))\n"
  12166.    "(function normalize\n"
  12167.    "  (signature float\n"
  12168.    "    (parameters\n"
  12169.    "      (declare (in) float x))\n"
  12170.    "    ())\n"
  12171.    "  (signature vec2\n"
  12172.    "    (parameters\n"
  12173.    "      (declare (in) vec2 x))\n"
  12174.    "    ())\n"
  12175.    "  (signature vec3\n"
  12176.    "    (parameters\n"
  12177.    "      (declare (in) vec3 x))\n"
  12178.    "    ())\n"
  12179.    "  (signature vec4\n"
  12180.    "    (parameters\n"
  12181.    "      (declare (in) vec4 x))\n"
  12182.    "    ()))\n"
  12183.    "(function ftransform\n"
  12184.    "  (signature vec4\n"
  12185.    "    (parameters)\n"
  12186.    "    ()))\n"
  12187.    "(function faceforward\n"
  12188.    "  (signature float\n"
  12189.    "    (parameters\n"
  12190.    "      (declare (in) float N)\n"
  12191.    "      (declare (in) float I)\n"
  12192.    "      (declare (in) float Nref))\n"
  12193.    "    ())\n"
  12194.    "  (signature vec2\n"
  12195.    "    (parameters\n"
  12196.    "      (declare (in) vec2 N)\n"
  12197.    "      (declare (in) vec2 I)\n"
  12198.    "      (declare (in) vec2 Nref))\n"
  12199.    "    ())\n"
  12200.    "  (signature vec3\n"
  12201.    "    (parameters\n"
  12202.    "      (declare (in) vec3 N)\n"
  12203.    "      (declare (in) vec3 I)\n"
  12204.    "      (declare (in) vec3 Nref))\n"
  12205.    "    ())\n"
  12206.    "  (signature vec4\n"
  12207.    "    (parameters\n"
  12208.    "      (declare (in) vec4 N)\n"
  12209.    "      (declare (in) vec4 I)\n"
  12210.    "      (declare (in) vec4 Nref))\n"
  12211.    "    ()))\n"
  12212.    "(function reflect\n"
  12213.    "  (signature float\n"
  12214.    "    (parameters\n"
  12215.    "      (declare (in) float I)\n"
  12216.    "      (declare (in) float N))\n"
  12217.    "    ())\n"
  12218.    "  (signature vec2\n"
  12219.    "    (parameters\n"
  12220.    "      (declare (in) vec2 I)\n"
  12221.    "      (declare (in) vec2 N))\n"
  12222.    "    ())\n"
  12223.    "  (signature vec3\n"
  12224.    "    (parameters\n"
  12225.    "      (declare (in) vec3 I)\n"
  12226.    "      (declare (in) vec3 N))\n"
  12227.    "    ())\n"
  12228.    "  (signature vec4\n"
  12229.    "    (parameters\n"
  12230.    "      (declare (in) vec4 I)\n"
  12231.    "      (declare (in) vec4 N))\n"
  12232.    "    ()))\n"
  12233.    "(function refract\n"
  12234.    "  (signature float\n"
  12235.    "    (parameters\n"
  12236.    "      (declare (in) float I)\n"
  12237.    "      (declare (in) float N)\n"
  12238.    "      (declare (in) float eta))\n"
  12239.    "    ())\n"
  12240.    "  (signature vec2\n"
  12241.    "    (parameters\n"
  12242.    "      (declare (in) vec2 I)\n"
  12243.    "      (declare (in) vec2 N)\n"
  12244.    "      (declare (in) float eta))\n"
  12245.    "    ())\n"
  12246.    "  (signature vec3\n"
  12247.    "    (parameters\n"
  12248.    "      (declare (in) vec3 I)\n"
  12249.    "      (declare (in) vec3 N)\n"
  12250.    "      (declare (in) float eta))\n"
  12251.    "    ())\n"
  12252.    "  (signature vec4\n"
  12253.    "    (parameters\n"
  12254.    "      (declare (in) vec4 I)\n"
  12255.    "      (declare (in) vec4 N)\n"
  12256.    "      (declare (in) float eta))\n"
  12257.    "    ()))\n"
  12258.    "(function matrixCompMult\n"
  12259.    "  (signature mat2\n"
  12260.    "    (parameters\n"
  12261.    "      (declare (in) mat2 x)\n"
  12262.    "      (declare (in) mat2 y))\n"
  12263.    "    ())\n"
  12264.    "  (signature mat3\n"
  12265.    "    (parameters\n"
  12266.    "      (declare (in) mat3 x)\n"
  12267.    "      (declare (in) mat3 y))\n"
  12268.    "    ())\n"
  12269.    "  (signature mat4\n"
  12270.    "    (parameters\n"
  12271.    "      (declare (in) mat4 x)\n"
  12272.    "      (declare (in) mat4 y))\n"
  12273.    "    ())\n"
  12274.    "  (signature mat2x3\n"
  12275.    "    (parameters\n"
  12276.    "      (declare (in) mat2x3 x)\n"
  12277.    "      (declare (in) mat2x3 y))\n"
  12278.    "    ())\n"
  12279.    "  (signature mat2x4\n"
  12280.    "    (parameters\n"
  12281.    "      (declare (in) mat2x4 x)\n"
  12282.    "      (declare (in) mat2x4 y))\n"
  12283.    "    ())\n"
  12284.    "  (signature mat3x2\n"
  12285.    "    (parameters\n"
  12286.    "      (declare (in) mat3x2 x)\n"
  12287.    "      (declare (in) mat3x2 y))\n"
  12288.    "    ())\n"
  12289.    "  (signature mat3x4\n"
  12290.    "    (parameters\n"
  12291.    "      (declare (in) mat3x4 x)\n"
  12292.    "      (declare (in) mat3x4 y))\n"
  12293.    "    ())\n"
  12294.    "  (signature mat4x2\n"
  12295.    "    (parameters\n"
  12296.    "      (declare (in) mat4x2 x)\n"
  12297.    "      (declare (in) mat4x2 y))\n"
  12298.    "    ())\n"
  12299.    "  (signature mat4x3\n"
  12300.    "    (parameters\n"
  12301.    "      (declare (in) mat4x3 x)\n"
  12302.    "      (declare (in) mat4x3 y))\n"
  12303.    "    ()))\n"
  12304.    "(function outerProduct\n"
  12305.    "  (signature mat2\n"
  12306.    "    (parameters\n"
  12307.    "      (declare (in) vec2 c)\n"
  12308.    "      (declare (in) vec2 r))\n"
  12309.    "    ())\n"
  12310.    "  (signature mat3\n"
  12311.    "    (parameters\n"
  12312.    "      (declare (in) vec3 c)\n"
  12313.    "      (declare (in) vec3 r))\n"
  12314.    "    ())\n"
  12315.    "  (signature mat4\n"
  12316.    "    (parameters\n"
  12317.    "      (declare (in) vec4 c)\n"
  12318.    "      (declare (in) vec4 r))\n"
  12319.    "    ())\n"
  12320.    "  (signature mat2x3\n"
  12321.    "    (parameters\n"
  12322.    "      (declare (in) vec3 c)\n"
  12323.    "      (declare (in) vec2 r))\n"
  12324.    "    ())\n"
  12325.    "  (signature mat3x2\n"
  12326.    "    (parameters\n"
  12327.    "      (declare (in) vec2 c)\n"
  12328.    "      (declare (in) vec3 r))\n"
  12329.    "    ())\n"
  12330.    "  (signature mat2x4\n"
  12331.    "    (parameters\n"
  12332.    "      (declare (in) vec4 c)\n"
  12333.    "      (declare (in) vec2 r))\n"
  12334.    "    ())\n"
  12335.    "  (signature mat4x2\n"
  12336.    "    (parameters\n"
  12337.    "      (declare (in) vec2 c)\n"
  12338.    "      (declare (in) vec4 r))\n"
  12339.    "    ())\n"
  12340.    "  (signature mat3x4\n"
  12341.    "    (parameters\n"
  12342.    "      (declare (in) vec4 c)\n"
  12343.    "      (declare (in) vec3 r))\n"
  12344.    "    ())\n"
  12345.    "  (signature mat4x3\n"
  12346.    "    (parameters\n"
  12347.    "      (declare (in) vec3 c)\n"
  12348.    "      (declare (in) vec4 r))\n"
  12349.    "    ()))\n"
  12350.    "(function transpose\n"
  12351.    "  (signature mat2\n"
  12352.    "    (parameters\n"
  12353.    "      (declare (in) mat2 m))\n"
  12354.    "    ())\n"
  12355.    "  (signature mat3\n"
  12356.    "    (parameters\n"
  12357.    "      (declare (in) mat3 m))\n"
  12358.    "    ())\n"
  12359.    "  (signature mat4\n"
  12360.    "    (parameters\n"
  12361.    "      (declare (in) mat4 m))\n"
  12362.    "    ())\n"
  12363.    "  (signature mat2x3\n"
  12364.    "    (parameters\n"
  12365.    "      (declare (in) mat3x2 m))\n"
  12366.    "    ())\n"
  12367.    "  (signature mat3x2\n"
  12368.    "    (parameters\n"
  12369.    "      (declare (in) mat2x3 m))\n"
  12370.    "    ())\n"
  12371.    "  (signature mat2x4\n"
  12372.    "    (parameters\n"
  12373.    "      (declare (in) mat4x2 m))\n"
  12374.    "    ())\n"
  12375.    "  (signature mat4x2\n"
  12376.    "    (parameters\n"
  12377.    "      (declare (in) mat2x4 m))\n"
  12378.    "    ())\n"
  12379.    "  (signature mat3x4\n"
  12380.    "    (parameters\n"
  12381.    "      (declare (in) mat4x3 m))\n"
  12382.    "    ())\n"
  12383.    "  (signature mat4x3\n"
  12384.    "    (parameters\n"
  12385.    "      (declare (in) mat3x4 m))\n"
  12386.    "    ()))\n"
  12387.    "(function lessThan\n"
  12388.    "  (signature bvec2\n"
  12389.    "    (parameters\n"
  12390.    "      (declare (in) vec2 x)\n"
  12391.    "      (declare (in) vec2 y))\n"
  12392.    "    ())\n"
  12393.    "  (signature bvec3\n"
  12394.    "    (parameters\n"
  12395.    "      (declare (in) vec3 x)\n"
  12396.    "      (declare (in) vec3 y))\n"
  12397.    "    ())\n"
  12398.    "  (signature bvec4\n"
  12399.    "    (parameters\n"
  12400.    "      (declare (in) vec4 x)\n"
  12401.    "      (declare (in) vec4 y))\n"
  12402.    "    ())\n"
  12403.    "  (signature bvec2\n"
  12404.    "    (parameters\n"
  12405.    "      (declare (in) ivec2 x)\n"
  12406.    "      (declare (in) ivec2 y))\n"
  12407.    "    ())\n"
  12408.    "  (signature bvec3\n"
  12409.    "    (parameters\n"
  12410.    "      (declare (in) ivec3 x)\n"
  12411.    "      (declare (in) ivec3 y))\n"
  12412.    "    ())\n"
  12413.    "  (signature bvec4\n"
  12414.    "    (parameters\n"
  12415.    "      (declare (in) ivec4 x)\n"
  12416.    "      (declare (in) ivec4 y))\n"
  12417.    "    ()))\n"
  12418.    "(function lessThanEqual\n"
  12419.    "  (signature bvec2\n"
  12420.    "    (parameters\n"
  12421.    "      (declare (in) vec2 x)\n"
  12422.    "      (declare (in) vec2 y))\n"
  12423.    "    ())\n"
  12424.    "  (signature bvec3\n"
  12425.    "    (parameters\n"
  12426.    "      (declare (in) vec3 x)\n"
  12427.    "      (declare (in) vec3 y))\n"
  12428.    "    ())\n"
  12429.    "  (signature bvec4\n"
  12430.    "    (parameters\n"
  12431.    "      (declare (in) vec4 x)\n"
  12432.    "      (declare (in) vec4 y))\n"
  12433.    "    ())\n"
  12434.    "  (signature bvec2\n"
  12435.    "    (parameters\n"
  12436.    "      (declare (in) ivec2 x)\n"
  12437.    "      (declare (in) ivec2 y))\n"
  12438.    "    ())\n"
  12439.    "  (signature bvec3\n"
  12440.    "    (parameters\n"
  12441.    "      (declare (in) ivec3 x)\n"
  12442.    "      (declare (in) ivec3 y))\n"
  12443.    "    ())\n"
  12444.    "  (signature bvec4\n"
  12445.    "    (parameters\n"
  12446.    "      (declare (in) ivec4 x)\n"
  12447.    "      (declare (in) ivec4 y))\n"
  12448.    "    ()))\n"
  12449.    "(function greaterThan\n"
  12450.    "  (signature bvec2\n"
  12451.    "    (parameters\n"
  12452.    "      (declare (in) vec2 x)\n"
  12453.    "      (declare (in) vec2 y))\n"
  12454.    "    ())\n"
  12455.    "  (signature bvec3\n"
  12456.    "    (parameters\n"
  12457.    "      (declare (in) vec3 x)\n"
  12458.    "      (declare (in) vec3 y))\n"
  12459.    "    ())\n"
  12460.    "  (signature bvec4\n"
  12461.    "    (parameters\n"
  12462.    "      (declare (in) vec4 x)\n"
  12463.    "      (declare (in) vec4 y))\n"
  12464.    "    ())\n"
  12465.    "  (signature bvec2\n"
  12466.    "    (parameters\n"
  12467.    "      (declare (in) ivec2 x)\n"
  12468.    "      (declare (in) ivec2 y))\n"
  12469.    "    ())\n"
  12470.    "  (signature bvec3\n"
  12471.    "    (parameters\n"
  12472.    "      (declare (in) ivec3 x)\n"
  12473.    "      (declare (in) ivec3 y))\n"
  12474.    "    ())\n"
  12475.    "  (signature bvec4\n"
  12476.    "    (parameters\n"
  12477.    "      (declare (in) ivec4 x)\n"
  12478.    "      (declare (in) ivec4 y))\n"
  12479.    "    ()))\n"
  12480.    "(function greaterThanEqual\n"
  12481.    "  (signature bvec2\n"
  12482.    "    (parameters\n"
  12483.    "      (declare (in) vec2 x)\n"
  12484.    "      (declare (in) vec2 y))\n"
  12485.    "    ())\n"
  12486.    "  (signature bvec3\n"
  12487.    "    (parameters\n"
  12488.    "      (declare (in) vec3 x)\n"
  12489.    "      (declare (in) vec3 y))\n"
  12490.    "    ())\n"
  12491.    "  (signature bvec4\n"
  12492.    "    (parameters\n"
  12493.    "      (declare (in) vec4 x)\n"
  12494.    "      (declare (in) vec4 y))\n"
  12495.    "    ())\n"
  12496.    "  (signature bvec2\n"
  12497.    "    (parameters\n"
  12498.    "      (declare (in) ivec2 x)\n"
  12499.    "      (declare (in) ivec2 y))\n"
  12500.    "    ())\n"
  12501.    "  (signature bvec3\n"
  12502.    "    (parameters\n"
  12503.    "      (declare (in) ivec3 x)\n"
  12504.    "      (declare (in) ivec3 y))\n"
  12505.    "    ())\n"
  12506.    "  (signature bvec4\n"
  12507.    "    (parameters\n"
  12508.    "      (declare (in) ivec4 x)\n"
  12509.    "      (declare (in) ivec4 y))\n"
  12510.    "    ()))\n"
  12511.    "(function equal\n"
  12512.    "  (signature bvec2\n"
  12513.    "    (parameters\n"
  12514.    "      (declare (in) vec2 x)\n"
  12515.    "      (declare (in) vec2 y))\n"
  12516.    "    ())\n"
  12517.    "  (signature bvec3\n"
  12518.    "    (parameters\n"
  12519.    "      (declare (in) vec3 x)\n"
  12520.    "      (declare (in) vec3 y))\n"
  12521.    "    ())\n"
  12522.    "  (signature bvec4\n"
  12523.    "    (parameters\n"
  12524.    "      (declare (in) vec4 x)\n"
  12525.    "      (declare (in) vec4 y))\n"
  12526.    "    ())\n"
  12527.    "  (signature bvec2\n"
  12528.    "    (parameters\n"
  12529.    "      (declare (in) ivec2 x)\n"
  12530.    "      (declare (in) ivec2 y))\n"
  12531.    "    ())\n"
  12532.    "  (signature bvec3\n"
  12533.    "    (parameters\n"
  12534.    "      (declare (in) ivec3 x)\n"
  12535.    "      (declare (in) ivec3 y))\n"
  12536.    "    ())\n"
  12537.    "  (signature bvec4\n"
  12538.    "    (parameters\n"
  12539.    "      (declare (in) ivec4 x)\n"
  12540.    "      (declare (in) ivec4 y))\n"
  12541.    "    ())\n"
  12542.    "  (signature bvec2\n"
  12543.    "    (parameters\n"
  12544.    "      (declare (in) bvec2 x)\n"
  12545.    "      (declare (in) bvec2 y))\n"
  12546.    "    ())\n"
  12547.    "  (signature bvec3\n"
  12548.    "    (parameters\n"
  12549.    "      (declare (in) bvec3 x)\n"
  12550.    "      (declare (in) bvec3 y))\n"
  12551.    "    ())\n"
  12552.    "  (signature bvec4\n"
  12553.    "    (parameters\n"
  12554.    "      (declare (in) bvec4 x)\n"
  12555.    "      (declare (in) bvec4 y))\n"
  12556.    "    ()))\n"
  12557.    "(function notEqual\n"
  12558.    "  (signature bvec2\n"
  12559.    "    (parameters\n"
  12560.    "      (declare (in) vec2 x)\n"
  12561.    "      (declare (in) vec2 y))\n"
  12562.    "    ())\n"
  12563.    "  (signature bvec3\n"
  12564.    "    (parameters\n"
  12565.    "      (declare (in) vec3 x)\n"
  12566.    "      (declare (in) vec3 y))\n"
  12567.    "    ())\n"
  12568.    "  (signature bvec4\n"
  12569.    "    (parameters\n"
  12570.    "      (declare (in) vec4 x)\n"
  12571.    "      (declare (in) vec4 y))\n"
  12572.    "    ())\n"
  12573.    "  (signature bvec2\n"
  12574.    "    (parameters\n"
  12575.    "      (declare (in) ivec2 x)\n"
  12576.    "      (declare (in) ivec2 y))\n"
  12577.    "    ())\n"
  12578.    "  (signature bvec3\n"
  12579.    "    (parameters\n"
  12580.    "      (declare (in) ivec3 x)\n"
  12581.    "      (declare (in) ivec3 y))\n"
  12582.    "    ())\n"
  12583.    "  (signature bvec4\n"
  12584.    "    (parameters\n"
  12585.    "      (declare (in) ivec4 x)\n"
  12586.    "      (declare (in) ivec4 y))\n"
  12587.    "    ())\n"
  12588.    "  (signature bvec2\n"
  12589.    "    (parameters\n"
  12590.    "      (declare (in) bvec2 x)\n"
  12591.    "      (declare (in) bvec2 y))\n"
  12592.    "    ())\n"
  12593.    "  (signature bvec3\n"
  12594.    "    (parameters\n"
  12595.    "      (declare (in) bvec3 x)\n"
  12596.    "      (declare (in) bvec3 y))\n"
  12597.    "    ())\n"
  12598.    "  (signature bvec4\n"
  12599.    "    (parameters\n"
  12600.    "      (declare (in) bvec4 x)\n"
  12601.    "      (declare (in) bvec4 y))\n"
  12602.    "    ()))\n"
  12603.    "(function any\n"
  12604.    "  (signature bool\n"
  12605.    "    (parameters\n"
  12606.    "      (declare (in) bvec2 x))\n"
  12607.    "    ())\n"
  12608.    "  (signature bool\n"
  12609.    "    (parameters\n"
  12610.    "      (declare (in) bvec3 x))\n"
  12611.    "    ())\n"
  12612.    "  (signature bool\n"
  12613.    "    (parameters\n"
  12614.    "      (declare (in) bvec4 x))\n"
  12615.    "    ()))\n"
  12616.    "(function all\n"
  12617.    "  (signature bool\n"
  12618.    "    (parameters\n"
  12619.    "      (declare (in) bvec2 x))\n"
  12620.    "    ())\n"
  12621.    "  (signature bool\n"
  12622.    "    (parameters\n"
  12623.    "      (declare (in) bvec3 x))\n"
  12624.    "    ())\n"
  12625.    "  (signature bool\n"
  12626.    "    (parameters\n"
  12627.    "      (declare (in) bvec4 x))\n"
  12628.    "    ()))\n"
  12629.    "(function not\n"
  12630.    "  (signature bvec2\n"
  12631.    "    (parameters\n"
  12632.    "      (declare (in) bvec2 x))\n"
  12633.    "    ())\n"
  12634.    "  (signature bvec3\n"
  12635.    "    (parameters\n"
  12636.    "      (declare (in) bvec3 x))\n"
  12637.    "    ())\n"
  12638.    "  (signature bvec4\n"
  12639.    "    (parameters\n"
  12640.    "      (declare (in) bvec4 x))\n"
  12641.    "    ()))\n"
  12642.    "(function texture1D\n"
  12643.    "  (signature vec4\n"
  12644.    "    (parameters\n"
  12645.    "      (declare (in) sampler1D sampler)\n"
  12646.    "      (declare (in) float coord))\n"
  12647.    "    ()))\n"
  12648.    "(function texture1DProj\n"
  12649.    "  (signature vec4\n"
  12650.    "    (parameters\n"
  12651.    "      (declare (in) sampler1D sampler)\n"
  12652.    "      (declare (in) vec2 coord))\n"
  12653.    "    ())\n"
  12654.    "  (signature vec4\n"
  12655.    "    (parameters\n"
  12656.    "      (declare (in) sampler1D sampler)\n"
  12657.    "      (declare (in) vec4 coord))\n"
  12658.    "    ()))\n"
  12659.    "(function texture1DLod\n"
  12660.    "  (signature vec4\n"
  12661.    "    (parameters\n"
  12662.    "      (declare (in) sampler1D sampler)\n"
  12663.    "      (declare (in) float coord)\n"
  12664.    "      (declare (in) float lod))\n"
  12665.    "    ()))\n"
  12666.    "(function texture1DProjLod\n"
  12667.    "  (signature vec4\n"
  12668.    "    (parameters\n"
  12669.    "      (declare (in) sampler1D sampler)\n"
  12670.    "      (declare (in) vec2 coord)\n"
  12671.    "      (declare (in) float lod))\n"
  12672.    "    ())\n"
  12673.    "  (signature vec4\n"
  12674.    "    (parameters\n"
  12675.    "      (declare (in) sampler1D sampler)\n"
  12676.    "      (declare (in) vec4 coord)\n"
  12677.    "      (declare (in) float lod))\n"
  12678.    "    ()))\n"
  12679.    "(function texture2D\n"
  12680.    "  (signature vec4\n"
  12681.    "    (parameters\n"
  12682.    "      (declare (in) sampler2D sampler)\n"
  12683.    "      (declare (in) vec2 coord))\n"
  12684.    "    ()))\n"
  12685.    "(function texture2DProj\n"
  12686.    "  (signature vec4\n"
  12687.    "    (parameters\n"
  12688.    "      (declare (in) sampler2D sampler)\n"
  12689.    "      (declare (in) vec3 coord))\n"
  12690.    "    ())\n"
  12691.    "  (signature vec4\n"
  12692.    "    (parameters\n"
  12693.    "      (declare (in) sampler2D sampler)\n"
  12694.    "      (declare (in) vec4 coord))\n"
  12695.    "    ()))\n"
  12696.    "(function texture2DLod\n"
  12697.    "  (signature vec4\n"
  12698.    "    (parameters\n"
  12699.    "      (declare (in) sampler2D sampler)\n"
  12700.    "      (declare (in) vec2 coord)\n"
  12701.    "      (declare (in) float lod))\n"
  12702.    "    ()))\n"
  12703.    "(function texture2DProjLod\n"
  12704.    "  (signature vec4\n"
  12705.    "    (parameters\n"
  12706.    "      (declare (in) sampler2D sampler)\n"
  12707.    "      (declare (in) vec3 coord)\n"
  12708.    "      (declare (in) float lod))\n"
  12709.    "    ())\n"
  12710.    "  (signature vec4\n"
  12711.    "    (parameters\n"
  12712.    "      (declare (in) sampler2D sampler)\n"
  12713.    "      (declare (in) vec4 coord)\n"
  12714.    "      (declare (in) float lod))\n"
  12715.    "    ()))\n"
  12716.    "(function texture3D\n"
  12717.    "  (signature vec4\n"
  12718.    "    (parameters\n"
  12719.    "      (declare (in) sampler3D sampler)\n"
  12720.    "      (declare (in) vec3 coord))\n"
  12721.    "    ()))\n"
  12722.    "(function texture3DProj\n"
  12723.    "  (signature vec4\n"
  12724.    "    (parameters\n"
  12725.    "      (declare (in) sampler3D sampler)\n"
  12726.    "      (declare (in) vec4 coord))\n"
  12727.    "    ()))\n"
  12728.    "(function texture3DLod\n"
  12729.    "  (signature vec4\n"
  12730.    "    (parameters\n"
  12731.    "      (declare (in) sampler3D sampler)\n"
  12732.    "      (declare (in) vec3 coord)\n"
  12733.    "      (declare (in) float lod))\n"
  12734.    "    ()))\n"
  12735.    "(function texture3DProjLod\n"
  12736.    "  (signature vec4\n"
  12737.    "    (parameters\n"
  12738.    "      (declare (in) sampler3D sampler)\n"
  12739.    "      (declare (in) vec4 coord)\n"
  12740.    "      (declare (in) float lod))\n"
  12741.    "    ()))\n"
  12742.    "(function textureCube\n"
  12743.    "  (signature vec4\n"
  12744.    "    (parameters\n"
  12745.    "      (declare (in) samplerCube sampler)\n"
  12746.    "      (declare (in) vec3 coord))\n"
  12747.    "    ()))\n"
  12748.    "(function textureCubeLod\n"
  12749.    "  (signature vec4\n"
  12750.    "    (parameters\n"
  12751.    "      (declare (in) samplerCube sampler)\n"
  12752.    "      (declare (in) vec3 coord)\n"
  12753.    "      (declare (in) float lod))\n"
  12754.    "    ()))\n"
  12755.    "(function shadow1D\n"
  12756.    "  (signature vec4\n"
  12757.    "    (parameters\n"
  12758.    "      (declare (in) sampler1DShadow sampler)\n"
  12759.    "      (declare (in) vec3 coord))\n"
  12760.    "    ()))\n"
  12761.    "(function shadow2D\n"
  12762.    "  (signature vec4\n"
  12763.    "    (parameters\n"
  12764.    "      (declare (in) sampler2DShadow sampler)\n"
  12765.    "      (declare (in) vec3 coord))\n"
  12766.    "    ()))\n"
  12767.    "(function shadow1DProj\n"
  12768.    "  (signature vec4\n"
  12769.    "    (parameters\n"
  12770.    "      (declare (in) sampler1DShadow sampler)\n"
  12771.    "      (declare (in) vec4 coord))\n"
  12772.    "    ()))\n"
  12773.    "(function shadow2DProj\n"
  12774.    "  (signature vec4\n"
  12775.    "    (parameters\n"
  12776.    "      (declare (in) sampler2DShadow sampler)\n"
  12777.    "      (declare (in) vec4 coord))\n"
  12778.    "    ()))\n"
  12779.    "(function shadow1DLod\n"
  12780.    "  (signature vec4\n"
  12781.    "    (parameters\n"
  12782.    "      (declare (in) sampler1DShadow sampler)\n"
  12783.    "      (declare (in) vec3 coord)\n"
  12784.    "      (declare (in) float lod))\n"
  12785.    "    ()))\n"
  12786.    "(function shadow2DLod\n"
  12787.    "  (signature vec4\n"
  12788.    "    (parameters\n"
  12789.    "      (declare (in) sampler2DShadow sampler)\n"
  12790.    "      (declare (in) vec3 coord)\n"
  12791.    "      (declare (in) float lod))\n"
  12792.    "    ()))\n"
  12793.    "(function shadow1DProjLod\n"
  12794.    "  (signature vec4\n"
  12795.    "    (parameters\n"
  12796.    "      (declare (in) sampler1DShadow sampler)\n"
  12797.    "      (declare (in) vec4 coord)\n"
  12798.    "      (declare (in) float lod))\n"
  12799.    "    ()))\n"
  12800.    "(function shadow2DProjLod\n"
  12801.    "  (signature vec4\n"
  12802.    "    (parameters\n"
  12803.    "      (declare (in) sampler2DShadow sampler)\n"
  12804.    "      (declare (in) vec4 coord)\n"
  12805.    "      (declare (in) float lod))\n"
  12806.    "    ()))\n"
  12807.    "(function noise1\n"
  12808.    "  (signature float\n"
  12809.    "    (parameters\n"
  12810.    "      (declare (in) float x))\n"
  12811.    "    ())\n"
  12812.    "  (signature float\n"
  12813.    "    (parameters\n"
  12814.    "      (declare (in) vec2 x))\n"
  12815.    "    ())\n"
  12816.    "  (signature float\n"
  12817.    "    (parameters\n"
  12818.    "      (declare (in) vec3 x))\n"
  12819.    "    ())\n"
  12820.    "  (signature float\n"
  12821.    "    (parameters\n"
  12822.    "      (declare (in) vec4 x))\n"
  12823.    "    ()))\n"
  12824.    "(function noise2\n"
  12825.    "  (signature vec2\n"
  12826.    "    (parameters\n"
  12827.    "      (declare (in) float x))\n"
  12828.    "    ())\n"
  12829.    "  (signature vec2\n"
  12830.    "    (parameters\n"
  12831.    "      (declare (in) vec2 x))\n"
  12832.    "    ())\n"
  12833.    "  (signature vec2\n"
  12834.    "    (parameters\n"
  12835.    "      (declare (in) vec3 x))\n"
  12836.    "    ())\n"
  12837.    "  (signature vec2\n"
  12838.    "    (parameters\n"
  12839.    "      (declare (in) vec4 x))\n"
  12840.    "    ()))\n"
  12841.    "(function noise3\n"
  12842.    "  (signature vec3\n"
  12843.    "    (parameters\n"
  12844.    "      (declare (in) float x))\n"
  12845.    "    ())\n"
  12846.    "  (signature vec3\n"
  12847.    "    (parameters\n"
  12848.    "      (declare (in) vec2 x))\n"
  12849.    "    ())\n"
  12850.    "  (signature vec3\n"
  12851.    "    (parameters\n"
  12852.    "      (declare (in) vec3 x))\n"
  12853.    "    ())\n"
  12854.    "  (signature vec3\n"
  12855.    "    (parameters\n"
  12856.    "      (declare (in) vec4 x))\n"
  12857.    "    ()))\n"
  12858.    "(function noise4\n"
  12859.    "  (signature vec4\n"
  12860.    "    (parameters\n"
  12861.    "      (declare (in) float x))\n"
  12862.    "    ())\n"
  12863.    "  (signature vec4\n"
  12864.    "    (parameters\n"
  12865.    "      (declare (in) vec2 x))\n"
  12866.    "    ())\n"
  12867.    "  (signature vec4\n"
  12868.    "    (parameters\n"
  12869.    "      (declare (in) vec3 x))\n"
  12870.    "    ())\n"
  12871.    "  (signature vec4\n"
  12872.    "    (parameters\n"
  12873.    "      (declare (in) vec4 x))\n"
  12874.    "    ())))"
  12875. ;
  12876. static const char *functions_for_120_vert [] = {
  12877.    builtin_abs,
  12878.    builtin_acos,
  12879.    builtin_all,
  12880.    builtin_any,
  12881.    builtin_asin,
  12882.    builtin_atan,
  12883.    builtin_ceil,
  12884.    builtin_clamp,
  12885.    builtin_cos,
  12886.    builtin_cross,
  12887.    builtin_degrees,
  12888.    builtin_distance,
  12889.    builtin_dot,
  12890.    builtin_equal,
  12891.    builtin_exp,
  12892.    builtin_exp2,
  12893.    builtin_faceforward,
  12894.    builtin_floor,
  12895.    builtin_fract,
  12896.    builtin_ftransform,
  12897.    builtin_greaterThan,
  12898.    builtin_greaterThanEqual,
  12899.    builtin_inversesqrt,
  12900.    builtin_length,
  12901.    builtin_lessThan,
  12902.    builtin_lessThanEqual,
  12903.    builtin_log,
  12904.    builtin_log2,
  12905.    builtin_matrixCompMult,
  12906.    builtin_max,
  12907.    builtin_min,
  12908.    builtin_mix,
  12909.    builtin_mod,
  12910.    builtin_noise1,
  12911.    builtin_noise2,
  12912.    builtin_noise3,
  12913.    builtin_noise4,
  12914.    builtin_normalize,
  12915.    builtin_not,
  12916.    builtin_notEqual,
  12917.    builtin_outerProduct,
  12918.    builtin_pow,
  12919.    builtin_radians,
  12920.    builtin_reflect,
  12921.    builtin_refract,
  12922.    builtin_shadow1D,
  12923.    builtin_shadow1DLod,
  12924.    builtin_shadow1DProj,
  12925.    builtin_shadow1DProjLod,
  12926.    builtin_shadow2D,
  12927.    builtin_shadow2DLod,
  12928.    builtin_shadow2DProj,
  12929.    builtin_shadow2DProjLod,
  12930.    builtin_sign,
  12931.    builtin_sin,
  12932.    builtin_smoothstep,
  12933.    builtin_sqrt,
  12934.    builtin_step,
  12935.    builtin_tan,
  12936.    builtin_texture1D,
  12937.    builtin_texture1DLod,
  12938.    builtin_texture1DProj,
  12939.    builtin_texture1DProjLod,
  12940.    builtin_texture2D,
  12941.    builtin_texture2DLod,
  12942.    builtin_texture2DProj,
  12943.    builtin_texture2DProjLod,
  12944.    builtin_texture3D,
  12945.    builtin_texture3DLod,
  12946.    builtin_texture3DProj,
  12947.    builtin_texture3DProjLod,
  12948.    builtin_textureCube,
  12949.    builtin_textureCubeLod,
  12950.    builtin_transpose,
  12951. };
  12952. static const char prototypes_for_130_frag[] =
  12953. {'(',
  12954. '(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
  12955. '(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
  12956. '(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  12957. '(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  12958. '(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  12959. '(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  12960. '(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  12961. '(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
  12962. '(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12963. '(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12964. '(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12965. '(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12966. '(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12967. '(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12968. '(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  12969. '(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12970. '(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12971. '(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12972. '(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12973. '(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12974. '(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12975. '(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12976. '(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12977. '(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12978. '(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12979. '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12980. '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12981. '(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12982. '(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12983. '(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  12984. '(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
  12985. '(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
  12986. '(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
  12987. '(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
  12988. '(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
  12989. '(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12990. '(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12991. '(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12992. '(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
  12993. '(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  12994. '(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
  12995. '(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  12996. '(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
  12997. '(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
  12998. '(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
  12999. '(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
  13000. '(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
  13001. '(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
  13002. '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13003. '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13004. '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13005. '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13006. '(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13007. '(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13008. '(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13009. '(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13010. '(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13011. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13012. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13013. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13014. '(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13015. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13016. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
  13017. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
  13018. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13019. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13020. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13021. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13022. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13023. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13024. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13025. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13026. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13027. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13028. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13029. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13030. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13031. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13032. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13033. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13034. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13035. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13036. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13037. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13038. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13039. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13040. '(','f','u','n','c','t','i','o','n',' ','d','F','d','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
  13041. '(','f','u','n','c','t','i','o','n',' ','d','F','d','y',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
  13042. '(','f','u','n','c','t','i','o','n',' ','f','w','i','d','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
  13043. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13044. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13045. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13046. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
  13047. static const char *functions_for_130_frag [] = {
  13048.    builtin_abs,
  13049.    builtin_acos,
  13050.    builtin_acosh,
  13051.    builtin_all,
  13052.    builtin_any,
  13053.    builtin_asin,
  13054.    builtin_asinh,
  13055.    builtin_atan,
  13056.    builtin_atanh,
  13057.    builtin_ceil,
  13058.    builtin_clamp,
  13059.    builtin_cos,
  13060.    builtin_cosh,
  13061.    builtin_cross,
  13062.    builtin_dFdx,
  13063.    builtin_dFdy,
  13064.    builtin_degrees,
  13065.    builtin_distance,
  13066.    builtin_dot,
  13067.    builtin_equal,
  13068.    builtin_exp,
  13069.    builtin_exp2,
  13070.    builtin_faceforward,
  13071.    builtin_floor,
  13072.    builtin_fract,
  13073.    builtin_fwidth,
  13074.    builtin_greaterThan,
  13075.    builtin_greaterThanEqual,
  13076.    builtin_inversesqrt,
  13077.    builtin_length,
  13078.    builtin_lessThan,
  13079.    builtin_lessThanEqual,
  13080.    builtin_log,
  13081.    builtin_log2,
  13082.    builtin_matrixCompMult,
  13083.    builtin_max,
  13084.    builtin_min,
  13085.    builtin_mix,
  13086.    builtin_mod,
  13087.    builtin_modf,
  13088.    builtin_noise1,
  13089.    builtin_noise2,
  13090.    builtin_noise3,
  13091.    builtin_noise4,
  13092.    builtin_normalize,
  13093.    builtin_not,
  13094.    builtin_notEqual,
  13095.    builtin_outerProduct,
  13096.    builtin_pow,
  13097.    builtin_radians,
  13098.    builtin_reflect,
  13099.    builtin_refract,
  13100.    builtin_round,
  13101.    builtin_roundEven,
  13102.    builtin_shadow1D,
  13103.    builtin_shadow1DLod,
  13104.    builtin_shadow1DProj,
  13105.    builtin_shadow1DProjLod,
  13106.    builtin_shadow2D,
  13107.    builtin_shadow2DLod,
  13108.    builtin_shadow2DProj,
  13109.    builtin_shadow2DProjLod,
  13110.    builtin_sign,
  13111.    builtin_sin,
  13112.    builtin_sinh,
  13113.    builtin_smoothstep,
  13114.    builtin_sqrt,
  13115.    builtin_step,
  13116.    builtin_tan,
  13117.    builtin_tanh,
  13118.    builtin_texelFetch,
  13119.    builtin_texture,
  13120.    builtin_texture1D,
  13121.    builtin_texture1DLod,
  13122.    builtin_texture1DProj,
  13123.    builtin_texture1DProjLod,
  13124.    builtin_texture2D,
  13125.    builtin_texture2DLod,
  13126.    builtin_texture2DProj,
  13127.    builtin_texture2DProjLod,
  13128.    builtin_texture3D,
  13129.    builtin_texture3DLod,
  13130.    builtin_texture3DProj,
  13131.    builtin_texture3DProjLod,
  13132.    builtin_textureCube,
  13133.    builtin_textureCubeLod,
  13134.    builtin_textureGrad,
  13135.    builtin_textureLod,
  13136.    builtin_textureProj,
  13137.    builtin_textureProjGrad,
  13138.    builtin_textureProjLod,
  13139.    builtin_transpose,
  13140.    builtin_trunc,
  13141. };
  13142. static const char prototypes_for_130_vert[] =
  13143. {'(',
  13144. '(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
  13145. '(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
  13146. '(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  13147. '(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  13148. '(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  13149. '(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  13150. '(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
  13151. '(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
  13152. '(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13153. '(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13154. '(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13155. '(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13156. '(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13157. '(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13158. '(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13159. '(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13160. '(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13161. '(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13162. '(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13163. '(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13164. '(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13165. '(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13166. '(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13167. '(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13168. '(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13169. '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13170. '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13171. '(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13172. '(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13173. '(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13174. '(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
  13175. '(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
  13176. '(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
  13177. '(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
  13178. '(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
  13179. '(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13180. '(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13181. '(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13182. '(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
  13183. '(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13184. '(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
  13185. '(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13186. '(','f','u','n','c','t','i','o','n',' ','f','t','r','a','n','s','f','o','r','m',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',')',' ','(',')',')',')',
  13187. '(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
  13188. '(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
  13189. '(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
  13190. '(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
  13191. '(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
  13192. '(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
  13193. '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13194. '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13195. '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13196. '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13197. '(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13198. '(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
  13199. '(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13200. '(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13201. '(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13202. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13203. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13204. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13205. '(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13206. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13207. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
  13208. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
  13209. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13210. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13211. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13212. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13213. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13214. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13215. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13216. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13217. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13218. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13219. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13220. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13221. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13222. '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13223. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13224. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13225. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13226. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
  13227. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13228. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13229. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13230. '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
  13231. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13232. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13233. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
  13234. '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
  13235. static const char *functions_for_130_vert [] = {
  13236.    builtin_abs,
  13237.    builtin_acos,
  13238.    builtin_acosh,
  13239.    builtin_all,
  13240.    builtin_any,
  13241.    builtin_asin,
  13242.    builtin_asinh,
  13243.    builtin_atan,
  13244.    builtin_atanh,
  13245.    builtin_ceil,
  13246.    builtin_clamp,
  13247.    builtin_cos,
  13248.    builtin_cosh,
  13249.    builtin_cross,
  13250.    builtin_degrees,
  13251.    builtin_distance,
  13252.    builtin_dot,
  13253.    builtin_equal,
  13254.    builtin_exp,
  13255.    builtin_exp2,
  13256.    builtin_faceforward,
  13257.    builtin_floor,
  13258.    builtin_fract,
  13259.    builtin_ftransform,
  13260.    builtin_greaterThan,
  13261.    builtin_greaterThanEqual,
  13262.    builtin_inversesqrt,
  13263.    builtin_length,
  13264.    builtin_lessThan,
  13265.    builtin_lessThanEqual,
  13266.    builtin_log,
  13267.    builtin_log2,
  13268.    builtin_matrixCompMult,
  13269.    builtin_max,
  13270.    builtin_min,
  13271.    builtin_mix,
  13272.    builtin_mod,
  13273.    builtin_modf,
  13274.    builtin_noise1,
  13275.    builtin_noise2,
  13276.    builtin_noise3,
  13277.    builtin_noise4,
  13278.    builtin_normalize,
  13279.    builtin_not,
  13280.    builtin_notEqual,
  13281.    builtin_outerProduct,
  13282.    builtin_pow,
  13283.    builtin_radians,
  13284.    builtin_reflect,
  13285.    builtin_refract,
  13286.    builtin_round,
  13287.    builtin_roundEven,
  13288.    builtin_shadow1D,
  13289.    builtin_shadow1DLod,
  13290.    builtin_shadow1DProj,
  13291.    builtin_shadow1DProjLod,
  13292.    builtin_shadow2D,
  13293.    builtin_shadow2DLod,
  13294.    builtin_shadow2DProj,
  13295.    builtin_shadow2DProjLod,
  13296.    builtin_sign,
  13297.    builtin_sin,
  13298.    builtin_sinh,
  13299.    builtin_smoothstep,
  13300.    builtin_sqrt,
  13301.    builtin_step,
  13302.    builtin_tan,
  13303.    builtin_tanh,
  13304.    builtin_texelFetch,
  13305.    builtin_texture,
  13306.    builtin_texture1D,
  13307.    builtin_texture1DLod,
  13308.    builtin_texture1DProj,
  13309.    builtin_texture1DProjLod,
  13310.    builtin_texture2D,
  13311.    builtin_texture2DLod,
  13312.    builtin_texture2DProj,
  13313.    builtin_texture2DProjLod,
  13314.    builtin_texture3D,
  13315.    builtin_texture3DLod,
  13316.    builtin_texture3DProj,
  13317.    builtin_texture3DProjLod,
  13318.    builtin_textureCube,
  13319.    builtin_textureCubeLod,
  13320.    builtin_textureGrad,
  13321.    builtin_textureLod,
  13322.    builtin_textureProj,
  13323.    builtin_textureProjGrad,
  13324.    builtin_textureProjLod,
  13325.    builtin_transpose,
  13326.    builtin_trunc,
  13327. };
  13328. static const char prototypes_for_ARB_texture_rectangle_frag[] =
  13329.    "(\n"
  13330.    "(function texture2DRect\n"
  13331.    "  (signature vec4\n"
  13332.    "    (parameters\n"
  13333.    "      (declare (in) sampler2DRect sampler)\n"
  13334.    "      (declare (in) vec2 coord))\n"
  13335.    "    ()))\n"
  13336.    "(function texture2DRectProj\n"
  13337.    "  (signature vec4\n"
  13338.    "    (parameters\n"
  13339.    "      (declare (in) sampler2DRect sampler)\n"
  13340.    "      (declare (in) vec3 coord))\n"
  13341.    "    ())\n"
  13342.    "  (signature vec4\n"
  13343.    "    (parameters\n"
  13344.    "      (declare (in) sampler2DRect sampler)\n"
  13345.    "      (declare (in) vec4 coord))\n"
  13346.    "    ()))\n"
  13347.    "(function shadow2DRect\n"
  13348.    "  (signature vec4\n"
  13349.    "    (parameters\n"
  13350.    "      (declare (in) sampler2DRectShadow sampler)\n"
  13351.    "      (declare (in) vec3 coord))\n"
  13352.    "    ()))\n"
  13353.    "(function shadow2DRectProj\n"
  13354.    "  (signature vec4\n"
  13355.    "    (parameters\n"
  13356.    "      (declare (in) sampler2DRectShadow sampler)\n"
  13357.    "      (declare (in) vec4 coord))\n"
  13358.    "    ())))"
  13359. ;
  13360. static const char *functions_for_ARB_texture_rectangle_frag [] = {
  13361.    builtin_shadow2DRect,
  13362.    builtin_shadow2DRectProj,
  13363.    builtin_texture2DRect,
  13364.    builtin_texture2DRectProj,
  13365. };
  13366. static const char prototypes_for_ARB_texture_rectangle_vert[] =
  13367.    "(\n"
  13368.    "(function texture2DRect\n"
  13369.    "  (signature vec4\n"
  13370.    "    (parameters\n"
  13371.    "      (declare (in) sampler2DRect sampler)\n"
  13372.    "      (declare (in) vec2 coord))\n"
  13373.    "    ()))\n"
  13374.    "(function texture2DRectProj\n"
  13375.    "  (signature vec4\n"
  13376.    "    (parameters\n"
  13377.    "      (declare (in) sampler2DRect sampler)\n"
  13378.    "      (declare (in) vec3 coord))\n"
  13379.    "    ())\n"
  13380.    "  (signature vec4\n"
  13381.    "    (parameters\n"
  13382.    "      (declare (in) sampler2DRect sampler)\n"
  13383.    "      (declare (in) vec4 coord))\n"
  13384.    "    ()))\n"
  13385.    "(function shadow2DRect\n"
  13386.    "  (signature vec4\n"
  13387.    "    (parameters\n"
  13388.    "      (declare (in) sampler2DRectShadow sampler)\n"
  13389.    "      (declare (in) vec3 coord))\n"
  13390.    "    ()))\n"
  13391.    "(function shadow2DRectProj\n"
  13392.    "  (signature vec4\n"
  13393.    "    (parameters\n"
  13394.    "      (declare (in) sampler2DRectShadow sampler)\n"
  13395.    "      (declare (in) vec4 coord))\n"
  13396.    "    ())))"
  13397. ;
  13398. static const char *functions_for_ARB_texture_rectangle_vert [] = {
  13399.    builtin_shadow2DRect,
  13400.    builtin_shadow2DRectProj,
  13401.    builtin_texture2DRect,
  13402.    builtin_texture2DRectProj,
  13403. };
  13404. static const char prototypes_for_EXT_texture_array_frag[] =
  13405.    "(\n"
  13406.    "(function texture1DArray\n"
  13407.    "  (signature vec4\n"
  13408.    "    (parameters\n"
  13409.    "      (declare (in) sampler1DArray sampler)\n"
  13410.    "      (declare (in) vec2 coord))\n"
  13411.    "    ())\n"
  13412.    "  (signature vec4\n"
  13413.    "    (parameters\n"
  13414.    "      (declare (in) sampler1DArray sampler)\n"
  13415.    "      (declare (in) vec2 coord)\n"
  13416.    "      (declare (in) float bias))\n"
  13417.    "    ()))\n"
  13418.    "(function texture2DArray\n"
  13419.    "  (signature vec4\n"
  13420.    "    (parameters\n"
  13421.    "      (declare (in) sampler2DArray sampler)\n"
  13422.    "      (declare (in) vec3 coord))\n"
  13423.    "    ())\n"
  13424.    "  (signature vec4\n"
  13425.    "    (parameters\n"
  13426.    "      (declare (in) sampler2DArray sampler)\n"
  13427.    "      (declare (in) vec3 coord)\n"
  13428.    "      (declare (in) float bias))\n"
  13429.    "    ()))\n"
  13430.    "(function shadow1DArray\n"
  13431.    "  (signature vec4\n"
  13432.    "    (parameters\n"
  13433.    "      (declare (in) sampler1DArrayShadow sampler)\n"
  13434.    "      (declare (in) vec3 coord))\n"
  13435.    "    ())\n"
  13436.    "  (signature vec4\n"
  13437.    "    (parameters\n"
  13438.    "      (declare (in) sampler1DArrayShadow sampler)\n"
  13439.    "      (declare (in) vec3 coord)\n"
  13440.    "      (declare (in) float bias))\n"
  13441.    "    ()))\n"
  13442.    "(function shadow2DArray\n"
  13443.    "  (signature vec4\n"
  13444.    "    (parameters\n"
  13445.    "      (declare (in) sampler2DArrayShadow sampler)\n"
  13446.    "      (declare (in) vec4 coord))\n"
  13447.    "    ())))"
  13448. ;
  13449. static const char *functions_for_EXT_texture_array_frag [] = {
  13450.    builtin_shadow1DArray,
  13451.    builtin_shadow2DArray,
  13452.    builtin_texture1DArray,
  13453.    builtin_texture2DArray,
  13454. };
  13455. static const char prototypes_for_EXT_texture_array_vert[] =
  13456.    "(\n"
  13457.    "(function texture1DArray\n"
  13458.    "  (signature vec4\n"
  13459.    "    (parameters\n"
  13460.    "      (declare (in) sampler1DArray sampler)\n"
  13461.    "      (declare (in) vec2 coord))\n"
  13462.    "    ()))\n"
  13463.    "(function texture1DArrayLod\n"
  13464.    "  (signature vec4\n"
  13465.    "    (parameters\n"
  13466.    "      (declare (in) sampler1DArray sampler)\n"
  13467.    "      (declare (in) vec2 coord)\n"
  13468.    "      (declare (in) float lod))\n"
  13469.    "    ()))\n"
  13470.    "(function texture2DArray\n"
  13471.    "  (signature vec4\n"
  13472.    "    (parameters\n"
  13473.    "      (declare (in) sampler2DArray sampler)\n"
  13474.    "      (declare (in) vec3 coord))\n"
  13475.    "    ()))\n"
  13476.    "(function texture2DArrayLod\n"
  13477.    "  (signature vec4\n"
  13478.    "    (parameters\n"
  13479.    "      (declare (in) sampler2DArray sampler)\n"
  13480.    "      (declare (in) vec3 coord)\n"
  13481.    "      (declare (in) float lod))\n"
  13482.    "    ()))\n"
  13483.    "(function shadow1DArray\n"
  13484.    "  (signature vec4\n"
  13485.    "    (parameters\n"
  13486.    "      (declare (in) sampler1DArrayShadow sampler)\n"
  13487.    "      (declare (in) vec3 coord))\n"
  13488.    "    ()))\n"
  13489.    "(function shadow1DArrayLod\n"
  13490.    "  (signature vec4\n"
  13491.    "    (parameters\n"
  13492.    "      (declare (in) sampler1DArrayShadow sampler)\n"
  13493.    "      (declare (in) vec3 coord)\n"
  13494.    "      (declare (in) float lod))\n"
  13495.    "    ()))\n"
  13496.    "(function shadow2DArray\n"
  13497.    "  (signature vec4\n"
  13498.    "    (parameters\n"
  13499.    "      (declare (in) sampler2DArrayShadow sampler)\n"
  13500.    "      (declare (in) vec4 coord))\n"
  13501.    "    ())))"
  13502. ;
  13503. static const char *functions_for_EXT_texture_array_vert [] = {
  13504.    builtin_shadow1DArray,
  13505.    builtin_shadow1DArrayLod,
  13506.    builtin_shadow2DArray,
  13507.    builtin_texture1DArray,
  13508.    builtin_texture1DArrayLod,
  13509.    builtin_texture2DArray,
  13510.    builtin_texture2DArrayLod,
  13511. };
  13512. static gl_shader *builtin_profiles[12];
  13513.  
  13514. void *builtin_mem_ctx = NULL;
  13515.  
  13516. void
  13517. _mesa_glsl_release_functions(void)
  13518. {
  13519.    ralloc_free(builtin_mem_ctx);
  13520.    builtin_mem_ctx = NULL;
  13521.    memset(builtin_profiles, 0, sizeof(builtin_profiles));
  13522. }
  13523.  
  13524. static void
  13525. _mesa_read_profile(struct _mesa_glsl_parse_state *state,
  13526.                    exec_list *instructions,
  13527.                    int profile_index,
  13528.                    const char *prototypes,
  13529.                    const char **functions,
  13530.                    int count)
  13531. {
  13532.    gl_shader *sh = builtin_profiles[profile_index];
  13533.  
  13534.    if (sh == NULL) {
  13535.       sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
  13536.       ralloc_steal(builtin_mem_ctx, sh);
  13537.       builtin_profiles[profile_index] = sh;
  13538.    }
  13539.  
  13540.    state->builtins_to_link[state->num_builtins_to_link] = sh;
  13541.    state->num_builtins_to_link++;
  13542. }
  13543.  
  13544. void
  13545. _mesa_glsl_initialize_functions(exec_list *instructions,
  13546.                                 struct _mesa_glsl_parse_state *state)
  13547. {
  13548.    if (builtin_mem_ctx == NULL) {
  13549.       builtin_mem_ctx = ralloc_context(NULL); // "GLSL built-in functions"
  13550.       memset(&builtin_profiles, 0, sizeof(builtin_profiles));
  13551.    }
  13552.  
  13553.    state->num_builtins_to_link = 0;
  13554.  
  13555.    if (state->target == fragment_shader && state->language_version == 100) {
  13556.       _mesa_read_profile(state, instructions, 0,
  13557.                          prototypes_for_100_frag,
  13558.                          functions_for_100_frag,
  13559.                          Elements(functions_for_100_frag));
  13560.    }
  13561.  
  13562.    if (state->target == vertex_shader && state->language_version == 100) {
  13563.       _mesa_read_profile(state, instructions, 1,
  13564.                          prototypes_for_100_vert,
  13565.                          functions_for_100_vert,
  13566.                          Elements(functions_for_100_vert));
  13567.    }
  13568.  
  13569.    if (state->target == fragment_shader && state->language_version == 110) {
  13570.       _mesa_read_profile(state, instructions, 2,
  13571.                          prototypes_for_110_frag,
  13572.                          functions_for_110_frag,
  13573.                          Elements(functions_for_110_frag));
  13574.    }
  13575.  
  13576.    if (state->target == vertex_shader && state->language_version == 110) {
  13577.       _mesa_read_profile(state, instructions, 3,
  13578.                          prototypes_for_110_vert,
  13579.                          functions_for_110_vert,
  13580.                          Elements(functions_for_110_vert));
  13581.    }
  13582.  
  13583.    if (state->target == fragment_shader && state->language_version == 120) {
  13584.       _mesa_read_profile(state, instructions, 4,
  13585.                          prototypes_for_120_frag,
  13586.                          functions_for_120_frag,
  13587.                          Elements(functions_for_120_frag));
  13588.    }
  13589.  
  13590.    if (state->target == vertex_shader && state->language_version == 120) {
  13591.       _mesa_read_profile(state, instructions, 5,
  13592.                          prototypes_for_120_vert,
  13593.                          functions_for_120_vert,
  13594.                          Elements(functions_for_120_vert));
  13595.    }
  13596.  
  13597.    if (state->target == fragment_shader && state->language_version == 130) {
  13598.       _mesa_read_profile(state, instructions, 6,
  13599.                          prototypes_for_130_frag,
  13600.                          functions_for_130_frag,
  13601.                          Elements(functions_for_130_frag));
  13602.    }
  13603.  
  13604.    if (state->target == vertex_shader && state->language_version == 130) {
  13605.       _mesa_read_profile(state, instructions, 7,
  13606.                          prototypes_for_130_vert,
  13607.                          functions_for_130_vert,
  13608.                          Elements(functions_for_130_vert));
  13609.    }
  13610.  
  13611.    if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
  13612.       _mesa_read_profile(state, instructions, 8,
  13613.                          prototypes_for_ARB_texture_rectangle_frag,
  13614.                          functions_for_ARB_texture_rectangle_frag,
  13615.                          Elements(functions_for_ARB_texture_rectangle_frag));
  13616.    }
  13617.  
  13618.    if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
  13619.       _mesa_read_profile(state, instructions, 9,
  13620.                          prototypes_for_ARB_texture_rectangle_vert,
  13621.                          functions_for_ARB_texture_rectangle_vert,
  13622.                          Elements(functions_for_ARB_texture_rectangle_vert));
  13623.    }
  13624.  
  13625.    if (state->target == fragment_shader && state->EXT_texture_array_enable) {
  13626.       _mesa_read_profile(state, instructions, 10,
  13627.                          prototypes_for_EXT_texture_array_frag,
  13628.                          functions_for_EXT_texture_array_frag,
  13629.                          Elements(functions_for_EXT_texture_array_frag));
  13630.    }
  13631.  
  13632.    if (state->target == vertex_shader && state->EXT_texture_array_enable) {
  13633.       _mesa_read_profile(state, instructions, 11,
  13634.                          prototypes_for_EXT_texture_array_vert,
  13635.                          functions_for_EXT_texture_array_vert,
  13636.                          Elements(functions_for_EXT_texture_array_vert));
  13637.    }
  13638.  
  13639. }
  13640.