1 ((function faceforward 2 (signature float 3 (parameters 4 (declare (in) float N) 5 (declare (in) float I) 6 (declare (in) float Nref)) 7 ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0))) 8 ((return (var_ref N))) 9 ((return (expression float neg (var_ref N))))))) 10 11 (signature vec2 12 (parameters 13 (declare (in) vec2 N) 14 (declare (in) vec2 I) 15 (declare (in) vec2 Nref)) 16 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0))) 17 ((return (var_ref N))) 18 ((return (expression vec2 neg (var_ref N))))))) 19 20 (signature vec3 21 (parameters 22 (declare (in) vec3 N) 23 (declare (in) vec3 I) 24 (declare (in) vec3 Nref)) 25 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0))) 26 ((return (var_ref N))) 27 ((return (expression vec3 neg (var_ref N))))))) 28 29 (signature vec4 30 (parameters 31 (declare (in) vec4 N) 32 (declare (in) vec4 I) 33 (declare (in) vec4 Nref)) 34 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0))) 35 ((return (var_ref N))) 36 ((return (expression vec4 neg (var_ref N))))))) 37 )) 38