((function radians
   (signature float
     (parameters
       (declare (in) float arg0))
     ((return (expression float * (var_ref arg0) (constant float (0.0174532925))))))

   (signature vec2
     (parameters
       (declare (in) vec2 arg0))
     ((return (expression vec2 * (var_ref arg0) (constant float (0.0174532925))))))

   (signature vec3
     (parameters
       (declare (in) vec3 arg0))
     ((return (expression vec3 * (var_ref arg0) (constant float (0.0174532925))))))

   (signature vec4
     (parameters
       (declare (in) vec4 arg0))
     ((return (expression vec4 * (var_ref arg0) (constant float (0.0174532925))))))
))
