((function dot (signature float (parameters (declare (in) float arg0) (declare (in) float arg1)) ((return (expression float * (var_ref arg0) (var_ref arg1))))) (signature float (parameters (declare (in) vec2 arg0) (declare (in) vec2 arg1)) ((return (expression float dot (var_ref arg0) (var_ref arg1))))) (signature float (parameters (declare (in) vec3 arg0) (declare (in) vec3 arg1)) ((return (expression float dot (var_ref arg0) (var_ref arg1))))) (signature float (parameters (declare (in) vec4 arg0) (declare (in) vec4 arg1)) ((return (expression float dot (var_ref arg0) (var_ref arg1))))) ))