1((function dot
2   (signature float
3     (parameters
4       (declare (in) float arg0)
5       (declare (in) float arg1))
6     ((return (expression float * (var_ref arg0) (var_ref arg1)))))
7
8   (signature float
9     (parameters
10       (declare (in) vec2 arg0)
11       (declare (in) vec2 arg1))
12     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
13
14   (signature float
15     (parameters
16       (declare (in) vec3 arg0)
17       (declare (in) vec3 arg1))
18     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
19
20   (signature float
21     (parameters
22       (declare (in) vec4 arg0)
23       (declare (in) vec4 arg1))
24     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
25))
26