1 ((function atan 2 (signature float 3 (parameters 4 (declare (in) float y_over_x)) 5 ((return (call asin ((expression float * 6 (var_ref y_over_x) 7 (expression float rsq 8 (expression float + 9 (expression float * 10 (var_ref y_over_x) 11 (var_ref y_over_x)) 12 (constant float (1.0)))))))))) 13 14 (signature vec2 15 (parameters 16 (declare (in) vec2 y_over_x)) 17 ((return (call asin ((expression vec2 * 18 (var_ref y_over_x) 19 (expression vec2 rsq 20 (expression vec2 + 21 (expression vec2 * 22 (var_ref y_over_x) 23 (var_ref y_over_x)) 24 (constant float (1.0)))))))))) 25 26 (signature vec3 27 (parameters 28 (declare (in) vec3 y_over_x)) 29 ((return (call asin ((expression vec3 * 30 (var_ref y_over_x) 31 (expression vec3 rsq 32 (expression vec3 + 33 (expression vec3 * 34 (var_ref y_over_x) 35 (var_ref y_over_x)) 36 (constant float (1.0)))))))))) 37 38 (signature vec4 39 (parameters 40 (declare (in) vec4 y_over_x)) 41 ((return (call asin ((expression vec4 * 42 (var_ref y_over_x) 43 (expression vec4 rsq 44 (expression vec4 + 45 (expression vec4 * 46 (var_ref y_over_x) 47 (var_ref y_over_x)) 48 (constant float (1.0)))))))))) 49 50 (signature float 51 (parameters 52 (declare (in ) float y) 53 (declare (in ) float x) 54 ) 55 ( 56 (declare () float r) 57 (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) ( 58 (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x))))) 59 (if (expression bool < (var_ref x) (constant float (0.000000)) ) ( 60 (if (expression bool >= (var_ref y) (constant float (0.000000)) ) 61 ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593))))) 62 ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593)))))) 63 ) 64 ( 65 )) 66 ) 67 ( 68 (declare () float sgn) 69 (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y))) 70 (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965)))) 71 )) 72 73 (return (var_ref r) ) 74 )) 75 76 77 78 (signature vec2 79 (parameters 80 (declare (in) vec2 y) 81 (declare (in) vec2 x)) 82 ((declare () vec2 r) 83 (assign (constant bool (1)) (x) (var_ref r) 84 (call atan ((swiz x (var_ref y)) 85 (swiz x (var_ref x))))) 86 (assign (constant bool (1)) (y) (var_ref r) 87 (call atan ((swiz y (var_ref y)) 88 (swiz y (var_ref x))))) 89 (return (var_ref r)))) 90 91 (signature vec3 92 (parameters 93 (declare (in) vec3 y) 94 (declare (in) vec3 x)) 95 ((declare () vec3 r) 96 (assign (constant bool (1)) (x) (var_ref r) 97 (call atan ((swiz x (var_ref y)) 98 (swiz x (var_ref x))))) 99 (assign (constant bool (1)) (y) (var_ref r) 100 (call atan ((swiz y (var_ref y)) 101 (swiz y (var_ref x))))) 102 (assign (constant bool (1)) (z) (var_ref r) 103 (call atan ((swiz z (var_ref y)) 104 (swiz z (var_ref x))))) 105 (return (var_ref r)))) 106 107 (signature vec4 108 (parameters 109 (declare (in) vec4 y) 110 (declare (in) vec4 x)) 111 ((declare () vec4 r) 112 (assign (constant bool (1)) (x) (var_ref r) 113 (call atan ((swiz x (var_ref y)) 114 (swiz x (var_ref x))))) 115 (assign (constant bool (1)) (y) (var_ref r) 116 (call atan ((swiz y (var_ref y)) 117 (swiz y (var_ref x))))) 118 (assign (constant bool (1)) (z) (var_ref r) 119 (call atan ((swiz z (var_ref y)) 120 (swiz z (var_ref x))))) 121 (assign (constant bool (1)) (w) (var_ref r) 122 (call atan ((swiz w (var_ref y)) 123 (swiz w (var_ref x))))) 124 (return (var_ref r))))) 125 126 )) 127