((function distance (signature float (parameters (declare (in) float p0) (declare (in) float p1)) ((return (expression float abs (expression float - (var_ref p0) (var_ref p1)))))) (signature float (parameters (declare (in) vec2 p0) (declare (in) vec2 p1)) ((declare () vec2 p) (assign (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) (signature float (parameters (declare (in) vec3 p0) (declare (in) vec3 p1)) ((declare () vec3 p) (assign (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) (signature float (parameters (declare (in) vec4 p0) (declare (in) vec4 p1)) ((declare () vec4 p) (assign (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) ))