((function cross (signature vec3 (parameters (declare (in) vec3 a) (declare (in) vec3 b)) ((return (expression vec3 - (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b))) (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b))))))) ))