git.haldean.org del / 4067a5a
fix a bunch of issues with generated glsl.del Haldean Brown 2 years ago
4 changed file(s) with 926 addition(s) and 925 deletion(s). Raw diff Collapse all Expand all
00 (import http://git.haldean.org/del/raw/master/examples/sphere.del s)
1 (import glsl.del glsl)
12
23 (define root:color (v:f3)
34 (if (< (s.sphere 1.0 v) 0.001)
45 (s.rgb 1.0 1.0 1.0)
5 (s.rgb 0.0 0.0 0.0)
6 (s.rgb (glsl.sin 0.0) 0.0 0.0)
67 ))
00 (* this file autogenerated by genbuiltins, do not edit directly! *)
1 (define radians:f (__x1:f) ($ radians __x1))
2 (define radians:f2 (__x1:f2) ($ radians __x1))
3 (define radians:f3 (__x1:f3) ($ radians __x1))
4 (define radians:f4 (__x1:f4) ($ radians __x1))
5 (define degrees:f (__x1:f) ($ degrees __x1))
6 (define degrees:f2 (__x1:f2) ($ degrees __x1))
7 (define degrees:f3 (__x1:f3) ($ degrees __x1))
8 (define degrees:f4 (__x1:f4) ($ degrees __x1))
9 (define sin:f (__x1:f) ($ sin __x1))
10 (define sin:f2 (__x1:f2) ($ sin __x1))
11 (define sin:f3 (__x1:f3) ($ sin __x1))
12 (define sin:f4 (__x1:f4) ($ sin __x1))
13 (define cos:f (__x1:f) ($ cos __x1))
14 (define cos:f2 (__x1:f2) ($ cos __x1))
15 (define cos:f3 (__x1:f3) ($ cos __x1))
16 (define cos:f4 (__x1:f4) ($ cos __x1))
17 (define tan:f (__x1:f) ($ tan __x1))
18 (define tan:f2 (__x1:f2) ($ tan __x1))
19 (define tan:f3 (__x1:f3) ($ tan __x1))
20 (define tan:f4 (__x1:f4) ($ tan __x1))
21 (define asin:f (__x1:f) ($ asin __x1))
22 (define asin:f2 (__x1:f2) ($ asin __x1))
23 (define asin:f3 (__x1:f3) ($ asin __x1))
24 (define asin:f4 (__x1:f4) ($ asin __x1))
25 (define acos:f (__x1:f) ($ acos __x1))
26 (define acos:f2 (__x1:f2) ($ acos __x1))
27 (define acos:f3 (__x1:f3) ($ acos __x1))
28 (define acos:f4 (__x1:f4) ($ acos __x1))
29 (define atan:f (__x1:f, __x2:f) ($ atan __x1 __x2))
30 (define atan:f2 (__x1:f2, __x2:f2) ($ atan __x1 __x2))
31 (define atan:f3 (__x1:f3, __x2:f3) ($ atan __x1 __x2))
32 (define atan:f4 (__x1:f4, __x2:f4) ($ atan __x1 __x2))
33 (define atan:f (__x1:f) ($ atan __x1))
34 (define atan:f2 (__x1:f2) ($ atan __x1))
35 (define atan:f3 (__x1:f3) ($ atan __x1))
36 (define atan:f4 (__x1:f4) ($ atan __x1))
37 (define sinh:f (__x1:f) ($ sinh __x1))
38 (define sinh:f2 (__x1:f2) ($ sinh __x1))
39 (define sinh:f3 (__x1:f3) ($ sinh __x1))
40 (define sinh:f4 (__x1:f4) ($ sinh __x1))
41 (define cosh:f (__x1:f) ($ cosh __x1))
42 (define cosh:f2 (__x1:f2) ($ cosh __x1))
43 (define cosh:f3 (__x1:f3) ($ cosh __x1))
44 (define cosh:f4 (__x1:f4) ($ cosh __x1))
45 (define tanh:f (__x1:f) ($ tanh __x1))
46 (define tanh:f2 (__x1:f2) ($ tanh __x1))
47 (define tanh:f3 (__x1:f3) ($ tanh __x1))
48 (define tanh:f4 (__x1:f4) ($ tanh __x1))
49 (define asinh:f (__x1:f) ($ asinh __x1))
50 (define asinh:f2 (__x1:f2) ($ asinh __x1))
51 (define asinh:f3 (__x1:f3) ($ asinh __x1))
52 (define asinh:f4 (__x1:f4) ($ asinh __x1))
53 (define acosh:f (__x1:f) ($ acosh __x1))
54 (define acosh:f2 (__x1:f2) ($ acosh __x1))
55 (define acosh:f3 (__x1:f3) ($ acosh __x1))
56 (define acosh:f4 (__x1:f4) ($ acosh __x1))
57 (define atanh:f (__x1:f) ($ atanh __x1))
58 (define atanh:f2 (__x1:f2) ($ atanh __x1))
59 (define atanh:f3 (__x1:f3) ($ atanh __x1))
60 (define atanh:f4 (__x1:f4) ($ atanh __x1))
61 (define pow:f (__x1:f, __x2:f) ($ pow __x1 __x2))
62 (define pow:f2 (__x1:f2, __x2:f2) ($ pow __x1 __x2))
63 (define pow:f3 (__x1:f3, __x2:f3) ($ pow __x1 __x2))
64 (define pow:f4 (__x1:f4, __x2:f4) ($ pow __x1 __x2))
65 (define exp:f (__x1:f) ($ exp __x1))
66 (define exp:f2 (__x1:f2) ($ exp __x1))
67 (define exp:f3 (__x1:f3) ($ exp __x1))
68 (define exp:f4 (__x1:f4) ($ exp __x1))
69 (define log:f (__x1:f) ($ log __x1))
70 (define log:f2 (__x1:f2) ($ log __x1))
71 (define log:f3 (__x1:f3) ($ log __x1))
72 (define log:f4 (__x1:f4) ($ log __x1))
73 (define exp2:f (__x1:f) ($ exp2 __x1))
74 (define exp2:f2 (__x1:f2) ($ exp2 __x1))
75 (define exp2:f3 (__x1:f3) ($ exp2 __x1))
76 (define exp2:f4 (__x1:f4) ($ exp2 __x1))
77 (define log2:f (__x1:f) ($ log2 __x1))
78 (define log2:f2 (__x1:f2) ($ log2 __x1))
79 (define log2:f3 (__x1:f3) ($ log2 __x1))
80 (define log2:f4 (__x1:f4) ($ log2 __x1))
81 (define sqrt:f (__x1:f) ($ sqrt __x1))
82 (define sqrt:f2 (__x1:f2) ($ sqrt __x1))
83 (define sqrt:f3 (__x1:f3) ($ sqrt __x1))
84 (define sqrt:f4 (__x1:f4) ($ sqrt __x1))
85 (define inversesqrt:f (__x1:f) ($ inversesqrt __x1))
86 (define inversesqrt:f2 (__x1:f2) ($ inversesqrt __x1))
87 (define inversesqrt:f3 (__x1:f3) ($ inversesqrt __x1))
88 (define inversesqrt:f4 (__x1:f4) ($ inversesqrt __x1))
89 (define abs:f (__x1:f) ($ abs __x1))
90 (define abs:f2 (__x1:f2) ($ abs __x1))
91 (define abs:f3 (__x1:f3) ($ abs __x1))
92 (define abs:f4 (__x1:f4) ($ abs __x1))
93 (define sign:f (__x1:f) ($ sign __x1))
94 (define sign:f2 (__x1:f2) ($ sign __x1))
95 (define sign:f3 (__x1:f3) ($ sign __x1))
96 (define sign:f4 (__x1:f4) ($ sign __x1))
97 (define floor:f (__x1:f) ($ floor __x1))
98 (define floor:f2 (__x1:f2) ($ floor __x1))
99 (define floor:f3 (__x1:f3) ($ floor __x1))
100 (define floor:f4 (__x1:f4) ($ floor __x1))
101 (define ceil:f (__x1:f) ($ ceil __x1))
102 (define ceil:f2 (__x1:f2) ($ ceil __x1))
103 (define ceil:f3 (__x1:f3) ($ ceil __x1))
104 (define ceil:f4 (__x1:f4) ($ ceil __x1))
105 (define fract:f (__x1:f) ($ fract __x1))
106 (define fract:f2 (__x1:f2) ($ fract __x1))
107 (define fract:f3 (__x1:f3) ($ fract __x1))
108 (define fract:f4 (__x1:f4) ($ fract __x1))
109 (define mod:f (__x1:f, __x2:f) ($ mod __x1 __x2))
110 (define mod:f2 (__x1:f2, __x2:f) ($ mod __x1 __x2))
111 (define mod:f3 (__x1:f3, __x2:f) ($ mod __x1 __x2))
112 (define mod:f4 (__x1:f4, __x2:f) ($ mod __x1 __x2))
113 (define mod:f2 (__x1:f2, __x2:f2) ($ mod __x1 __x2))
114 (define mod:f3 (__x1:f3, __x2:f3) ($ mod __x1 __x2))
115 (define mod:f4 (__x1:f4, __x2:f4) ($ mod __x1 __x2))
116 (define min:f (__x1:f, __x2:f) ($ min __x1 __x2))
117 (define min:f2 (__x1:f2, __x2:f) ($ min __x1 __x2))
118 (define min:f3 (__x1:f3, __x2:f) ($ min __x1 __x2))
119 (define min:f4 (__x1:f4, __x2:f) ($ min __x1 __x2))
120 (define min:f2 (__x1:f2, __x2:f2) ($ min __x1 __x2))
121 (define min:f3 (__x1:f3, __x2:f3) ($ min __x1 __x2))
122 (define min:f4 (__x1:f4, __x2:f4) ($ min __x1 __x2))
123 (define max:f (__x1:f, __x2:f) ($ max __x1 __x2))
124 (define max:f2 (__x1:f2, __x2:f) ($ max __x1 __x2))
125 (define max:f3 (__x1:f3, __x2:f) ($ max __x1 __x2))
126 (define max:f4 (__x1:f4, __x2:f) ($ max __x1 __x2))
127 (define max:f2 (__x1:f2, __x2:f2) ($ max __x1 __x2))
128 (define max:f3 (__x1:f3, __x2:f3) ($ max __x1 __x2))
129 (define max:f4 (__x1:f4, __x2:f4) ($ max __x1 __x2))
130 (define clamp:f (__x1:f, __x2:f, __x3:f) ($ clamp __x1 __x2 __x3))
131 (define clamp:f2 (__x1:f2, __x2:f, __x3:f) ($ clamp __x1 __x2 __x3))
132 (define clamp:f3 (__x1:f3, __x2:f, __x3:f) ($ clamp __x1 __x2 __x3))
133 (define clamp:f4 (__x1:f4, __x2:f, __x3:f) ($ clamp __x1 __x2 __x3))
134 (define clamp:f2 (__x1:f2, __x2:f2, __x3:f2) ($ clamp __x1 __x2 __x3))
135 (define clamp:f3 (__x1:f3, __x2:f3, __x3:f3) ($ clamp __x1 __x2 __x3))
136 (define clamp:f4 (__x1:f4, __x2:f4, __x3:f4) ($ clamp __x1 __x2 __x3))
137 (define mix:f (__x1:f, __x2:f, __x3:f) ($ mix __x1 __x2 __x3))
138 (define mix:f2 (__x1:f2, __x2:f2, __x3:f) ($ mix __x1 __x2 __x3))
139 (define mix:f3 (__x1:f3, __x2:f3, __x3:f) ($ mix __x1 __x2 __x3))
140 (define mix:f4 (__x1:f4, __x2:f4, __x3:f) ($ mix __x1 __x2 __x3))
141 (define mix:f2 (__x1:f2, __x2:f2, __x3:f2) ($ mix __x1 __x2 __x3))
142 (define mix:f3 (__x1:f3, __x2:f3, __x3:f3) ($ mix __x1 __x2 __x3))
143 (define mix:f4 (__x1:f4, __x2:f4, __x3:f4) ($ mix __x1 __x2 __x3))
144 (define step:f (__x1:f, __x2:f) ($ step __x1 __x2))
145 (define step:f2 (__x1:f2, __x2:f2) ($ step __x1 __x2))
146 (define step:f3 (__x1:f3, __x2:f3) ($ step __x1 __x2))
147 (define step:f4 (__x1:f4, __x2:f4) ($ step __x1 __x2))
148 (define step:f2 (__x1:f, __x2:f2) ($ step __x1 __x2))
149 (define step:f3 (__x1:f, __x2:f3) ($ step __x1 __x2))
150 (define step:f4 (__x1:f, __x2:f4) ($ step __x1 __x2))
151 (define smoothstep:f (__x1:f, __x2:f, __x3:f) ($ smoothstep __x1 __x2 __x3))
152 (define smoothstep:f2 (__x1:f2, __x2:f2, __x3:f2) ($ smoothstep __x1 __x2 __x3))
153 (define smoothstep:f3 (__x1:f3, __x2:f3, __x3:f3) ($ smoothstep __x1 __x2 __x3))
154 (define smoothstep:f4 (__x1:f4, __x2:f4, __x3:f4) ($ smoothstep __x1 __x2 __x3))
155 (define smoothstep:f2 (__x1:f, __x2:f, __x3:f2) ($ smoothstep __x1 __x2 __x3))
156 (define smoothstep:f3 (__x1:f, __x2:f, __x3:f3) ($ smoothstep __x1 __x2 __x3))
157 (define smoothstep:f4 (__x1:f, __x2:f, __x3:f4) ($ smoothstep __x1 __x2 __x3))
158 (define abs:i (__x1:i) ($ abs __x1))
159 (define abs:i2 (__x1:i2) ($ abs __x1))
160 (define abs:i3 (__x1:i3) ($ abs __x1))
161 (define abs:i4 (__x1:i4) ($ abs __x1))
162 (define sign:i (__x1:i) ($ sign __x1))
163 (define sign:i2 (__x1:i2) ($ sign __x1))
164 (define sign:i3 (__x1:i3) ($ sign __x1))
165 (define sign:i4 (__x1:i4) ($ sign __x1))
166 (define trunc:f (__x1:f) ($ trunc __x1))
167 (define trunc:f2 (__x1:f2) ($ trunc __x1))
168 (define trunc:f3 (__x1:f3) ($ trunc __x1))
169 (define trunc:f4 (__x1:f4) ($ trunc __x1))
170 (define round:f (__x1:f) ($ round __x1))
171 (define round:f2 (__x1:f2) ($ round __x1))
172 (define round:f3 (__x1:f3) ($ round __x1))
173 (define round:f4 (__x1:f4) ($ round __x1))
174 (define roundEven:f (__x1:f) ($ roundEven __x1))
175 (define roundEven:f2 (__x1:f2) ($ roundEven __x1))
176 (define roundEven:f3 (__x1:f3) ($ roundEven __x1))
177 (define roundEven:f4 (__x1:f4) ($ roundEven __x1))
178 (define modf:f (__x1:f, __x2:f) ($ modf __x1 __x2))
179 (define modf:f2 (__x1:f2, __x2:f2) ($ modf __x1 __x2))
180 (define modf:f3 (__x1:f3, __x2:f3) ($ modf __x1 __x2))
181 (define modf:f4 (__x1:f4, __x2:f4) ($ modf __x1 __x2))
182 (define min:i (__x1:i, __x2:i) ($ min __x1 __x2))
183 (define min:i2 (__x1:i2, __x2:i) ($ min __x1 __x2))
184 (define min:i3 (__x1:i3, __x2:i) ($ min __x1 __x2))
185 (define min:i4 (__x1:i4, __x2:i) ($ min __x1 __x2))
186 (define min:i2 (__x1:i2, __x2:i2) ($ min __x1 __x2))
187 (define min:i3 (__x1:i3, __x2:i3) ($ min __x1 __x2))
188 (define min:i4 (__x1:i4, __x2:i4) ($ min __x1 __x2))
189 (define min:u (__x1:u, __x2:u) ($ min __x1 __x2))
190 (define min:u2 (__x1:u2, __x2:u) ($ min __x1 __x2))
191 (define min:u3 (__x1:u3, __x2:u) ($ min __x1 __x2))
192 (define min:u4 (__x1:u4, __x2:u) ($ min __x1 __x2))
193 (define min:u2 (__x1:u2, __x2:u2) ($ min __x1 __x2))
194 (define min:u3 (__x1:u3, __x2:u3) ($ min __x1 __x2))
195 (define min:u4 (__x1:u4, __x2:u4) ($ min __x1 __x2))
196 (define max:i (__x1:i, __x2:i) ($ max __x1 __x2))
197 (define max:i2 (__x1:i2, __x2:i) ($ max __x1 __x2))
198 (define max:i3 (__x1:i3, __x2:i) ($ max __x1 __x2))
199 (define max:i4 (__x1:i4, __x2:i) ($ max __x1 __x2))
200 (define max:i2 (__x1:i2, __x2:i2) ($ max __x1 __x2))
201 (define max:i3 (__x1:i3, __x2:i3) ($ max __x1 __x2))
202 (define max:i4 (__x1:i4, __x2:i4) ($ max __x1 __x2))
203 (define max:u (__x1:u, __x2:u) ($ max __x1 __x2))
204 (define max:u2 (__x1:u2, __x2:u) ($ max __x1 __x2))
205 (define max:u3 (__x1:u3, __x2:u) ($ max __x1 __x2))
206 (define max:u4 (__x1:u4, __x2:u) ($ max __x1 __x2))
207 (define max:u2 (__x1:u2, __x2:u2) ($ max __x1 __x2))
208 (define max:u3 (__x1:u3, __x2:u3) ($ max __x1 __x2))
209 (define max:u4 (__x1:u4, __x2:u4) ($ max __x1 __x2))
210 (define clamp:i (__x1:i, __x2:i, __x3:i) ($ clamp __x1 __x2 __x3))
211 (define clamp:i2 (__x1:i2, __x2:i, __x3:i) ($ clamp __x1 __x2 __x3))
212 (define clamp:i3 (__x1:i3, __x2:i, __x3:i) ($ clamp __x1 __x2 __x3))
213 (define clamp:i4 (__x1:i4, __x2:i, __x3:i) ($ clamp __x1 __x2 __x3))
214 (define clamp:i2 (__x1:i2, __x2:i2, __x3:i2) ($ clamp __x1 __x2 __x3))
215 (define clamp:i3 (__x1:i3, __x2:i3, __x3:i3) ($ clamp __x1 __x2 __x3))
216 (define clamp:i4 (__x1:i4, __x2:i4, __x3:i4) ($ clamp __x1 __x2 __x3))
217 (define clamp:u (__x1:u, __x2:u, __x3:u) ($ clamp __x1 __x2 __x3))
218 (define clamp:u2 (__x1:u2, __x2:u, __x3:u) ($ clamp __x1 __x2 __x3))
219 (define clamp:u3 (__x1:u3, __x2:u, __x3:u) ($ clamp __x1 __x2 __x3))
220 (define clamp:u4 (__x1:u4, __x2:u, __x3:u) ($ clamp __x1 __x2 __x3))
221 (define clamp:u2 (__x1:u2, __x2:u2, __x3:u2) ($ clamp __x1 __x2 __x3))
222 (define clamp:u3 (__x1:u3, __x2:u3, __x3:u3) ($ clamp __x1 __x2 __x3))
223 (define clamp:u4 (__x1:u4, __x2:u4, __x3:u4) ($ clamp __x1 __x2 __x3))
224 (define mix:f (__x1:f, __x2:f, __x3:b) ($ mix __x1 __x2 __x3))
225 (define mix:f2 (__x1:f2, __x2:f2, __x3:b2) ($ mix __x1 __x2 __x3))
226 (define mix:f3 (__x1:f3, __x2:f3, __x3:b3) ($ mix __x1 __x2 __x3))
227 (define mix:f4 (__x1:f4, __x2:f4, __x3:b4) ($ mix __x1 __x2 __x3))
228 (define isnan:b (__x1:f) ($ isnan __x1))
229 (define isnan:b2 (__x1:f2) ($ isnan __x1))
230 (define isnan:b3 (__x1:f3) ($ isnan __x1))
231 (define isnan:b4 (__x1:f4) ($ isnan __x1))
232 (define isinf:b (__x1:f) ($ isinf __x1))
233 (define isinf:b2 (__x1:f2) ($ isinf __x1))
234 (define isinf:b3 (__x1:f3) ($ isinf __x1))
235 (define isinf:b4 (__x1:f4) ($ isinf __x1))
236 (define sqrt:d (__x1:d) ($ sqrt __x1))
237 (define sqrt:d2 (__x1:d2) ($ sqrt __x1))
238 (define sqrt:d3 (__x1:d3) ($ sqrt __x1))
239 (define sqrt:d4 (__x1:d4) ($ sqrt __x1))
240 (define inversesqrt:d (__x1:d) ($ inversesqrt __x1))
241 (define inversesqrt:d2 (__x1:d2) ($ inversesqrt __x1))
242 (define inversesqrt:d3 (__x1:d3) ($ inversesqrt __x1))
243 (define inversesqrt:d4 (__x1:d4) ($ inversesqrt __x1))
244 (define abs:d (__x1:d) ($ abs __x1))
245 (define abs:d2 (__x1:d2) ($ abs __x1))
246 (define abs:d3 (__x1:d3) ($ abs __x1))
247 (define abs:d4 (__x1:d4) ($ abs __x1))
248 (define sign:d (__x1:d) ($ sign __x1))
249 (define sign:d2 (__x1:d2) ($ sign __x1))
250 (define sign:d3 (__x1:d3) ($ sign __x1))
251 (define sign:d4 (__x1:d4) ($ sign __x1))
252 (define floor:d (__x1:d) ($ floor __x1))
253 (define floor:d2 (__x1:d2) ($ floor __x1))
254 (define floor:d3 (__x1:d3) ($ floor __x1))
255 (define floor:d4 (__x1:d4) ($ floor __x1))
256 (define trunc:d (__x1:d) ($ trunc __x1))
257 (define trunc:d2 (__x1:d2) ($ trunc __x1))
258 (define trunc:d3 (__x1:d3) ($ trunc __x1))
259 (define trunc:d4 (__x1:d4) ($ trunc __x1))
260 (define round:d (__x1:d) ($ round __x1))
261 (define round:d2 (__x1:d2) ($ round __x1))
262 (define round:d3 (__x1:d3) ($ round __x1))
263 (define round:d4 (__x1:d4) ($ round __x1))
264 (define roundEven:d (__x1:d) ($ roundEven __x1))
265 (define roundEven:d2 (__x1:d2) ($ roundEven __x1))
266 (define roundEven:d3 (__x1:d3) ($ roundEven __x1))
267 (define roundEven:d4 (__x1:d4) ($ roundEven __x1))
268 (define ceil:d (__x1:d) ($ ceil __x1))
269 (define ceil:d2 (__x1:d2) ($ ceil __x1))
270 (define ceil:d3 (__x1:d3) ($ ceil __x1))
271 (define ceil:d4 (__x1:d4) ($ ceil __x1))
272 (define fract:d (__x1:d) ($ fract __x1))
273 (define fract:d2 (__x1:d2) ($ fract __x1))
274 (define fract:d3 (__x1:d3) ($ fract __x1))
275 (define fract:d4 (__x1:d4) ($ fract __x1))
276 (define mod:d (__x1:d, __x2:d) ($ mod __x1 __x2))
277 (define mod:d2 (__x1:d2, __x2:d) ($ mod __x1 __x2))
278 (define mod:d3 (__x1:d3, __x2:d) ($ mod __x1 __x2))
279 (define mod:d4 (__x1:d4, __x2:d) ($ mod __x1 __x2))
280 (define mod:d2 (__x1:d2, __x2:d2) ($ mod __x1 __x2))
281 (define mod:d3 (__x1:d3, __x2:d3) ($ mod __x1 __x2))
282 (define mod:d4 (__x1:d4, __x2:d4) ($ mod __x1 __x2))
283 (define modf:d (__x1:d, __x2:d) ($ modf __x1 __x2))
284 (define modf:d2 (__x1:d2, __x2:d2) ($ modf __x1 __x2))
285 (define modf:d3 (__x1:d3, __x2:d3) ($ modf __x1 __x2))
286 (define modf:d4 (__x1:d4, __x2:d4) ($ modf __x1 __x2))
287 (define min:d (__x1:d, __x2:d) ($ min __x1 __x2))
288 (define min:d2 (__x1:d2, __x2:d) ($ min __x1 __x2))
289 (define min:d3 (__x1:d3, __x2:d) ($ min __x1 __x2))
290 (define min:d4 (__x1:d4, __x2:d) ($ min __x1 __x2))
291 (define min:d2 (__x1:d2, __x2:d2) ($ min __x1 __x2))
292 (define min:d3 (__x1:d3, __x2:d3) ($ min __x1 __x2))
293 (define min:d4 (__x1:d4, __x2:d4) ($ min __x1 __x2))
294 (define max:d (__x1:d, __x2:d) ($ max __x1 __x2))
295 (define max:d2 (__x1:d2, __x2:d) ($ max __x1 __x2))
296 (define max:d3 (__x1:d3, __x2:d) ($ max __x1 __x2))
297 (define max:d4 (__x1:d4, __x2:d) ($ max __x1 __x2))
298 (define max:d2 (__x1:d2, __x2:d2) ($ max __x1 __x2))
299 (define max:d3 (__x1:d3, __x2:d3) ($ max __x1 __x2))
300 (define max:d4 (__x1:d4, __x2:d4) ($ max __x1 __x2))
301 (define clamp:d (__x1:d, __x2:d, __x3:d) ($ clamp __x1 __x2 __x3))
302 (define clamp:d2 (__x1:d2, __x2:d, __x3:d) ($ clamp __x1 __x2 __x3))
303 (define clamp:d3 (__x1:d3, __x2:d, __x3:d) ($ clamp __x1 __x2 __x3))
304 (define clamp:d4 (__x1:d4, __x2:d, __x3:d) ($ clamp __x1 __x2 __x3))
305 (define clamp:d2 (__x1:d2, __x2:d2, __x3:d2) ($ clamp __x1 __x2 __x3))
306 (define clamp:d3 (__x1:d3, __x2:d3, __x3:d3) ($ clamp __x1 __x2 __x3))
307 (define clamp:d4 (__x1:d4, __x2:d4, __x3:d4) ($ clamp __x1 __x2 __x3))
308 (define mix:d (__x1:d, __x2:d, __x3:d) ($ mix __x1 __x2 __x3))
309 (define mix:d2 (__x1:d2, __x2:d2, __x3:d) ($ mix __x1 __x2 __x3))
310 (define mix:d3 (__x1:d3, __x2:d3, __x3:d) ($ mix __x1 __x2 __x3))
311 (define mix:d4 (__x1:d4, __x2:d4, __x3:d) ($ mix __x1 __x2 __x3))
312 (define mix:d2 (__x1:d2, __x2:d2, __x3:d2) ($ mix __x1 __x2 __x3))
313 (define mix:d3 (__x1:d3, __x2:d3, __x3:d3) ($ mix __x1 __x2 __x3))
314 (define mix:d4 (__x1:d4, __x2:d4, __x3:d4) ($ mix __x1 __x2 __x3))
315 (define mix:d (__x1:d, __x2:d, __x3:b) ($ mix __x1 __x2 __x3))
316 (define mix:d2 (__x1:d2, __x2:d2, __x3:b2) ($ mix __x1 __x2 __x3))
317 (define mix:d3 (__x1:d3, __x2:d3, __x3:b3) ($ mix __x1 __x2 __x3))
318 (define mix:d4 (__x1:d4, __x2:d4, __x3:b4) ($ mix __x1 __x2 __x3))
319 (define step:d (__x1:d, __x2:d) ($ step __x1 __x2))
320 (define step:d2 (__x1:d2, __x2:d2) ($ step __x1 __x2))
321 (define step:d3 (__x1:d3, __x2:d3) ($ step __x1 __x2))
322 (define step:d4 (__x1:d4, __x2:d4) ($ step __x1 __x2))
323 (define step:d2 (__x1:d, __x2:d2) ($ step __x1 __x2))
324 (define step:d3 (__x1:d, __x2:d3) ($ step __x1 __x2))
325 (define step:d4 (__x1:d, __x2:d4) ($ step __x1 __x2))
326 (define smoothstep:d (__x1:d, __x2:d, __x3:d) ($ smoothstep __x1 __x2 __x3))
327 (define smoothstep:d2 (__x1:d2, __x2:d2, __x3:d2) ($ smoothstep __x1 __x2 __x3))
328 (define smoothstep:d3 (__x1:d3, __x2:d3, __x3:d3) ($ smoothstep __x1 __x2 __x3))
329 (define smoothstep:d4 (__x1:d4, __x2:d4, __x3:d4) ($ smoothstep __x1 __x2 __x3))
330 (define smoothstep:d2 (__x1:d, __x2:d, __x3:d2) ($ smoothstep __x1 __x2 __x3))
331 (define smoothstep:d3 (__x1:d, __x2:d, __x3:d3) ($ smoothstep __x1 __x2 __x3))
332 (define smoothstep:d4 (__x1:d, __x2:d, __x3:d4) ($ smoothstep __x1 __x2 __x3))
333 (define isnan:b (__x1:d) ($ isnan __x1))
334 (define isnan:b2 (__x1:d2) ($ isnan __x1))
335 (define isnan:b3 (__x1:d3) ($ isnan __x1))
336 (define isnan:b4 (__x1:d4) ($ isnan __x1))
337 (define isinf:b (__x1:d) ($ isinf __x1))
338 (define isinf:b2 (__x1:d2) ($ isinf __x1))
339 (define isinf:b3 (__x1:d3) ($ isinf __x1))
340 (define isinf:b4 (__x1:d4) ($ isinf __x1))
341 (define length:d (__x1:d) ($ length __x1))
342 (define length:d (__x1:d2) ($ length __x1))
343 (define length:d (__x1:d3) ($ length __x1))
344 (define length:d (__x1:d4) ($ length __x1))
345 (define distance:d (__x1:d, __x2:d) ($ distance __x1 __x2))
346 (define distance:d (__x1:d2, __x2:d2) ($ distance __x1 __x2))
347 (define distance:d (__x1:d3, __x2:d3) ($ distance __x1 __x2))
348 (define distance:d (__x1:d4, __x2:d4) ($ distance __x1 __x2))
349 (define dot:d (__x1:d, __x2:d) ($ dot __x1 __x2))
350 (define dot:d (__x1:d2, __x2:d2) ($ dot __x1 __x2))
351 (define dot:d (__x1:d3, __x2:d3) ($ dot __x1 __x2))
352 (define dot:d (__x1:d4, __x2:d4) ($ dot __x1 __x2))
353 (define cross:d3 (__x1:d3, __x2:d3) ($ cross __x1 __x2))
354 (define normalize:d (__x1:d) ($ normalize __x1))
355 (define normalize:d2 (__x1:d2) ($ normalize __x1))
356 (define normalize:d3 (__x1:d3) ($ normalize __x1))
357 (define normalize:d4 (__x1:d4) ($ normalize __x1))
358 (define faceforward:d (__x1:d, __x2:d, __x3:d) ($ faceforward __x1 __x2 __x3))
359 (define faceforward:d2 (__x1:d2, __x2:d2, __x3:d2) ($ faceforward __x1 __x2 __x3))
360 (define faceforward:d3 (__x1:d3, __x2:d3, __x3:d3) ($ faceforward __x1 __x2 __x3))
361 (define faceforward:d4 (__x1:d4, __x2:d4, __x3:d4) ($ faceforward __x1 __x2 __x3))
362 (define reflect:d (__x1:d, __x2:d) ($ reflect __x1 __x2))
363 (define reflect:d2 (__x1:d2, __x2:d2) ($ reflect __x1 __x2))
364 (define reflect:d3 (__x1:d3, __x2:d3) ($ reflect __x1 __x2))
365 (define reflect:d4 (__x1:d4, __x2:d4) ($ reflect __x1 __x2))
366 (define refract:d (__x1:d, __x2:d, __x3:d) ($ refract __x1 __x2 __x3))
367 (define refract:d2 (__x1:d2, __x2:d2, __x3:d) ($ refract __x1 __x2 __x3))
368 (define refract:d3 (__x1:d3, __x2:d3, __x3:d) ($ refract __x1 __x2 __x3))
369 (define refract:d4 (__x1:d4, __x2:d4, __x3:d) ($ refract __x1 __x2 __x3))
370 (define matrixCompMult:dmat2 (__x1:dmat2, __x2:dmat2) ($ matrixCompMult __x1 __x2))
371 (define matrixCompMult:dmat3 (__x1:dmat3, __x2:dmat3) ($ matrixCompMult __x1 __x2))
372 (define matrixCompMult:dmat4 (__x1:dmat4, __x2:dmat4) ($ matrixCompMult __x1 __x2))
373 (define matrixCompMult:dmat2x3 (__x1:dmat2x3, __x2:dmat2x3) ($ matrixCompMult __x1 __x2))
374 (define matrixCompMult:dmat2x4 (__x1:dmat2x4, __x2:dmat2x4) ($ matrixCompMult __x1 __x2))
375 (define matrixCompMult:dmat3x2 (__x1:dmat3x2, __x2:dmat3x2) ($ matrixCompMult __x1 __x2))
376 (define matrixCompMult:dmat3x4 (__x1:dmat3x4, __x2:dmat3x4) ($ matrixCompMult __x1 __x2))
377 (define matrixCompMult:dmat4x2 (__x1:dmat4x2, __x2:dmat4x2) ($ matrixCompMult __x1 __x2))
378 (define matrixCompMult:dmat4x3 (__x1:dmat4x3, __x2:dmat4x3) ($ matrixCompMult __x1 __x2))
379 (define outerProduct:dmat2 (__x1:d2, __x2:d2) ($ outerProduct __x1 __x2))
380 (define outerProduct:dmat3 (__x1:d3, __x2:d3) ($ outerProduct __x1 __x2))
381 (define outerProduct:dmat4 (__x1:d4, __x2:d4) ($ outerProduct __x1 __x2))
382 (define outerProduct:dmat2x3 (__x1:d3, __x2:d2) ($ outerProduct __x1 __x2))
383 (define outerProduct:dmat3x2 (__x1:d2, __x2:d3) ($ outerProduct __x1 __x2))
384 (define outerProduct:dmat2x4 (__x1:d4, __x2:d2) ($ outerProduct __x1 __x2))
385 (define outerProduct:dmat4x2 (__x1:d2, __x2:d4) ($ outerProduct __x1 __x2))
386 (define outerProduct:dmat3x4 (__x1:d4, __x2:d3) ($ outerProduct __x1 __x2))
387 (define outerProduct:dmat4x3 (__x1:d3, __x2:d4) ($ outerProduct __x1 __x2))
388 (define transpose:dmat2 (__x1:dmat2) ($ transpose __x1))
389 (define transpose:dmat3 (__x1:dmat3) ($ transpose __x1))
390 (define transpose:dmat4 (__x1:dmat4) ($ transpose __x1))
391 (define transpose:dmat2x3 (__x1:dmat3x2) ($ transpose __x1))
392 (define transpose:dmat3x2 (__x1:dmat2x3) ($ transpose __x1))
393 (define transpose:dmat2x4 (__x1:dmat4x2) ($ transpose __x1))
394 (define transpose:dmat4x2 (__x1:dmat2x4) ($ transpose __x1))
395 (define transpose:dmat3x4 (__x1:dmat4x3) ($ transpose __x1))
396 (define transpose:dmat4x3 (__x1:dmat3x4) ($ transpose __x1))
397 (define determinant:d (__x1:dmat2) ($ determinant __x1))
398 (define determinant:d (__x1:dmat3) ($ determinant __x1))
399 (define determinant:d (__x1:dmat4) ($ determinant __x1))
400 (define inverse:dmat2 (__x1:dmat2) ($ inverse __x1))
401 (define inverse:dmat3 (__x1:dmat3) ($ inverse __x1))
402 (define inverse:dmat4 (__x1:dmat4) ($ inverse __x1))
403 (define lessThan:b2 (__x1:d2, __x2:d2) ($ lessThan __x1 __x2))
404 (define lessThan:b3 (__x1:d3, __x2:d3) ($ lessThan __x1 __x2))
405 (define lessThan:b4 (__x1:d4, __x2:d4) ($ lessThan __x1 __x2))
406 (define lessThanEqual:b2 (__x1:d2, __x2:d2) ($ lessThanEqual __x1 __x2))
407 (define lessThanEqual:b3 (__x1:d3, __x2:d3) ($ lessThanEqual __x1 __x2))
408 (define lessThanEqual:b4 (__x1:d4, __x2:d4) ($ lessThanEqual __x1 __x2))
409 (define greaterThan:b2 (__x1:d2, __x2:d2) ($ greaterThan __x1 __x2))
410 (define greaterThan:b3 (__x1:d3, __x2:d3) ($ greaterThan __x1 __x2))
411 (define greaterThan:b4 (__x1:d4, __x2:d4) ($ greaterThan __x1 __x2))
412 (define greaterThanEqual:b2 (__x1:d2, __x2:d2) ($ greaterThanEqual __x1 __x2))
413 (define greaterThanEqual:b3 (__x1:d3, __x2:d3) ($ greaterThanEqual __x1 __x2))
414 (define greaterThanEqual:b4 (__x1:d4, __x2:d4) ($ greaterThanEqual __x1 __x2))
415 (define equal:b2 (__x1:d2, __x2:d2) ($ equal __x1 __x2))
416 (define equal:b3 (__x1:d3, __x2:d3) ($ equal __x1 __x2))
417 (define equal:b4 (__x1:d4, __x2:d4) ($ equal __x1 __x2))
418 (define notEqual:b2 (__x1:d2, __x2:d2) ($ notEqual __x1 __x2))
419 (define notEqual:b3 (__x1:d3, __x2:d3) ($ notEqual __x1 __x2))
420 (define notEqual:b4 (__x1:d4, __x2:d4) ($ notEqual __x1 __x2))
421 (define abs:l (__x1:l) ($ abs __x1))
422 (define abs:l2 (__x1:l2) ($ abs __x1))
423 (define abs:l3 (__x1:l3) ($ abs __x1))
424 (define abs:l4 (__x1:l4) ($ abs __x1))
425 (define sign:l (__x1:l) ($ sign __x1))
426 (define sign:l2 (__x1:l2) ($ sign __x1))
427 (define sign:l3 (__x1:l3) ($ sign __x1))
428 (define sign:l4 (__x1:l4) ($ sign __x1))
429 (define min:l (__x1:l, __x2:l) ($ min __x1 __x2))
430 (define min:l2 (__x1:l2, __x2:l) ($ min __x1 __x2))
431 (define min:l3 (__x1:l3, __x2:l) ($ min __x1 __x2))
432 (define min:l4 (__x1:l4, __x2:l) ($ min __x1 __x2))
433 (define min:l2 (__x1:l2, __x2:l2) ($ min __x1 __x2))
434 (define min:l3 (__x1:l3, __x2:l3) ($ min __x1 __x2))
435 (define min:l4 (__x1:l4, __x2:l4) ($ min __x1 __x2))
436 (define min:lu (__x1:lu, __x2:lu) ($ min __x1 __x2))
437 (define min:lu2 (__x1:lu2, __x2:lu) ($ min __x1 __x2))
438 (define min:lu3 (__x1:lu3, __x2:lu) ($ min __x1 __x2))
439 (define min:lu4 (__x1:lu4, __x2:lu) ($ min __x1 __x2))
440 (define min:lu2 (__x1:lu2, __x2:lu2) ($ min __x1 __x2))
441 (define min:lu3 (__x1:lu3, __x2:lu3) ($ min __x1 __x2))
442 (define min:lu4 (__x1:lu4, __x2:lu4) ($ min __x1 __x2))
443 (define max:l (__x1:l, __x2:l) ($ max __x1 __x2))
444 (define max:l2 (__x1:l2, __x2:l) ($ max __x1 __x2))
445 (define max:l3 (__x1:l3, __x2:l) ($ max __x1 __x2))
446 (define max:l4 (__x1:l4, __x2:l) ($ max __x1 __x2))
447 (define max:l2 (__x1:l2, __x2:l2) ($ max __x1 __x2))
448 (define max:l3 (__x1:l3, __x2:l3) ($ max __x1 __x2))
449 (define max:l4 (__x1:l4, __x2:l4) ($ max __x1 __x2))
450 (define max:lu (__x1:lu, __x2:lu) ($ max __x1 __x2))
451 (define max:lu2 (__x1:lu2, __x2:lu) ($ max __x1 __x2))
452 (define max:lu3 (__x1:lu3, __x2:lu) ($ max __x1 __x2))
453 (define max:lu4 (__x1:lu4, __x2:lu) ($ max __x1 __x2))
454 (define max:lu2 (__x1:lu2, __x2:lu2) ($ max __x1 __x2))
455 (define max:lu3 (__x1:lu3, __x2:lu3) ($ max __x1 __x2))
456 (define max:lu4 (__x1:lu4, __x2:lu4) ($ max __x1 __x2))
457 (define clamp:l (__x1:l, __x2:l, __x3:l) ($ clamp __x1 __x2 __x3))
458 (define clamp:l2 (__x1:l2, __x2:l, __x3:l) ($ clamp __x1 __x2 __x3))
459 (define clamp:l3 (__x1:l3, __x2:l, __x3:l) ($ clamp __x1 __x2 __x3))
460 (define clamp:l4 (__x1:l4, __x2:l, __x3:l) ($ clamp __x1 __x2 __x3))
461 (define clamp:l2 (__x1:l2, __x2:l2, __x3:l2) ($ clamp __x1 __x2 __x3))
462 (define clamp:l3 (__x1:l3, __x2:l3, __x3:l3) ($ clamp __x1 __x2 __x3))
463 (define clamp:l4 (__x1:l4, __x2:l4, __x3:l4) ($ clamp __x1 __x2 __x3))
464 (define clamp:lu (__x1:lu, __x2:lu, __x3:lu) ($ clamp __x1 __x2 __x3))
465 (define clamp:lu2 (__x1:lu2, __x2:lu, __x3:lu) ($ clamp __x1 __x2 __x3))
466 (define clamp:lu3 (__x1:lu3, __x2:lu, __x3:lu) ($ clamp __x1 __x2 __x3))
467 (define clamp:lu4 (__x1:lu4, __x2:lu, __x3:lu) ($ clamp __x1 __x2 __x3))
468 (define clamp:lu2 (__x1:lu2, __x2:lu2, __x3:lu2) ($ clamp __x1 __x2 __x3))
469 (define clamp:lu3 (__x1:lu3, __x2:lu3, __x3:lu3) ($ clamp __x1 __x2 __x3))
470 (define clamp:lu4 (__x1:lu4, __x2:lu4, __x3:lu4) ($ clamp __x1 __x2 __x3))
471 (define mix:l (__x1:l, __x2:l, __x3:b) ($ mix __x1 __x2 __x3))
472 (define mix:l2 (__x1:l2, __x2:l2, __x3:b2) ($ mix __x1 __x2 __x3))
473 (define mix:l3 (__x1:l3, __x2:l3, __x3:b3) ($ mix __x1 __x2 __x3))
474 (define mix:l4 (__x1:l4, __x2:l4, __x3:b4) ($ mix __x1 __x2 __x3))
475 (define mix:lu (__x1:lu, __x2:lu, __x3:b) ($ mix __x1 __x2 __x3))
476 (define mix:lu2 (__x1:lu2, __x2:lu2, __x3:b2) ($ mix __x1 __x2 __x3))
477 (define mix:lu3 (__x1:lu3, __x2:lu3, __x3:b3) ($ mix __x1 __x2 __x3))
478 (define mix:lu4 (__x1:lu4, __x2:lu4, __x3:b4) ($ mix __x1 __x2 __x3))
479 (define doubleBitsToInt64:l (__x1:d) ($ doubleBitsToInt64 __x1))
480 (define doubleBitsToInt64:l2 (__x1:d2) ($ doubleBitsToInt64 __x1))
481 (define doubleBitsToInt64:l3 (__x1:d3) ($ doubleBitsToInt64 __x1))
482 (define doubleBitsToInt64:l4 (__x1:d4) ($ doubleBitsToInt64 __x1))
483 (define doubleBitsToUint64:lu (__x1:d) ($ doubleBitsToUint64 __x1))
484 (define doubleBitsToUint64:lu2 (__x1:d2) ($ doubleBitsToUint64 __x1))
485 (define doubleBitsToUint64:lu3 (__x1:d3) ($ doubleBitsToUint64 __x1))
486 (define doubleBitsToUint64:lu4 (__x1:d4) ($ doubleBitsToUint64 __x1))
487 (define int64BitsToDouble:d (__x1:l) ($ int64BitsToDouble __x1))
488 (define int64BitsToDouble:d2 (__x1:l2) ($ int64BitsToDouble __x1))
489 (define int64BitsToDouble:d3 (__x1:l3) ($ int64BitsToDouble __x1))
490 (define int64BitsToDouble:d4 (__x1:l4) ($ int64BitsToDouble __x1))
491 (define uint64BitsToDouble:d (__x1:lu) ($ uint64BitsToDouble __x1))
492 (define uint64BitsToDouble:d2 (__x1:lu2) ($ uint64BitsToDouble __x1))
493 (define uint64BitsToDouble:d3 (__x1:lu3) ($ uint64BitsToDouble __x1))
494 (define uint64BitsToDouble:d4 (__x1:lu4) ($ uint64BitsToDouble __x1))
495 (define packInt2x32:l (__x1:i2) ($ packInt2x32 __x1))
496 (define packUint2x32:lu (__x1:u2) ($ packUint2x32 __x1))
497 (define unpackInt2x32:i2 (__x1:l) ($ unpackInt2x32 __x1))
498 (define unpackUint2x32:u2 (__x1:lu) ($ unpackUint2x32 __x1))
499 (define lessThan:b2 (__x1:l2, __x2:l2) ($ lessThan __x1 __x2))
500 (define lessThan:b3 (__x1:l3, __x2:l3) ($ lessThan __x1 __x2))
501 (define lessThan:b4 (__x1:l4, __x2:l4) ($ lessThan __x1 __x2))
502 (define lessThan:b2 (__x1:lu2, __x2:lu2) ($ lessThan __x1 __x2))
503 (define lessThan:b3 (__x1:lu3, __x2:lu3) ($ lessThan __x1 __x2))
504 (define lessThan:b4 (__x1:lu4, __x2:lu4) ($ lessThan __x1 __x2))
505 (define lessThanEqual:b2 (__x1:l2, __x2:l2) ($ lessThanEqual __x1 __x2))
506 (define lessThanEqual:b3 (__x1:l3, __x2:l3) ($ lessThanEqual __x1 __x2))
507 (define lessThanEqual:b4 (__x1:l4, __x2:l4) ($ lessThanEqual __x1 __x2))
508 (define lessThanEqual:b2 (__x1:lu2, __x2:lu2) ($ lessThanEqual __x1 __x2))
509 (define lessThanEqual:b3 (__x1:lu3, __x2:lu3) ($ lessThanEqual __x1 __x2))
510 (define lessThanEqual:b4 (__x1:lu4, __x2:lu4) ($ lessThanEqual __x1 __x2))
511 (define greaterThan:b2 (__x1:l2, __x2:l2) ($ greaterThan __x1 __x2))
512 (define greaterThan:b3 (__x1:l3, __x2:l3) ($ greaterThan __x1 __x2))
513 (define greaterThan:b4 (__x1:l4, __x2:l4) ($ greaterThan __x1 __x2))
514 (define greaterThan:b2 (__x1:lu2, __x2:lu2) ($ greaterThan __x1 __x2))
515 (define greaterThan:b3 (__x1:lu3, __x2:lu3) ($ greaterThan __x1 __x2))
516 (define greaterThan:b4 (__x1:lu4, __x2:lu4) ($ greaterThan __x1 __x2))
517 (define greaterThanEqual:b2 (__x1:l2, __x2:l2) ($ greaterThanEqual __x1 __x2))
518 (define greaterThanEqual:b3 (__x1:l3, __x2:l3) ($ greaterThanEqual __x1 __x2))
519 (define greaterThanEqual:b4 (__x1:l4, __x2:l4) ($ greaterThanEqual __x1 __x2))
520 (define greaterThanEqual:b2 (__x1:lu2, __x2:lu2) ($ greaterThanEqual __x1 __x2))
521 (define greaterThanEqual:b3 (__x1:lu3, __x2:lu3) ($ greaterThanEqual __x1 __x2))
522 (define greaterThanEqual:b4 (__x1:lu4, __x2:lu4) ($ greaterThanEqual __x1 __x2))
523 (define equal:b2 (__x1:l2, __x2:l2) ($ equal __x1 __x2))
524 (define equal:b3 (__x1:l3, __x2:l3) ($ equal __x1 __x2))
525 (define equal:b4 (__x1:l4, __x2:l4) ($ equal __x1 __x2))
526 (define equal:b2 (__x1:lu2, __x2:lu2) ($ equal __x1 __x2))
527 (define equal:b3 (__x1:lu3, __x2:lu3) ($ equal __x1 __x2))
528 (define equal:b4 (__x1:lu4, __x2:lu4) ($ equal __x1 __x2))
529 (define notEqual:b2 (__x1:l2, __x2:l2) ($ notEqual __x1 __x2))
530 (define notEqual:b3 (__x1:l3, __x2:l3) ($ notEqual __x1 __x2))
531 (define notEqual:b4 (__x1:l4, __x2:l4) ($ notEqual __x1 __x2))
532 (define notEqual:b2 (__x1:lu2, __x2:lu2) ($ notEqual __x1 __x2))
533 (define notEqual:b3 (__x1:lu3, __x2:lu3) ($ notEqual __x1 __x2))
534 (define notEqual:b4 (__x1:lu4, __x2:lu4) ($ notEqual __x1 __x2))
535 (define atomicAdd:u (__x1:u, __x2:u) ($ atomicAdd __x1 __x2))
536 (define atomicAdd:i (__x1:i, __x2:i) ($ atomicAdd __x1 __x2))
537 (define atomicMin:u (__x1:u, __x2:u) ($ atomicMin __x1 __x2))
538 (define atomicMin:i (__x1:i, __x2:i) ($ atomicMin __x1 __x2))
539 (define atomicMax:u (__x1:u, __x2:u) ($ atomicMax __x1 __x2))
540 (define atomicMax:i (__x1:i, __x2:i) ($ atomicMax __x1 __x2))
541 (define atomicAnd:u (__x1:u, __x2:u) ($ atomicAnd __x1 __x2))
542 (define atomicAnd:i (__x1:i, __x2:i) ($ atomicAnd __x1 __x2))
543 (define atomicOr:u (__x1:u, __x2:u) ($ atomicOr __x1 __x2))
544 (define atomicOr:i (__x1:i, __x2:i) ($ atomicOr __x1 __x2))
545 (define atomicXor:u (__x1:u, __x2:u) ($ atomicXor __x1 __x2))
546 (define atomicXor:i (__x1:i, __x2:i) ($ atomicXor __x1 __x2))
547 (define atomicExchange:u (__x1:u, __x2:u) ($ atomicExchange __x1 __x2))
548 (define atomicExchange:i (__x1:i, __x2:i) ($ atomicExchange __x1 __x2))
549 (define atomicCompSwap:u (__x1:u, __x2:u, __x3:u) ($ atomicCompSwap __x1 __x2 __x3))
550 (define atomicCompSwap:i (__x1:i, __x2:i, __x3:i) ($ atomicCompSwap __x1 __x2 __x3))
551 (define mix:i (__x1:i, __x2:i, __x3:b) ($ mix __x1 __x2 __x3))
552 (define mix:i2 (__x1:i2, __x2:i2, __x3:b2) ($ mix __x1 __x2 __x3))
553 (define mix:i3 (__x1:i3, __x2:i3, __x3:b3) ($ mix __x1 __x2 __x3))
554 (define mix:i4 (__x1:i4, __x2:i4, __x3:b4) ($ mix __x1 __x2 __x3))
555 (define mix:u (__x1:u, __x2:u, __x3:b) ($ mix __x1 __x2 __x3))
556 (define mix:u2 (__x1:u2, __x2:u2, __x3:b2) ($ mix __x1 __x2 __x3))
557 (define mix:u3 (__x1:u3, __x2:u3, __x3:b3) ($ mix __x1 __x2 __x3))
558 (define mix:u4 (__x1:u4, __x2:u4, __x3:b4) ($ mix __x1 __x2 __x3))
559 (define mix:b (__x1:b, __x2:b, __x3:b) ($ mix __x1 __x2 __x3))
560 (define mix:b2 (__x1:b2, __x2:b2, __x3:b2) ($ mix __x1 __x2 __x3))
561 (define mix:b3 (__x1:b3, __x2:b3, __x3:b3) ($ mix __x1 __x2 __x3))
562 (define mix:b4 (__x1:b4, __x2:b4, __x3:b4) ($ mix __x1 __x2 __x3))
563 (define floatBitsToInt:i (__x1:f) ($ floatBitsToInt __x1))
564 (define floatBitsToInt:i2 (__x1:f2) ($ floatBitsToInt __x1))
565 (define floatBitsToInt:i3 (__x1:f3) ($ floatBitsToInt __x1))
566 (define floatBitsToInt:i4 (__x1:f4) ($ floatBitsToInt __x1))
567 (define floatBitsToUint:u (__x1:f) ($ floatBitsToUint __x1))
568 (define floatBitsToUint:u2 (__x1:f2) ($ floatBitsToUint __x1))
569 (define floatBitsToUint:u3 (__x1:f3) ($ floatBitsToUint __x1))
570 (define floatBitsToUint:u4 (__x1:f4) ($ floatBitsToUint __x1))
571 (define intBitsToFloat:f (__x1:i) ($ intBitsToFloat __x1))
572 (define intBitsToFloat:f2 (__x1:i2) ($ intBitsToFloat __x1))
573 (define intBitsToFloat:f3 (__x1:i3) ($ intBitsToFloat __x1))
574 (define intBitsToFloat:f4 (__x1:i4) ($ intBitsToFloat __x1))
575 (define uintBitsToFloat:f (__x1:u) ($ uintBitsToFloat __x1))
576 (define uintBitsToFloat:f2 (__x1:u2) ($ uintBitsToFloat __x1))
577 (define uintBitsToFloat:f3 (__x1:u3) ($ uintBitsToFloat __x1))
578 (define uintBitsToFloat:f4 (__x1:u4) ($ uintBitsToFloat __x1))
579 (define fma:f (__x1:f, __x2:f, __x3:f) ($ fma __x1 __x2 __x3))
580 (define fma:f2 (__x1:f2, __x2:f2, __x3:f2) ($ fma __x1 __x2 __x3))
581 (define fma:f3 (__x1:f3, __x2:f3, __x3:f3) ($ fma __x1 __x2 __x3))
582 (define fma:f4 (__x1:f4, __x2:f4, __x3:f4) ($ fma __x1 __x2 __x3))
583 (define fma:d (__x1:d, __x2:d, __x3:d) ($ fma __x1 __x2 __x3))
584 (define fma:d2 (__x1:d2, __x2:d2, __x3:d2) ($ fma __x1 __x2 __x3))
585 (define fma:d3 (__x1:d3, __x2:d3, __x3:d3) ($ fma __x1 __x2 __x3))
586 (define fma:d4 (__x1:d4, __x2:d4, __x3:d4) ($ fma __x1 __x2 __x3))
587 (define frexp:f (__x1:f, __x2:i) ($ frexp __x1 __x2))
588 (define frexp:f2 (__x1:f2, __x2:i2) ($ frexp __x1 __x2))
589 (define frexp:f3 (__x1:f3, __x2:i3) ($ frexp __x1 __x2))
590 (define frexp:f4 (__x1:f4, __x2:i4) ($ frexp __x1 __x2))
591 (define ldexp:f (__x1:f, __x2:i) ($ ldexp __x1 __x2))
592 (define ldexp:f2 (__x1:f2, __x2:i2) ($ ldexp __x1 __x2))
593 (define ldexp:f3 (__x1:f3, __x2:i3) ($ ldexp __x1 __x2))
594 (define ldexp:f4 (__x1:f4, __x2:i4) ($ ldexp __x1 __x2))
595 (define frexp:d (__x1:d, __x2:i) ($ frexp __x1 __x2))
596 (define frexp:d2 (__x1:d2, __x2:i2) ($ frexp __x1 __x2))
597 (define frexp:d3 (__x1:d3, __x2:i3) ($ frexp __x1 __x2))
598 (define frexp:d4 (__x1:d4, __x2:i4) ($ frexp __x1 __x2))
599 (define ldexp:d (__x1:d, __x2:i) ($ ldexp __x1 __x2))
600 (define ldexp:d2 (__x1:d2, __x2:i2) ($ ldexp __x1 __x2))
601 (define ldexp:d3 (__x1:d3, __x2:i3) ($ ldexp __x1 __x2))
602 (define ldexp:d4 (__x1:d4, __x2:i4) ($ ldexp __x1 __x2))
603 (define packDouble2x32:d (__x1:u2) ($ packDouble2x32 __x1))
604 (define unpackDouble2x32:u2 (__x1:d) ($ unpackDouble2x32 __x1))
605 (define packUnorm2x16:u (__x1:f2) ($ packUnorm2x16 __x1))
606 (define unpackUnorm2x16:f2 (__x1:u) ($ unpackUnorm2x16 __x1))
607 (define packSnorm2x16:u (__x1:f2) ($ packSnorm2x16 __x1))
608 (define unpackSnorm2x16:f2 (__x1:u) ($ unpackSnorm2x16 __x1))
609 (define packHalf2x16:u (__x1:f2) ($ packHalf2x16 __x1))
610 (define unpackHalf2x16:f2 (__x1:u) ($ unpackHalf2x16 __x1))
611 (define packSnorm4x8:u (__x1:f4) ($ packSnorm4x8 __x1))
612 (define packUnorm4x8:u (__x1:f4) ($ packUnorm4x8 __x1))
613 (define unpackSnorm4x8:f4 (__x1:u) ($ unpackSnorm4x8 __x1))
614 (define unpackUnorm4x8:f4 (__x1:u) ($ unpackUnorm4x8 __x1))
615 (define unpackSnorm4x8:f4 (__x1:u) ($ unpackSnorm4x8 __x1))
616 (define unpackUnorm4x8:f4 (__x1:u) ($ unpackUnorm4x8 __x1))
617 (define length:f (__x1:f) ($ length __x1))
618 (define length:f (__x1:f2) ($ length __x1))
619 (define length:f (__x1:f3) ($ length __x1))
620 (define length:f (__x1:f4) ($ length __x1))
621 (define distance:f (__x1:f, __x2:f) ($ distance __x1 __x2))
622 (define distance:f (__x1:f2, __x2:f2) ($ distance __x1 __x2))
623 (define distance:f (__x1:f3, __x2:f3) ($ distance __x1 __x2))
624 (define distance:f (__x1:f4, __x2:f4) ($ distance __x1 __x2))
625 (define dot:f (__x1:f, __x2:f) ($ dot __x1 __x2))
626 (define dot:f (__x1:f2, __x2:f2) ($ dot __x1 __x2))
627 (define dot:f (__x1:f3, __x2:f3) ($ dot __x1 __x2))
628 (define dot:f (__x1:f4, __x2:f4) ($ dot __x1 __x2))
629 (define cross:f3 (__x1:f3, __x2:f3) ($ cross __x1 __x2))
630 (define normalize:f (__x1:f) ($ normalize __x1))
631 (define normalize:f2 (__x1:f2) ($ normalize __x1))
632 (define normalize:f3 (__x1:f3) ($ normalize __x1))
633 (define normalize:f4 (__x1:f4) ($ normalize __x1))
634 (define faceforward:f (__x1:f, __x2:f, __x3:f) ($ faceforward __x1 __x2 __x3))
635 (define faceforward:f2 (__x1:f2, __x2:f2, __x3:f2) ($ faceforward __x1 __x2 __x3))
636 (define faceforward:f3 (__x1:f3, __x2:f3, __x3:f3) ($ faceforward __x1 __x2 __x3))
637 (define faceforward:f4 (__x1:f4, __x2:f4, __x3:f4) ($ faceforward __x1 __x2 __x3))
638 (define reflect:f (__x1:f, __x2:f) ($ reflect __x1 __x2))
639 (define reflect:f2 (__x1:f2, __x2:f2) ($ reflect __x1 __x2))
640 (define reflect:f3 (__x1:f3, __x2:f3) ($ reflect __x1 __x2))
641 (define reflect:f4 (__x1:f4, __x2:f4) ($ reflect __x1 __x2))
642 (define refract:f (__x1:f, __x2:f, __x3:f) ($ refract __x1 __x2 __x3))
643 (define refract:f2 (__x1:f2, __x2:f2, __x3:f) ($ refract __x1 __x2 __x3))
644 (define refract:f3 (__x1:f3, __x2:f3, __x3:f) ($ refract __x1 __x2 __x3))
645 (define refract:f4 (__x1:f4, __x2:f4, __x3:f) ($ refract __x1 __x2 __x3))
646 (define matrixCompMult:mat2 (__x1:mat2, __x2:mat2) ($ matrixCompMult __x1 __x2))
647 (define matrixCompMult:mat3 (__x1:mat3, __x2:mat3) ($ matrixCompMult __x1 __x2))
648 (define matrixCompMult:mat4 (__x1:mat4, __x2:mat4) ($ matrixCompMult __x1 __x2))
649 (define outerProduct:mat2 (__x1:f2, __x2:f2) ($ outerProduct __x1 __x2))
650 (define outerProduct:mat3 (__x1:f3, __x2:f3) ($ outerProduct __x1 __x2))
651 (define outerProduct:mat4 (__x1:f4, __x2:f4) ($ outerProduct __x1 __x2))
652 (define outerProduct:mat2x3 (__x1:f3, __x2:f2) ($ outerProduct __x1 __x2))
653 (define outerProduct:mat3x2 (__x1:f2, __x2:f3) ($ outerProduct __x1 __x2))
654 (define outerProduct:mat2x4 (__x1:f4, __x2:f2) ($ outerProduct __x1 __x2))
655 (define outerProduct:mat4x2 (__x1:f2, __x2:f4) ($ outerProduct __x1 __x2))
656 (define outerProduct:mat3x4 (__x1:f4, __x2:f3) ($ outerProduct __x1 __x2))
657 (define outerProduct:mat4x3 (__x1:f3, __x2:f4) ($ outerProduct __x1 __x2))
658 (define transpose:mat2 (__x1:mat2) ($ transpose __x1))
659 (define transpose:mat3 (__x1:mat3) ($ transpose __x1))
660 (define transpose:mat4 (__x1:mat4) ($ transpose __x1))
661 (define transpose:mat2x3 (__x1:mat3x2) ($ transpose __x1))
662 (define transpose:mat3x2 (__x1:mat2x3) ($ transpose __x1))
663 (define transpose:mat2x4 (__x1:mat4x2) ($ transpose __x1))
664 (define transpose:mat4x2 (__x1:mat2x4) ($ transpose __x1))
665 (define transpose:mat3x4 (__x1:mat4x3) ($ transpose __x1))
666 (define transpose:mat4x3 (__x1:mat3x4) ($ transpose __x1))
667 (define matrixCompMult:mat2x3 (__x1:mat2x3, __x2:mat2x3) ($ matrixCompMult __x1 __x2))
668 (define matrixCompMult:mat2x4 (__x1:mat2x4, __x2:mat2x4) ($ matrixCompMult __x1 __x2))
669 (define matrixCompMult:mat3x2 (__x1:mat3x2, __x2:mat3x2) ($ matrixCompMult __x1 __x2))
670 (define matrixCompMult:mat3x4 (__x1:mat3x4, __x2:mat3x4) ($ matrixCompMult __x1 __x2))
671 (define matrixCompMult:mat4x2 (__x1:mat4x2, __x2:mat4x2) ($ matrixCompMult __x1 __x2))
672 (define matrixCompMult:mat4x3 (__x1:mat4x3, __x2:mat4x3) ($ matrixCompMult __x1 __x2))
673 (define determinant:f (__x1:mat2) ($ determinant __x1))
674 (define determinant:f (__x1:mat3) ($ determinant __x1))
675 (define determinant:f (__x1:mat4) ($ determinant __x1))
676 (define inverse:mat2 (__x1:mat2) ($ inverse __x1))
677 (define inverse:mat3 (__x1:mat3) ($ inverse __x1))
678 (define inverse:mat4 (__x1:mat4) ($ inverse __x1))
679 (define lessThan:b2 (__x1:f2, __x2:f2) ($ lessThan __x1 __x2))
680 (define lessThan:b3 (__x1:f3, __x2:f3) ($ lessThan __x1 __x2))
681 (define lessThan:b4 (__x1:f4, __x2:f4) ($ lessThan __x1 __x2))
682 (define lessThan:b2 (__x1:i2, __x2:i2) ($ lessThan __x1 __x2))
683 (define lessThan:b3 (__x1:i3, __x2:i3) ($ lessThan __x1 __x2))
684 (define lessThan:b4 (__x1:i4, __x2:i4) ($ lessThan __x1 __x2))
685 (define lessThanEqual:b2 (__x1:f2, __x2:f2) ($ lessThanEqual __x1 __x2))
686 (define lessThanEqual:b3 (__x1:f3, __x2:f3) ($ lessThanEqual __x1 __x2))
687 (define lessThanEqual:b4 (__x1:f4, __x2:f4) ($ lessThanEqual __x1 __x2))
688 (define lessThanEqual:b2 (__x1:i2, __x2:i2) ($ lessThanEqual __x1 __x2))
689 (define lessThanEqual:b3 (__x1:i3, __x2:i3) ($ lessThanEqual __x1 __x2))
690 (define lessThanEqual:b4 (__x1:i4, __x2:i4) ($ lessThanEqual __x1 __x2))
691 (define greaterThan:b2 (__x1:f2, __x2:f2) ($ greaterThan __x1 __x2))
692 (define greaterThan:b3 (__x1:f3, __x2:f3) ($ greaterThan __x1 __x2))
693 (define greaterThan:b4 (__x1:f4, __x2:f4) ($ greaterThan __x1 __x2))
694 (define greaterThan:b2 (__x1:i2, __x2:i2) ($ greaterThan __x1 __x2))
695 (define greaterThan:b3 (__x1:i3, __x2:i3) ($ greaterThan __x1 __x2))
696 (define greaterThan:b4 (__x1:i4, __x2:i4) ($ greaterThan __x1 __x2))
697 (define greaterThanEqual:b2 (__x1:f2, __x2:f2) ($ greaterThanEqual __x1 __x2))
698 (define greaterThanEqual:b3 (__x1:f3, __x2:f3) ($ greaterThanEqual __x1 __x2))
699 (define greaterThanEqual:b4 (__x1:f4, __x2:f4) ($ greaterThanEqual __x1 __x2))
700 (define greaterThanEqual:b2 (__x1:i2, __x2:i2) ($ greaterThanEqual __x1 __x2))
701 (define greaterThanEqual:b3 (__x1:i3, __x2:i3) ($ greaterThanEqual __x1 __x2))
702 (define greaterThanEqual:b4 (__x1:i4, __x2:i4) ($ greaterThanEqual __x1 __x2))
703 (define equal:b2 (__x1:f2, __x2:f2) ($ equal __x1 __x2))
704 (define equal:b3 (__x1:f3, __x2:f3) ($ equal __x1 __x2))
705 (define equal:b4 (__x1:f4, __x2:f4) ($ equal __x1 __x2))
706 (define equal:b2 (__x1:i2, __x2:i2) ($ equal __x1 __x2))
707 (define equal:b3 (__x1:i3, __x2:i3) ($ equal __x1 __x2))
708 (define equal:b4 (__x1:i4, __x2:i4) ($ equal __x1 __x2))
709 (define equal:b2 (__x1:b2, __x2:b2) ($ equal __x1 __x2))
710 (define equal:b3 (__x1:b3, __x2:b3) ($ equal __x1 __x2))
711 (define equal:b4 (__x1:b4, __x2:b4) ($ equal __x1 __x2))
712 (define notEqual:b2 (__x1:f2, __x2:f2) ($ notEqual __x1 __x2))
713 (define notEqual:b3 (__x1:f3, __x2:f3) ($ notEqual __x1 __x2))
714 (define notEqual:b4 (__x1:f4, __x2:f4) ($ notEqual __x1 __x2))
715 (define notEqual:b2 (__x1:i2, __x2:i2) ($ notEqual __x1 __x2))
716 (define notEqual:b3 (__x1:i3, __x2:i3) ($ notEqual __x1 __x2))
717 (define notEqual:b4 (__x1:i4, __x2:i4) ($ notEqual __x1 __x2))
718 (define notEqual:b2 (__x1:b2, __x2:b2) ($ notEqual __x1 __x2))
719 (define notEqual:b3 (__x1:b3, __x2:b3) ($ notEqual __x1 __x2))
720 (define notEqual:b4 (__x1:b4, __x2:b4) ($ notEqual __x1 __x2))
721 (define any:b (__x1:b2) ($ any __x1))
722 (define any:b (__x1:b3) ($ any __x1))
723 (define any:b (__x1:b4) ($ any __x1))
724 (define all:b (__x1:b2) ($ all __x1))
725 (define all:b (__x1:b3) ($ all __x1))
726 (define all:b (__x1:b4) ($ all __x1))
727 (define not:b2 (__x1:b2) ($ not __x1))
728 (define not:b3 (__x1:b3) ($ not __x1))
729 (define not:b4 (__x1:b4) ($ not __x1))
730 (define lessThan:b2 (__x1:u2, __x2:u2) ($ lessThan __x1 __x2))
731 (define lessThan:b3 (__x1:u3, __x2:u3) ($ lessThan __x1 __x2))
732 (define lessThan:b4 (__x1:u4, __x2:u4) ($ lessThan __x1 __x2))
733 (define lessThanEqual:b2 (__x1:u2, __x2:u2) ($ lessThanEqual __x1 __x2))
734 (define lessThanEqual:b3 (__x1:u3, __x2:u3) ($ lessThanEqual __x1 __x2))
735 (define lessThanEqual:b4 (__x1:u4, __x2:u4) ($ lessThanEqual __x1 __x2))
736 (define greaterThan:b2 (__x1:u2, __x2:u2) ($ greaterThan __x1 __x2))
737 (define greaterThan:b3 (__x1:u3, __x2:u3) ($ greaterThan __x1 __x2))
738 (define greaterThan:b4 (__x1:u4, __x2:u4) ($ greaterThan __x1 __x2))
739 (define greaterThanEqual:b2 (__x1:u2, __x2:u2) ($ greaterThanEqual __x1 __x2))
740 (define greaterThanEqual:b3 (__x1:u3, __x2:u3) ($ greaterThanEqual __x1 __x2))
741 (define greaterThanEqual:b4 (__x1:u4, __x2:u4) ($ greaterThanEqual __x1 __x2))
742 (define equal:b2 (__x1:u2, __x2:u2) ($ equal __x1 __x2))
743 (define equal:b3 (__x1:u3, __x2:u3) ($ equal __x1 __x2))
744 (define equal:b4 (__x1:u4, __x2:u4) ($ equal __x1 __x2))
745 (define notEqual:b2 (__x1:u2, __x2:u2) ($ notEqual __x1 __x2))
746 (define notEqual:b3 (__x1:u3, __x2:u3) ($ notEqual __x1 __x2))
747 (define notEqual:b4 (__x1:u4, __x2:u4) ($ notEqual __x1 __x2))
748 (define noise1:f (__x1:f) ($ noise1 __x1))
749 (define noise1:f (__x1:f2) ($ noise1 __x1))
750 (define noise1:f (__x1:f3) ($ noise1 __x1))
751 (define noise1:f (__x1:f4) ($ noise1 __x1))
752 (define noise2:f2 (__x1:f) ($ noise2 __x1))
753 (define noise2:f2 (__x1:f2) ($ noise2 __x1))
754 (define noise2:f2 (__x1:f3) ($ noise2 __x1))
755 (define noise2:f2 (__x1:f4) ($ noise2 __x1))
756 (define noise3:f3 (__x1:f) ($ noise3 __x1))
757 (define noise3:f3 (__x1:f2) ($ noise3 __x1))
758 (define noise3:f3 (__x1:f3) ($ noise3 __x1))
759 (define noise3:f3 (__x1:f4) ($ noise3 __x1))
760 (define noise4:f4 (__x1:f) ($ noise4 __x1))
761 (define noise4:f4 (__x1:f2) ($ noise4 __x1))
762 (define noise4:f4 (__x1:f3) ($ noise4 __x1))
763 (define noise4:f4 (__x1:f4) ($ noise4 __x1))
764 (define bitfieldExtract:i (__x1:i, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
765 (define bitfieldExtract:i2 (__x1:i2, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
766 (define bitfieldExtract:i3 (__x1:i3, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
767 (define bitfieldExtract:i4 (__x1:i4, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
768 (define bitfieldExtract:u (__x1:u, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
769 (define bitfieldExtract:u2 (__x1:u2, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
770 (define bitfieldExtract:u3 (__x1:u3, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
771 (define bitfieldExtract:u4 (__x1:u4, __x2:i, __x3:i) ($ bitfieldExtract __x1 __x2 __x3))
772 (define bitfieldInsert:i (__x1:i, __x2:i, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
773 (define bitfieldInsert:i2 (__x1:i2, __x2:i2, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
774 (define bitfieldInsert:i3 (__x1:i3, __x2:i3, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
775 (define bitfieldInsert:i4 (__x1:i4, __x2:i4, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
776 (define bitfieldInsert:u (__x1:u, __x2:u, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
777 (define bitfieldInsert:u2 (__x1:u2, __x2:u2, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
778 (define bitfieldInsert:u3 (__x1:u3, __x2:u3, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
779 (define bitfieldInsert:u4 (__x1:u4, __x2:u4, __x3:i, __x4:i) ($ bitfieldInsert __x1 __x2 __x3 __x4))
780 (define findLSB:i (__x1:i) ($ findLSB __x1))
781 (define findLSB:i2 (__x1:i2) ($ findLSB __x1))
782 (define findLSB:i3 (__x1:i3) ($ findLSB __x1))
783 (define findLSB:i4 (__x1:i4) ($ findLSB __x1))
784 (define findLSB:i (__x1:u) ($ findLSB __x1))
785 (define findLSB:i2 (__x1:u2) ($ findLSB __x1))
786 (define findLSB:i3 (__x1:u3) ($ findLSB __x1))
787 (define findLSB:i4 (__x1:u4) ($ findLSB __x1))
788 (define bitCount:i (__x1:i) ($ bitCount __x1))
789 (define bitCount:i2 (__x1:i2) ($ bitCount __x1))
790 (define bitCount:i3 (__x1:i3) ($ bitCount __x1))
791 (define bitCount:i4 (__x1:i4) ($ bitCount __x1))
792 (define bitCount:i (__x1:u) ($ bitCount __x1))
793 (define bitCount:i2 (__x1:u2) ($ bitCount __x1))
794 (define bitCount:i3 (__x1:u3) ($ bitCount __x1))
795 (define bitCount:i4 (__x1:u4) ($ bitCount __x1))
796 (define findMSB:i (__x1:i) ($ findMSB __x1))
797 (define findMSB:i2 (__x1:i2) ($ findMSB __x1))
798 (define findMSB:i3 (__x1:i3) ($ findMSB __x1))
799 (define findMSB:i4 (__x1:i4) ($ findMSB __x1))
800 (define findMSB:i (__x1:u) ($ findMSB __x1))
801 (define findMSB:i2 (__x1:u2) ($ findMSB __x1))
802 (define findMSB:i3 (__x1:u3) ($ findMSB __x1))
803 (define findMSB:i4 (__x1:u4) ($ findMSB __x1))
804 (define uaddCarry:u (__x1:u, __x2:u, __x3:u) ($ uaddCarry __x1 __x2 __x3))
805 (define uaddCarry:u2 (__x1:u2, __x2:u2, __x3:u2) ($ uaddCarry __x1 __x2 __x3))
806 (define uaddCarry:u3 (__x1:u3, __x2:u3, __x3:u3) ($ uaddCarry __x1 __x2 __x3))
807 (define uaddCarry:u4 (__x1:u4, __x2:u4, __x3:u4) ($ uaddCarry __x1 __x2 __x3))
808 (define usubBorrow:u (__x1:u, __x2:u, __x3:u) ($ usubBorrow __x1 __x2 __x3))
809 (define usubBorrow:u2 (__x1:u2, __x2:u2, __x3:u2) ($ usubBorrow __x1 __x2 __x3))
810 (define usubBorrow:u3 (__x1:u3, __x2:u3, __x3:u3) ($ usubBorrow __x1 __x2 __x3))
811 (define usubBorrow:u4 (__x1:u4, __x2:u4, __x3:u4) ($ usubBorrow __x1 __x2 __x3))
812 (define bitfieldReverse:i (__x1:i) ($ bitfieldReverse __x1))
813 (define bitfieldReverse:i2 (__x1:i2) ($ bitfieldReverse __x1))
814 (define bitfieldReverse:i3 (__x1:i3) ($ bitfieldReverse __x1))
815 (define bitfieldReverse:i4 (__x1:i4) ($ bitfieldReverse __x1))
816 (define bitfieldReverse:u (__x1:u) ($ bitfieldReverse __x1))
817 (define bitfieldReverse:u2 (__x1:u2) ($ bitfieldReverse __x1))
818 (define bitfieldReverse:u3 (__x1:u3) ($ bitfieldReverse __x1))
819 (define bitfieldReverse:u4 (__x1:u4) ($ bitfieldReverse __x1))
820 (define bitCount:i (__x1:i) ($ bitCount __x1))
821 (define bitCount:i2 (__x1:i2) ($ bitCount __x1))
822 (define bitCount:i3 (__x1:i3) ($ bitCount __x1))
823 (define bitCount:i4 (__x1:i4) ($ bitCount __x1))
824 (define bitCount:i (__x1:u) ($ bitCount __x1))
825 (define bitCount:i2 (__x1:u2) ($ bitCount __x1))
826 (define bitCount:i3 (__x1:u3) ($ bitCount __x1))
827 (define bitCount:i4 (__x1:u4) ($ bitCount __x1))
828 (define findMSB:i (__x1:i) ($ findMSB __x1))
829 (define findMSB:i2 (__x1:i2) ($ findMSB __x1))
830 (define findMSB:i3 (__x1:i3) ($ findMSB __x1))
831 (define findMSB:i4 (__x1:i4) ($ findMSB __x1))
832 (define findMSB:i (__x1:u) ($ findMSB __x1))
833 (define findMSB:i2 (__x1:u2) ($ findMSB __x1))
834 (define findMSB:i3 (__x1:u3) ($ findMSB __x1))
835 (define findMSB:i4 (__x1:u4) ($ findMSB __x1))
836 (define ballotARB:lu (__x1:b) ($ ballotARB __x1))
837 (define readInvocationARB:f (__x1:f, __x2:u) ($ readInvocationARB __x1 __x2))
838 (define readInvocationARB:f2 (__x1:f2, __x2:u) ($ readInvocationARB __x1 __x2))
839 (define readInvocationARB:f3 (__x1:f3, __x2:u) ($ readInvocationARB __x1 __x2))
840 (define readInvocationARB:f4 (__x1:f4, __x2:u) ($ readInvocationARB __x1 __x2))
841 (define readInvocationARB:i (__x1:i, __x2:u) ($ readInvocationARB __x1 __x2))
842 (define readInvocationARB:i2 (__x1:i2, __x2:u) ($ readInvocationARB __x1 __x2))
843 (define readInvocationARB:i3 (__x1:i3, __x2:u) ($ readInvocationARB __x1 __x2))
844 (define readInvocationARB:i4 (__x1:i4, __x2:u) ($ readInvocationARB __x1 __x2))
845 (define readInvocationARB:u (__x1:u, __x2:u) ($ readInvocationARB __x1 __x2))
846 (define readInvocationARB:u2 (__x1:u2, __x2:u) ($ readInvocationARB __x1 __x2))
847 (define readInvocationARB:u3 (__x1:u3, __x2:u) ($ readInvocationARB __x1 __x2))
848 (define readInvocationARB:u4 (__x1:u4, __x2:u) ($ readInvocationARB __x1 __x2))
849 (define readFirstInvocationARB:f (__x1:f) ($ readFirstInvocationARB __x1))
850 (define readFirstInvocationARB:f2 (__x1:f2) ($ readFirstInvocationARB __x1))
851 (define readFirstInvocationARB:f3 (__x1:f3) ($ readFirstInvocationARB __x1))
852 (define readFirstInvocationARB:f4 (__x1:f4) ($ readFirstInvocationARB __x1))
853 (define readFirstInvocationARB:i (__x1:i) ($ readFirstInvocationARB __x1))
854 (define readFirstInvocationARB:i2 (__x1:i2) ($ readFirstInvocationARB __x1))
855 (define readFirstInvocationARB:i3 (__x1:i3) ($ readFirstInvocationARB __x1))
856 (define readFirstInvocationARB:i4 (__x1:i4) ($ readFirstInvocationARB __x1))
857 (define readFirstInvocationARB:u (__x1:u) ($ readFirstInvocationARB __x1))
858 (define readFirstInvocationARB:u2 (__x1:u2) ($ readFirstInvocationARB __x1))
859 (define readFirstInvocationARB:u3 (__x1:u3) ($ readFirstInvocationARB __x1))
860 (define readFirstInvocationARB:u4 (__x1:u4) ($ readFirstInvocationARB __x1))
861 (define anyInvocationARB:b (__x1:b) ($ anyInvocationARB __x1))
862 (define allInvocationsARB:b (__x1:b) ($ allInvocationsARB __x1))
863 (define allInvocationsEqualARB:b (__x1:b) ($ allInvocationsEqualARB __x1))
1 (define radians:f (x1:f) ($ radians x1))
2 (define radians:f2 (x1:f2) ($ radians x1))
3 (define radians:f3 (x1:f3) ($ radians x1))
4 (define radians:f4 (x1:f4) ($ radians x1))
5 (define degrees:f (x1:f) ($ degrees x1))
6 (define degrees:f2 (x1:f2) ($ degrees x1))
7 (define degrees:f3 (x1:f3) ($ degrees x1))
8 (define degrees:f4 (x1:f4) ($ degrees x1))
9 (define sin:f (x1:f) ($ sin x1))
10 (define sin:f2 (x1:f2) ($ sin x1))
11 (define sin:f3 (x1:f3) ($ sin x1))
12 (define sin:f4 (x1:f4) ($ sin x1))
13 (define cos:f (x1:f) ($ cos x1))
14 (define cos:f2 (x1:f2) ($ cos x1))
15 (define cos:f3 (x1:f3) ($ cos x1))
16 (define cos:f4 (x1:f4) ($ cos x1))
17 (define tan:f (x1:f) ($ tan x1))
18 (define tan:f2 (x1:f2) ($ tan x1))
19 (define tan:f3 (x1:f3) ($ tan x1))
20 (define tan:f4 (x1:f4) ($ tan x1))
21 (define asin:f (x1:f) ($ asin x1))
22 (define asin:f2 (x1:f2) ($ asin x1))
23 (define asin:f3 (x1:f3) ($ asin x1))
24 (define asin:f4 (x1:f4) ($ asin x1))
25 (define acos:f (x1:f) ($ acos x1))
26 (define acos:f2 (x1:f2) ($ acos x1))
27 (define acos:f3 (x1:f3) ($ acos x1))
28 (define acos:f4 (x1:f4) ($ acos x1))
29 (define atan:f (x1:f x2:f) ($ atan x1 x2))
30 (define atan:f2 (x1:f2 x2:f2) ($ atan x1 x2))
31 (define atan:f3 (x1:f3 x2:f3) ($ atan x1 x2))
32 (define atan:f4 (x1:f4 x2:f4) ($ atan x1 x2))
33 (define atan:f (x1:f) ($ atan x1))
34 (define atan:f2 (x1:f2) ($ atan x1))
35 (define atan:f3 (x1:f3) ($ atan x1))
36 (define atan:f4 (x1:f4) ($ atan x1))
37 (define sinh:f (x1:f) ($ sinh x1))
38 (define sinh:f2 (x1:f2) ($ sinh x1))
39 (define sinh:f3 (x1:f3) ($ sinh x1))
40 (define sinh:f4 (x1:f4) ($ sinh x1))
41 (define cosh:f (x1:f) ($ cosh x1))
42 (define cosh:f2 (x1:f2) ($ cosh x1))
43 (define cosh:f3 (x1:f3) ($ cosh x1))
44 (define cosh:f4 (x1:f4) ($ cosh x1))
45 (define tanh:f (x1:f) ($ tanh x1))
46 (define tanh:f2 (x1:f2) ($ tanh x1))
47 (define tanh:f3 (x1:f3) ($ tanh x1))
48 (define tanh:f4 (x1:f4) ($ tanh x1))
49 (define asinh:f (x1:f) ($ asinh x1))
50 (define asinh:f2 (x1:f2) ($ asinh x1))
51 (define asinh:f3 (x1:f3) ($ asinh x1))
52 (define asinh:f4 (x1:f4) ($ asinh x1))
53 (define acosh:f (x1:f) ($ acosh x1))
54 (define acosh:f2 (x1:f2) ($ acosh x1))
55 (define acosh:f3 (x1:f3) ($ acosh x1))
56 (define acosh:f4 (x1:f4) ($ acosh x1))
57 (define atanh:f (x1:f) ($ atanh x1))
58 (define atanh:f2 (x1:f2) ($ atanh x1))
59 (define atanh:f3 (x1:f3) ($ atanh x1))
60 (define atanh:f4 (x1:f4) ($ atanh x1))
61 (define pow:f (x1:f x2:f) ($ pow x1 x2))
62 (define pow:f2 (x1:f2 x2:f2) ($ pow x1 x2))
63 (define pow:f3 (x1:f3 x2:f3) ($ pow x1 x2))
64 (define pow:f4 (x1:f4 x2:f4) ($ pow x1 x2))
65 (define exp:f (x1:f) ($ exp x1))
66 (define exp:f2 (x1:f2) ($ exp x1))
67 (define exp:f3 (x1:f3) ($ exp x1))
68 (define exp:f4 (x1:f4) ($ exp x1))
69 (define log:f (x1:f) ($ log x1))
70 (define log:f2 (x1:f2) ($ log x1))
71 (define log:f3 (x1:f3) ($ log x1))
72 (define log:f4 (x1:f4) ($ log x1))
73 (define exp2:f (x1:f) ($ exp2 x1))
74 (define exp2:f2 (x1:f2) ($ exp2 x1))
75 (define exp2:f3 (x1:f3) ($ exp2 x1))
76 (define exp2:f4 (x1:f4) ($ exp2 x1))
77 (define log2:f (x1:f) ($ log2 x1))
78 (define log2:f2 (x1:f2) ($ log2 x1))
79 (define log2:f3 (x1:f3) ($ log2 x1))
80 (define log2:f4 (x1:f4) ($ log2 x1))
81 (define sqrt:f (x1:f) ($ sqrt x1))
82 (define sqrt:f2 (x1:f2) ($ sqrt x1))
83 (define sqrt:f3 (x1:f3) ($ sqrt x1))
84 (define sqrt:f4 (x1:f4) ($ sqrt x1))
85 (define inversesqrt:f (x1:f) ($ inversesqrt x1))
86 (define inversesqrt:f2 (x1:f2) ($ inversesqrt x1))
87 (define inversesqrt:f3 (x1:f3) ($ inversesqrt x1))
88 (define inversesqrt:f4 (x1:f4) ($ inversesqrt x1))
89 (define abs:f (x1:f) ($ abs x1))
90 (define abs:f2 (x1:f2) ($ abs x1))
91 (define abs:f3 (x1:f3) ($ abs x1))
92 (define abs:f4 (x1:f4) ($ abs x1))
93 (define sign:f (x1:f) ($ sign x1))
94 (define sign:f2 (x1:f2) ($ sign x1))
95 (define sign:f3 (x1:f3) ($ sign x1))
96 (define sign:f4 (x1:f4) ($ sign x1))
97 (define floor:f (x1:f) ($ floor x1))
98 (define floor:f2 (x1:f2) ($ floor x1))
99 (define floor:f3 (x1:f3) ($ floor x1))
100 (define floor:f4 (x1:f4) ($ floor x1))
101 (define ceil:f (x1:f) ($ ceil x1))
102 (define ceil:f2 (x1:f2) ($ ceil x1))
103 (define ceil:f3 (x1:f3) ($ ceil x1))
104 (define ceil:f4 (x1:f4) ($ ceil x1))
105 (define fract:f (x1:f) ($ fract x1))
106 (define fract:f2 (x1:f2) ($ fract x1))
107 (define fract:f3 (x1:f3) ($ fract x1))
108 (define fract:f4 (x1:f4) ($ fract x1))
109 (define mod:f (x1:f x2:f) ($ mod x1 x2))
110 (define mod:f2 (x1:f2 x2:f) ($ mod x1 x2))
111 (define mod:f3 (x1:f3 x2:f) ($ mod x1 x2))
112 (define mod:f4 (x1:f4 x2:f) ($ mod x1 x2))
113 (define mod:f2 (x1:f2 x2:f2) ($ mod x1 x2))
114 (define mod:f3 (x1:f3 x2:f3) ($ mod x1 x2))
115 (define mod:f4 (x1:f4 x2:f4) ($ mod x1 x2))
116 (define min:f (x1:f x2:f) ($ min x1 x2))
117 (define min:f2 (x1:f2 x2:f) ($ min x1 x2))
118 (define min:f3 (x1:f3 x2:f) ($ min x1 x2))
119 (define min:f4 (x1:f4 x2:f) ($ min x1 x2))
120 (define min:f2 (x1:f2 x2:f2) ($ min x1 x2))
121 (define min:f3 (x1:f3 x2:f3) ($ min x1 x2))
122 (define min:f4 (x1:f4 x2:f4) ($ min x1 x2))
123 (define max:f (x1:f x2:f) ($ max x1 x2))
124 (define max:f2 (x1:f2 x2:f) ($ max x1 x2))
125 (define max:f3 (x1:f3 x2:f) ($ max x1 x2))
126 (define max:f4 (x1:f4 x2:f) ($ max x1 x2))
127 (define max:f2 (x1:f2 x2:f2) ($ max x1 x2))
128 (define max:f3 (x1:f3 x2:f3) ($ max x1 x2))
129 (define max:f4 (x1:f4 x2:f4) ($ max x1 x2))
130 (define clamp:f (x1:f x2:f x3:f) ($ clamp x1 x2 x3))
131 (define clamp:f2 (x1:f2 x2:f x3:f) ($ clamp x1 x2 x3))
132 (define clamp:f3 (x1:f3 x2:f x3:f) ($ clamp x1 x2 x3))
133 (define clamp:f4 (x1:f4 x2:f x3:f) ($ clamp x1 x2 x3))
134 (define clamp:f2 (x1:f2 x2:f2 x3:f2) ($ clamp x1 x2 x3))
135 (define clamp:f3 (x1:f3 x2:f3 x3:f3) ($ clamp x1 x2 x3))
136 (define clamp:f4 (x1:f4 x2:f4 x3:f4) ($ clamp x1 x2 x3))
137 (define mix:f (x1:f x2:f x3:f) ($ mix x1 x2 x3))
138 (define mix:f2 (x1:f2 x2:f2 x3:f) ($ mix x1 x2 x3))
139 (define mix:f3 (x1:f3 x2:f3 x3:f) ($ mix x1 x2 x3))
140 (define mix:f4 (x1:f4 x2:f4 x3:f) ($ mix x1 x2 x3))
141 (define mix:f2 (x1:f2 x2:f2 x3:f2) ($ mix x1 x2 x3))
142 (define mix:f3 (x1:f3 x2:f3 x3:f3) ($ mix x1 x2 x3))
143 (define mix:f4 (x1:f4 x2:f4 x3:f4) ($ mix x1 x2 x3))
144 (define step:f (x1:f x2:f) ($ step x1 x2))
145 (define step:f2 (x1:f2 x2:f2) ($ step x1 x2))
146 (define step:f3 (x1:f3 x2:f3) ($ step x1 x2))
147 (define step:f4 (x1:f4 x2:f4) ($ step x1 x2))
148 (define step:f2 (x1:f x2:f2) ($ step x1 x2))
149 (define step:f3 (x1:f x2:f3) ($ step x1 x2))
150 (define step:f4 (x1:f x2:f4) ($ step x1 x2))
151 (define smoothstep:f (x1:f x2:f x3:f) ($ smoothstep x1 x2 x3))
152 (define smoothstep:f2 (x1:f2 x2:f2 x3:f2) ($ smoothstep x1 x2 x3))
153 (define smoothstep:f3 (x1:f3 x2:f3 x3:f3) ($ smoothstep x1 x2 x3))
154 (define smoothstep:f4 (x1:f4 x2:f4 x3:f4) ($ smoothstep x1 x2 x3))
155 (define smoothstep:f2 (x1:f x2:f x3:f2) ($ smoothstep x1 x2 x3))
156 (define smoothstep:f3 (x1:f x2:f x3:f3) ($ smoothstep x1 x2 x3))
157 (define smoothstep:f4 (x1:f x2:f x3:f4) ($ smoothstep x1 x2 x3))
158 (define abs:i (x1:i) ($ abs x1))
159 (define abs:i2 (x1:i2) ($ abs x1))
160 (define abs:i3 (x1:i3) ($ abs x1))
161 (define abs:i4 (x1:i4) ($ abs x1))
162 (define sign:i (x1:i) ($ sign x1))
163 (define sign:i2 (x1:i2) ($ sign x1))
164 (define sign:i3 (x1:i3) ($ sign x1))
165 (define sign:i4 (x1:i4) ($ sign x1))
166 (define trunc:f (x1:f) ($ trunc x1))
167 (define trunc:f2 (x1:f2) ($ trunc x1))
168 (define trunc:f3 (x1:f3) ($ trunc x1))
169 (define trunc:f4 (x1:f4) ($ trunc x1))
170 (define round:f (x1:f) ($ round x1))
171 (define round:f2 (x1:f2) ($ round x1))
172 (define round:f3 (x1:f3) ($ round x1))
173 (define round:f4 (x1:f4) ($ round x1))
174 (define roundEven:f (x1:f) ($ roundEven x1))
175 (define roundEven:f2 (x1:f2) ($ roundEven x1))
176 (define roundEven:f3 (x1:f3) ($ roundEven x1))
177 (define roundEven:f4 (x1:f4) ($ roundEven x1))
178 (define modf:f (x1:f x2:f) ($ modf x1 x2))
179 (define modf:f2 (x1:f2 x2:f2) ($ modf x1 x2))
180 (define modf:f3 (x1:f3 x2:f3) ($ modf x1 x2))
181 (define modf:f4 (x1:f4 x2:f4) ($ modf x1 x2))
182 (define min:i (x1:i x2:i) ($ min x1 x2))
183 (define min:i2 (x1:i2 x2:i) ($ min x1 x2))
184 (define min:i3 (x1:i3 x2:i) ($ min x1 x2))
185 (define min:i4 (x1:i4 x2:i) ($ min x1 x2))
186 (define min:i2 (x1:i2 x2:i2) ($ min x1 x2))
187 (define min:i3 (x1:i3 x2:i3) ($ min x1 x2))
188 (define min:i4 (x1:i4 x2:i4) ($ min x1 x2))
189 (define min:u (x1:u x2:u) ($ min x1 x2))
190 (define min:u2 (x1:u2 x2:u) ($ min x1 x2))
191 (define min:u3 (x1:u3 x2:u) ($ min x1 x2))
192 (define min:u4 (x1:u4 x2:u) ($ min x1 x2))
193 (define min:u2 (x1:u2 x2:u2) ($ min x1 x2))
194 (define min:u3 (x1:u3 x2:u3) ($ min x1 x2))
195 (define min:u4 (x1:u4 x2:u4) ($ min x1 x2))
196 (define max:i (x1:i x2:i) ($ max x1 x2))
197 (define max:i2 (x1:i2 x2:i) ($ max x1 x2))
198 (define max:i3 (x1:i3 x2:i) ($ max x1 x2))
199 (define max:i4 (x1:i4 x2:i) ($ max x1 x2))
200 (define max:i2 (x1:i2 x2:i2) ($ max x1 x2))
201 (define max:i3 (x1:i3 x2:i3) ($ max x1 x2))
202 (define max:i4 (x1:i4 x2:i4) ($ max x1 x2))
203 (define max:u (x1:u x2:u) ($ max x1 x2))
204 (define max:u2 (x1:u2 x2:u) ($ max x1 x2))
205 (define max:u3 (x1:u3 x2:u) ($ max x1 x2))
206 (define max:u4 (x1:u4 x2:u) ($ max x1 x2))
207 (define max:u2 (x1:u2 x2:u2) ($ max x1 x2))
208 (define max:u3 (x1:u3 x2:u3) ($ max x1 x2))
209 (define max:u4 (x1:u4 x2:u4) ($ max x1 x2))
210 (define clamp:i (x1:i x2:i x3:i) ($ clamp x1 x2 x3))
211 (define clamp:i2 (x1:i2 x2:i x3:i) ($ clamp x1 x2 x3))
212 (define clamp:i3 (x1:i3 x2:i x3:i) ($ clamp x1 x2 x3))
213 (define clamp:i4 (x1:i4 x2:i x3:i) ($ clamp x1 x2 x3))
214 (define clamp:i2 (x1:i2 x2:i2 x3:i2) ($ clamp x1 x2 x3))
215 (define clamp:i3 (x1:i3 x2:i3 x3:i3) ($ clamp x1 x2 x3))
216 (define clamp:i4 (x1:i4 x2:i4 x3:i4) ($ clamp x1 x2 x3))
217 (define clamp:u (x1:u x2:u x3:u) ($ clamp x1 x2 x3))
218 (define clamp:u2 (x1:u2 x2:u x3:u) ($ clamp x1 x2 x3))
219 (define clamp:u3 (x1:u3 x2:u x3:u) ($ clamp x1 x2 x3))
220 (define clamp:u4 (x1:u4 x2:u x3:u) ($ clamp x1 x2 x3))
221 (define clamp:u2 (x1:u2 x2:u2 x3:u2) ($ clamp x1 x2 x3))
222 (define clamp:u3 (x1:u3 x2:u3 x3:u3) ($ clamp x1 x2 x3))
223 (define clamp:u4 (x1:u4 x2:u4 x3:u4) ($ clamp x1 x2 x3))
224 (define mix:f (x1:f x2:f x3:b) ($ mix x1 x2 x3))
225 (define mix:f2 (x1:f2 x2:f2 x3:b2) ($ mix x1 x2 x3))
226 (define mix:f3 (x1:f3 x2:f3 x3:b3) ($ mix x1 x2 x3))
227 (define mix:f4 (x1:f4 x2:f4 x3:b4) ($ mix x1 x2 x3))
228 (define isnan:b (x1:f) ($ isnan x1))
229 (define isnan:b2 (x1:f2) ($ isnan x1))
230 (define isnan:b3 (x1:f3) ($ isnan x1))
231 (define isnan:b4 (x1:f4) ($ isnan x1))
232 (define isinf:b (x1:f) ($ isinf x1))
233 (define isinf:b2 (x1:f2) ($ isinf x1))
234 (define isinf:b3 (x1:f3) ($ isinf x1))
235 (define isinf:b4 (x1:f4) ($ isinf x1))
236 (define sqrt:d (x1:d) ($ sqrt x1))
237 (define sqrt:d2 (x1:d2) ($ sqrt x1))
238 (define sqrt:d3 (x1:d3) ($ sqrt x1))
239 (define sqrt:d4 (x1:d4) ($ sqrt x1))
240 (define inversesqrt:d (x1:d) ($ inversesqrt x1))
241 (define inversesqrt:d2 (x1:d2) ($ inversesqrt x1))
242 (define inversesqrt:d3 (x1:d3) ($ inversesqrt x1))
243 (define inversesqrt:d4 (x1:d4) ($ inversesqrt x1))
244 (define abs:d (x1:d) ($ abs x1))
245 (define abs:d2 (x1:d2) ($ abs x1))
246 (define abs:d3 (x1:d3) ($ abs x1))
247 (define abs:d4 (x1:d4) ($ abs x1))
248 (define sign:d (x1:d) ($ sign x1))
249 (define sign:d2 (x1:d2) ($ sign x1))
250 (define sign:d3 (x1:d3) ($ sign x1))
251 (define sign:d4 (x1:d4) ($ sign x1))
252 (define floor:d (x1:d) ($ floor x1))
253 (define floor:d2 (x1:d2) ($ floor x1))
254 (define floor:d3 (x1:d3) ($ floor x1))
255 (define floor:d4 (x1:d4) ($ floor x1))
256 (define trunc:d (x1:d) ($ trunc x1))
257 (define trunc:d2 (x1:d2) ($ trunc x1))
258 (define trunc:d3 (x1:d3) ($ trunc x1))
259 (define trunc:d4 (x1:d4) ($ trunc x1))
260 (define round:d (x1:d) ($ round x1))
261 (define round:d2 (x1:d2) ($ round x1))
262 (define round:d3 (x1:d3) ($ round x1))
263 (define round:d4 (x1:d4) ($ round x1))
264 (define roundEven:d (x1:d) ($ roundEven x1))
265 (define roundEven:d2 (x1:d2) ($ roundEven x1))
266 (define roundEven:d3 (x1:d3) ($ roundEven x1))
267 (define roundEven:d4 (x1:d4) ($ roundEven x1))
268 (define ceil:d (x1:d) ($ ceil x1))
269 (define ceil:d2 (x1:d2) ($ ceil x1))
270 (define ceil:d3 (x1:d3) ($ ceil x1))
271 (define ceil:d4 (x1:d4) ($ ceil x1))
272 (define fract:d (x1:d) ($ fract x1))
273 (define fract:d2 (x1:d2) ($ fract x1))
274 (define fract:d3 (x1:d3) ($ fract x1))
275 (define fract:d4 (x1:d4) ($ fract x1))
276 (define mod:d (x1:d x2:d) ($ mod x1 x2))
277 (define mod:d2 (x1:d2 x2:d) ($ mod x1 x2))
278 (define mod:d3 (x1:d3 x2:d) ($ mod x1 x2))
279 (define mod:d4 (x1:d4 x2:d) ($ mod x1 x2))
280 (define mod:d2 (x1:d2 x2:d2) ($ mod x1 x2))
281 (define mod:d3 (x1:d3 x2:d3) ($ mod x1 x2))
282 (define mod:d4 (x1:d4 x2:d4) ($ mod x1 x2))
283 (define modf:d (x1:d x2:d) ($ modf x1 x2))
284 (define modf:d2 (x1:d2 x2:d2) ($ modf x1 x2))
285 (define modf:d3 (x1:d3 x2:d3) ($ modf x1 x2))
286 (define modf:d4 (x1:d4 x2:d4) ($ modf x1 x2))
287 (define min:d (x1:d x2:d) ($ min x1 x2))
288 (define min:d2 (x1:d2 x2:d) ($ min x1 x2))
289 (define min:d3 (x1:d3 x2:d) ($ min x1 x2))
290 (define min:d4 (x1:d4 x2:d) ($ min x1 x2))
291 (define min:d2 (x1:d2 x2:d2) ($ min x1 x2))
292 (define min:d3 (x1:d3 x2:d3) ($ min x1 x2))
293 (define min:d4 (x1:d4 x2:d4) ($ min x1 x2))
294 (define max:d (x1:d x2:d) ($ max x1 x2))
295 (define max:d2 (x1:d2 x2:d) ($ max x1 x2))
296 (define max:d3 (x1:d3 x2:d) ($ max x1 x2))
297 (define max:d4 (x1:d4 x2:d) ($ max x1 x2))
298 (define max:d2 (x1:d2 x2:d2) ($ max x1 x2))
299 (define max:d3 (x1:d3 x2:d3) ($ max x1 x2))
300 (define max:d4 (x1:d4 x2:d4) ($ max x1 x2))
301 (define clamp:d (x1:d x2:d x3:d) ($ clamp x1 x2 x3))
302 (define clamp:d2 (x1:d2 x2:d x3:d) ($ clamp x1 x2 x3))
303 (define clamp:d3 (x1:d3 x2:d x3:d) ($ clamp x1 x2 x3))
304 (define clamp:d4 (x1:d4 x2:d x3:d) ($ clamp x1 x2 x3))
305 (define clamp:d2 (x1:d2 x2:d2 x3:d2) ($ clamp x1 x2 x3))
306 (define clamp:d3 (x1:d3 x2:d3 x3:d3) ($ clamp x1 x2 x3))
307 (define clamp:d4 (x1:d4 x2:d4 x3:d4) ($ clamp x1 x2 x3))
308 (define mix:d (x1:d x2:d x3:d) ($ mix x1 x2 x3))
309 (define mix:d2 (x1:d2 x2:d2 x3:d) ($ mix x1 x2 x3))
310 (define mix:d3 (x1:d3 x2:d3 x3:d) ($ mix x1 x2 x3))
311 (define mix:d4 (x1:d4 x2:d4 x3:d) ($ mix x1 x2 x3))
312 (define mix:d2 (x1:d2 x2:d2 x3:d2) ($ mix x1 x2 x3))
313 (define mix:d3 (x1:d3 x2:d3 x3:d3) ($ mix x1 x2 x3))
314 (define mix:d4 (x1:d4 x2:d4 x3:d4) ($ mix x1 x2 x3))
315 (define mix:d (x1:d x2:d x3:b) ($ mix x1 x2 x3))
316 (define mix:d2 (x1:d2 x2:d2 x3:b2) ($ mix x1 x2 x3))
317 (define mix:d3 (x1:d3 x2:d3 x3:b3) ($ mix x1 x2 x3))
318 (define mix:d4 (x1:d4 x2:d4 x3:b4) ($ mix x1 x2 x3))
319 (define step:d (x1:d x2:d) ($ step x1 x2))
320 (define step:d2 (x1:d2 x2:d2) ($ step x1 x2))
321 (define step:d3 (x1:d3 x2:d3) ($ step x1 x2))
322 (define step:d4 (x1:d4 x2:d4) ($ step x1 x2))
323 (define step:d2 (x1:d x2:d2) ($ step x1 x2))
324 (define step:d3 (x1:d x2:d3) ($ step x1 x2))
325 (define step:d4 (x1:d x2:d4) ($ step x1 x2))
326 (define smoothstep:d (x1:d x2:d x3:d) ($ smoothstep x1 x2 x3))
327 (define smoothstep:d2 (x1:d2 x2:d2 x3:d2) ($ smoothstep x1 x2 x3))
328 (define smoothstep:d3 (x1:d3 x2:d3 x3:d3) ($ smoothstep x1 x2 x3))
329 (define smoothstep:d4 (x1:d4 x2:d4 x3:d4) ($ smoothstep x1 x2 x3))
330 (define smoothstep:d2 (x1:d x2:d x3:d2) ($ smoothstep x1 x2 x3))
331 (define smoothstep:d3 (x1:d x2:d x3:d3) ($ smoothstep x1 x2 x3))
332 (define smoothstep:d4 (x1:d x2:d x3:d4) ($ smoothstep x1 x2 x3))
333 (define isnan:b (x1:d) ($ isnan x1))
334 (define isnan:b2 (x1:d2) ($ isnan x1))
335 (define isnan:b3 (x1:d3) ($ isnan x1))
336 (define isnan:b4 (x1:d4) ($ isnan x1))
337 (define isinf:b (x1:d) ($ isinf x1))
338 (define isinf:b2 (x1:d2) ($ isinf x1))
339 (define isinf:b3 (x1:d3) ($ isinf x1))
340 (define isinf:b4 (x1:d4) ($ isinf x1))
341 (define length:d (x1:d) ($ length x1))
342 (define length:d (x1:d2) ($ length x1))
343 (define length:d (x1:d3) ($ length x1))
344 (define length:d (x1:d4) ($ length x1))
345 (define distance:d (x1:d x2:d) ($ distance x1 x2))
346 (define distance:d (x1:d2 x2:d2) ($ distance x1 x2))
347 (define distance:d (x1:d3 x2:d3) ($ distance x1 x2))
348 (define distance:d (x1:d4 x2:d4) ($ distance x1 x2))
349 (define dot:d (x1:d x2:d) ($ dot x1 x2))
350 (define dot:d (x1:d2 x2:d2) ($ dot x1 x2))
351 (define dot:d (x1:d3 x2:d3) ($ dot x1 x2))
352 (define dot:d (x1:d4 x2:d4) ($ dot x1 x2))
353 (define cross:d3 (x1:d3 x2:d3) ($ cross x1 x2))
354 (define normalize:d (x1:d) ($ normalize x1))
355 (define normalize:d2 (x1:d2) ($ normalize x1))
356 (define normalize:d3 (x1:d3) ($ normalize x1))
357 (define normalize:d4 (x1:d4) ($ normalize x1))
358 (define faceforward:d (x1:d x2:d x3:d) ($ faceforward x1 x2 x3))
359 (define faceforward:d2 (x1:d2 x2:d2 x3:d2) ($ faceforward x1 x2 x3))
360 (define faceforward:d3 (x1:d3 x2:d3 x3:d3) ($ faceforward x1 x2 x3))
361 (define faceforward:d4 (x1:d4 x2:d4 x3:d4) ($ faceforward x1 x2 x3))
362 (define reflect:d (x1:d x2:d) ($ reflect x1 x2))
363 (define reflect:d2 (x1:d2 x2:d2) ($ reflect x1 x2))
364 (define reflect:d3 (x1:d3 x2:d3) ($ reflect x1 x2))
365 (define reflect:d4 (x1:d4 x2:d4) ($ reflect x1 x2))
366 (define refract:d (x1:d x2:d x3:d) ($ refract x1 x2 x3))
367 (define refract:d2 (x1:d2 x2:d2 x3:d) ($ refract x1 x2 x3))
368 (define refract:d3 (x1:d3 x2:d3 x3:d) ($ refract x1 x2 x3))
369 (define refract:d4 (x1:d4 x2:d4 x3:d) ($ refract x1 x2 x3))
370 (define matrixCompMult:d2x2 (x1:d2x2 x2:d2x2) ($ matrixCompMult x1 x2))
371 (define matrixCompMult:d3x3 (x1:d3x3 x2:d3x3) ($ matrixCompMult x1 x2))
372 (define matrixCompMult:d4x2 (x1:d4x2 x2:d4x2) ($ matrixCompMult x1 x2))
373 (define matrixCompMult:d2x3 (x1:d2x3 x2:d2x3) ($ matrixCompMult x1 x2))
374 (define matrixCompMult:d2x4 (x1:d2x4 x2:d2x4) ($ matrixCompMult x1 x2))
375 (define matrixCompMult:d3x2 (x1:d3x2 x2:d3x2) ($ matrixCompMult x1 x2))
376 (define matrixCompMult:d3x4 (x1:d3x4 x2:d3x4) ($ matrixCompMult x1 x2))
377 (define matrixCompMult:d4x2 (x1:d4x2 x2:d4x2) ($ matrixCompMult x1 x2))
378 (define matrixCompMult:d4x3 (x1:d4x3 x2:d4x3) ($ matrixCompMult x1 x2))
379 (define outerProduct:d2x2 (x1:d2 x2:d2) ($ outerProduct x1 x2))
380 (define outerProduct:d3x3 (x1:d3 x2:d3) ($ outerProduct x1 x2))
381 (define outerProduct:d4x2 (x1:d4 x2:d4) ($ outerProduct x1 x2))
382 (define outerProduct:d2x3 (x1:d3 x2:d2) ($ outerProduct x1 x2))
383 (define outerProduct:d3x2 (x1:d2 x2:d3) ($ outerProduct x1 x2))
384 (define outerProduct:d2x4 (x1:d4 x2:d2) ($ outerProduct x1 x2))
385 (define outerProduct:d4x2 (x1:d2 x2:d4) ($ outerProduct x1 x2))
386 (define outerProduct:d3x4 (x1:d4 x2:d3) ($ outerProduct x1 x2))
387 (define outerProduct:d4x3 (x1:d3 x2:d4) ($ outerProduct x1 x2))
388 (define transpose:d2x2 (x1:d2x2) ($ transpose x1))
389 (define transpose:d3x3 (x1:d3x3) ($ transpose x1))
390 (define transpose:d4x2 (x1:d4x2) ($ transpose x1))
391 (define transpose:d2x3 (x1:d3x2) ($ transpose x1))
392 (define transpose:d3x2 (x1:d2x3) ($ transpose x1))
393 (define transpose:d2x4 (x1:d4x2) ($ transpose x1))
394 (define transpose:d4x2 (x1:d2x4) ($ transpose x1))
395 (define transpose:d3x4 (x1:d4x3) ($ transpose x1))
396 (define transpose:d4x3 (x1:d3x4) ($ transpose x1))
397 (define determinant:d (x1:d2x2) ($ determinant x1))
398 (define determinant:d (x1:d3x3) ($ determinant x1))
399 (define determinant:d (x1:d4x2) ($ determinant x1))
400 (define inverse:d2x2 (x1:d2x2) ($ inverse x1))
401 (define inverse:d3x3 (x1:d3x3) ($ inverse x1))
402 (define inverse:d4x2 (x1:d4x2) ($ inverse x1))
403 (define lessThan:b2 (x1:d2 x2:d2) ($ lessThan x1 x2))
404 (define lessThan:b3 (x1:d3 x2:d3) ($ lessThan x1 x2))
405 (define lessThan:b4 (x1:d4 x2:d4) ($ lessThan x1 x2))
406 (define lessThanEqual:b2 (x1:d2 x2:d2) ($ lessThanEqual x1 x2))
407 (define lessThanEqual:b3 (x1:d3 x2:d3) ($ lessThanEqual x1 x2))
408 (define lessThanEqual:b4 (x1:d4 x2:d4) ($ lessThanEqual x1 x2))
409 (define greaterThan:b2 (x1:d2 x2:d2) ($ greaterThan x1 x2))
410 (define greaterThan:b3 (x1:d3 x2:d3) ($ greaterThan x1 x2))
411 (define greaterThan:b4 (x1:d4 x2:d4) ($ greaterThan x1 x2))
412 (define greaterThanEqual:b2 (x1:d2 x2:d2) ($ greaterThanEqual x1 x2))
413 (define greaterThanEqual:b3 (x1:d3 x2:d3) ($ greaterThanEqual x1 x2))
414 (define greaterThanEqual:b4 (x1:d4 x2:d4) ($ greaterThanEqual x1 x2))
415 (define equal:b2 (x1:d2 x2:d2) ($ equal x1 x2))
416 (define equal:b3 (x1:d3 x2:d3) ($ equal x1 x2))
417 (define equal:b4 (x1:d4 x2:d4) ($ equal x1 x2))
418 (define notEqual:b2 (x1:d2 x2:d2) ($ notEqual x1 x2))
419 (define notEqual:b3 (x1:d3 x2:d3) ($ notEqual x1 x2))
420 (define notEqual:b4 (x1:d4 x2:d4) ($ notEqual x1 x2))
421 (define abs:l (x1:l) ($ abs x1))
422 (define abs:l2 (x1:l2) ($ abs x1))
423 (define abs:l3 (x1:l3) ($ abs x1))
424 (define abs:l4 (x1:l4) ($ abs x1))
425 (define sign:l (x1:l) ($ sign x1))
426 (define sign:l2 (x1:l2) ($ sign x1))
427 (define sign:l3 (x1:l3) ($ sign x1))
428 (define sign:l4 (x1:l4) ($ sign x1))
429 (define min:l (x1:l x2:l) ($ min x1 x2))
430 (define min:l2 (x1:l2 x2:l) ($ min x1 x2))
431 (define min:l3 (x1:l3 x2:l) ($ min x1 x2))
432 (define min:l4 (x1:l4 x2:l) ($ min x1 x2))
433 (define min:l2 (x1:l2 x2:l2) ($ min x1 x2))
434 (define min:l3 (x1:l3 x2:l3) ($ min x1 x2))
435 (define min:l4 (x1:l4 x2:l4) ($ min x1 x2))
436 (define min:lu (x1:lu x2:lu) ($ min x1 x2))
437 (define min:lu2 (x1:lu2 x2:lu) ($ min x1 x2))
438 (define min:lu3 (x1:lu3 x2:lu) ($ min x1 x2))
439 (define min:lu4 (x1:lu4 x2:lu) ($ min x1 x2))
440 (define min:lu2 (x1:lu2 x2:lu2) ($ min x1 x2))
441 (define min:lu3 (x1:lu3 x2:lu3) ($ min x1 x2))
442 (define min:lu4 (x1:lu4 x2:lu4) ($ min x1 x2))
443 (define max:l (x1:l x2:l) ($ max x1 x2))
444 (define max:l2 (x1:l2 x2:l) ($ max x1 x2))
445 (define max:l3 (x1:l3 x2:l) ($ max x1 x2))
446 (define max:l4 (x1:l4 x2:l) ($ max x1 x2))
447 (define max:l2 (x1:l2 x2:l2) ($ max x1 x2))
448 (define max:l3 (x1:l3 x2:l3) ($ max x1 x2))
449 (define max:l4 (x1:l4 x2:l4) ($ max x1 x2))
450 (define max:lu (x1:lu x2:lu) ($ max x1 x2))
451 (define max:lu2 (x1:lu2 x2:lu) ($ max x1 x2))
452 (define max:lu3 (x1:lu3 x2:lu) ($ max x1 x2))
453 (define max:lu4 (x1:lu4 x2:lu) ($ max x1 x2))
454 (define max:lu2 (x1:lu2 x2:lu2) ($ max x1 x2))
455 (define max:lu3 (x1:lu3 x2:lu3) ($ max x1 x2))
456 (define max:lu4 (x1:lu4 x2:lu4) ($ max x1 x2))
457 (define clamp:l (x1:l x2:l x3:l) ($ clamp x1 x2 x3))
458 (define clamp:l2 (x1:l2 x2:l x3:l) ($ clamp x1 x2 x3))
459 (define clamp:l3 (x1:l3 x2:l x3:l) ($ clamp x1 x2 x3))
460 (define clamp:l4 (x1:l4 x2:l x3:l) ($ clamp x1 x2 x3))
461 (define clamp:l2 (x1:l2 x2:l2 x3:l2) ($ clamp x1 x2 x3))
462 (define clamp:l3 (x1:l3 x2:l3 x3:l3) ($ clamp x1 x2 x3))
463 (define clamp:l4 (x1:l4 x2:l4 x3:l4) ($ clamp x1 x2 x3))
464 (define clamp:lu (x1:lu x2:lu x3:lu) ($ clamp x1 x2 x3))
465 (define clamp:lu2 (x1:lu2 x2:lu x3:lu) ($ clamp x1 x2 x3))
466 (define clamp:lu3 (x1:lu3 x2:lu x3:lu) ($ clamp x1 x2 x3))
467 (define clamp:lu4 (x1:lu4 x2:lu x3:lu) ($ clamp x1 x2 x3))
468 (define clamp:lu2 (x1:lu2 x2:lu2 x3:lu2) ($ clamp x1 x2 x3))
469 (define clamp:lu3 (x1:lu3 x2:lu3 x3:lu3) ($ clamp x1 x2 x3))
470 (define clamp:lu4 (x1:lu4 x2:lu4 x3:lu4) ($ clamp x1 x2 x3))
471 (define mix:l (x1:l x2:l x3:b) ($ mix x1 x2 x3))
472 (define mix:l2 (x1:l2 x2:l2 x3:b2) ($ mix x1 x2 x3))
473 (define mix:l3 (x1:l3 x2:l3 x3:b3) ($ mix x1 x2 x3))
474 (define mix:l4 (x1:l4 x2:l4 x3:b4) ($ mix x1 x2 x3))
475 (define mix:lu (x1:lu x2:lu x3:b) ($ mix x1 x2 x3))
476 (define mix:lu2 (x1:lu2 x2:lu2 x3:b2) ($ mix x1 x2 x3))
477 (define mix:lu3 (x1:lu3 x2:lu3 x3:b3) ($ mix x1 x2 x3))
478 (define mix:lu4 (x1:lu4 x2:lu4 x3:b4) ($ mix x1 x2 x3))
479 (define doubleBitsToInt64:l (x1:d) ($ doubleBitsToInt64 x1))
480 (define doubleBitsToInt64:l2 (x1:d2) ($ doubleBitsToInt64 x1))
481 (define doubleBitsToInt64:l3 (x1:d3) ($ doubleBitsToInt64 x1))
482 (define doubleBitsToInt64:l4 (x1:d4) ($ doubleBitsToInt64 x1))
483 (define doubleBitsToUint64:lu (x1:d) ($ doubleBitsToUint64 x1))
484 (define doubleBitsToUint64:lu2 (x1:d2) ($ doubleBitsToUint64 x1))
485 (define doubleBitsToUint64:lu3 (x1:d3) ($ doubleBitsToUint64 x1))
486 (define doubleBitsToUint64:lu4 (x1:d4) ($ doubleBitsToUint64 x1))
487 (define int64BitsToDouble:d (x1:l) ($ int64BitsToDouble x1))
488 (define int64BitsToDouble:d2 (x1:l2) ($ int64BitsToDouble x1))
489 (define int64BitsToDouble:d3 (x1:l3) ($ int64BitsToDouble x1))
490 (define int64BitsToDouble:d4 (x1:l4) ($ int64BitsToDouble x1))
491 (define uint64BitsToDouble:d (x1:lu) ($ uint64BitsToDouble x1))
492 (define uint64BitsToDouble:d2 (x1:lu2) ($ uint64BitsToDouble x1))
493 (define uint64BitsToDouble:d3 (x1:lu3) ($ uint64BitsToDouble x1))
494 (define uint64BitsToDouble:d4 (x1:lu4) ($ uint64BitsToDouble x1))
495 (define packInt2x32:l (x1:i2) ($ packInt2x32 x1))
496 (define packUint2x32:lu (x1:u2) ($ packUint2x32 x1))
497 (define unpackInt2x32:i2 (x1:l) ($ unpackInt2x32 x1))
498 (define unpackUint2x32:u2 (x1:lu) ($ unpackUint2x32 x1))
499 (define lessThan:b2 (x1:l2 x2:l2) ($ lessThan x1 x2))
500 (define lessThan:b3 (x1:l3 x2:l3) ($ lessThan x1 x2))
501 (define lessThan:b4 (x1:l4 x2:l4) ($ lessThan x1 x2))
502 (define lessThan:b2 (x1:lu2 x2:lu2) ($ lessThan x1 x2))
503 (define lessThan:b3 (x1:lu3 x2:lu3) ($ lessThan x1 x2))
504 (define lessThan:b4 (x1:lu4 x2:lu4) ($ lessThan x1 x2))
505 (define lessThanEqual:b2 (x1:l2 x2:l2) ($ lessThanEqual x1 x2))
506 (define lessThanEqual:b3 (x1:l3 x2:l3) ($ lessThanEqual x1 x2))
507 (define lessThanEqual:b4 (x1:l4 x2:l4) ($ lessThanEqual x1 x2))
508 (define lessThanEqual:b2 (x1:lu2 x2:lu2) ($ lessThanEqual x1 x2))
509 (define lessThanEqual:b3 (x1:lu3 x2:lu3) ($ lessThanEqual x1 x2))
510 (define lessThanEqual:b4 (x1:lu4 x2:lu4) ($ lessThanEqual x1 x2))
511 (define greaterThan:b2 (x1:l2 x2:l2) ($ greaterThan x1 x2))
512 (define greaterThan:b3 (x1:l3 x2:l3) ($ greaterThan x1 x2))
513 (define greaterThan:b4 (x1:l4 x2:l4) ($ greaterThan x1 x2))
514 (define greaterThan:b2 (x1:lu2 x2:lu2) ($ greaterThan x1 x2))
515 (define greaterThan:b3 (x1:lu3 x2:lu3) ($ greaterThan x1 x2))
516 (define greaterThan:b4 (x1:lu4 x2:lu4) ($ greaterThan x1 x2))
517 (define greaterThanEqual:b2 (x1:l2 x2:l2) ($ greaterThanEqual x1 x2))
518 (define greaterThanEqual:b3 (x1:l3 x2:l3) ($ greaterThanEqual x1 x2))
519 (define greaterThanEqual:b4 (x1:l4 x2:l4) ($ greaterThanEqual x1 x2))
520 (define greaterThanEqual:b2 (x1:lu2 x2:lu2) ($ greaterThanEqual x1 x2))
521 (define greaterThanEqual:b3 (x1:lu3 x2:lu3) ($ greaterThanEqual x1 x2))
522 (define greaterThanEqual:b4 (x1:lu4 x2:lu4) ($ greaterThanEqual x1 x2))
523 (define equal:b2 (x1:l2 x2:l2) ($ equal x1 x2))
524 (define equal:b3 (x1:l3 x2:l3) ($ equal x1 x2))
525 (define equal:b4 (x1:l4 x2:l4) ($ equal x1 x2))
526 (define equal:b2 (x1:lu2 x2:lu2) ($ equal x1 x2))
527 (define equal:b3 (x1:lu3 x2:lu3) ($ equal x1 x2))
528 (define equal:b4 (x1:lu4 x2:lu4) ($ equal x1 x2))
529 (define notEqual:b2 (x1:l2 x2:l2) ($ notEqual x1 x2))
530 (define notEqual:b3 (x1:l3 x2:l3) ($ notEqual x1 x2))
531 (define notEqual:b4 (x1:l4 x2:l4) ($ notEqual x1 x2))
532 (define notEqual:b2 (x1:lu2 x2:lu2) ($ notEqual x1 x2))
533 (define notEqual:b3 (x1:lu3 x2:lu3) ($ notEqual x1 x2))
534 (define notEqual:b4 (x1:lu4 x2:lu4) ($ notEqual x1 x2))
535 (define atomicAdd:u (x1:u x2:u) ($ atomicAdd x1 x2))
536 (define atomicAdd:i (x1:i x2:i) ($ atomicAdd x1 x2))
537 (define atomicMin:u (x1:u x2:u) ($ atomicMin x1 x2))
538 (define atomicMin:i (x1:i x2:i) ($ atomicMin x1 x2))
539 (define atomicMax:u (x1:u x2:u) ($ atomicMax x1 x2))
540 (define atomicMax:i (x1:i x2:i) ($ atomicMax x1 x2))
541 (define atomicAnd:u (x1:u x2:u) ($ atomicAnd x1 x2))
542 (define atomicAnd:i (x1:i x2:i) ($ atomicAnd x1 x2))
543 (define atomicOr:u (x1:u x2:u) ($ atomicOr x1 x2))
544 (define atomicOr:i (x1:i x2:i) ($ atomicOr x1 x2))
545 (define atomicXor:u (x1:u x2:u) ($ atomicXor x1 x2))
546 (define atomicXor:i (x1:i x2:i) ($ atomicXor x1 x2))
547 (define atomicExchange:u (x1:u x2:u) ($ atomicExchange x1 x2))
548 (define atomicExchange:i (x1:i x2:i) ($ atomicExchange x1 x2))
549 (define atomicCompSwap:u (x1:u x2:u x3:u) ($ atomicCompSwap x1 x2 x3))
550 (define atomicCompSwap:i (x1:i x2:i x3:i) ($ atomicCompSwap x1 x2 x3))
551 (define mix:i (x1:i x2:i x3:b) ($ mix x1 x2 x3))
552 (define mix:i2 (x1:i2 x2:i2 x3:b2) ($ mix x1 x2 x3))
553 (define mix:i3 (x1:i3 x2:i3 x3:b3) ($ mix x1 x2 x3))
554 (define mix:i4 (x1:i4 x2:i4 x3:b4) ($ mix x1 x2 x3))
555 (define mix:u (x1:u x2:u x3:b) ($ mix x1 x2 x3))
556 (define mix:u2 (x1:u2 x2:u2 x3:b2) ($ mix x1 x2 x3))
557 (define mix:u3 (x1:u3 x2:u3 x3:b3) ($ mix x1 x2 x3))
558 (define mix:u4 (x1:u4 x2:u4 x3:b4) ($ mix x1 x2 x3))
559 (define mix:b (x1:b x2:b x3:b) ($ mix x1 x2 x3))
560 (define mix:b2 (x1:b2 x2:b2 x3:b2) ($ mix x1 x2 x3))
561 (define mix:b3 (x1:b3 x2:b3 x3:b3) ($ mix x1 x2 x3))
562 (define mix:b4 (x1:b4 x2:b4 x3:b4) ($ mix x1 x2 x3))
563 (define floatBitsToInt:i (x1:f) ($ floatBitsToInt x1))
564 (define floatBitsToInt:i2 (x1:f2) ($ floatBitsToInt x1))
565 (define floatBitsToInt:i3 (x1:f3) ($ floatBitsToInt x1))
566 (define floatBitsToInt:i4 (x1:f4) ($ floatBitsToInt x1))
567 (define floatBitsToUint:u (x1:f) ($ floatBitsToUint x1))
568 (define floatBitsToUint:u2 (x1:f2) ($ floatBitsToUint x1))
569 (define floatBitsToUint:u3 (x1:f3) ($ floatBitsToUint x1))
570 (define floatBitsToUint:u4 (x1:f4) ($ floatBitsToUint x1))
571 (define intBitsToFloat:f (x1:i) ($ intBitsToFloat x1))
572 (define intBitsToFloat:f2 (x1:i2) ($ intBitsToFloat x1))
573 (define intBitsToFloat:f3 (x1:i3) ($ intBitsToFloat x1))
574 (define intBitsToFloat:f4 (x1:i4) ($ intBitsToFloat x1))
575 (define uintBitsToFloat:f (x1:u) ($ uintBitsToFloat x1))
576 (define uintBitsToFloat:f2 (x1:u2) ($ uintBitsToFloat x1))
577 (define uintBitsToFloat:f3 (x1:u3) ($ uintBitsToFloat x1))
578 (define uintBitsToFloat:f4 (x1:u4) ($ uintBitsToFloat x1))
579 (define fma:f (x1:f x2:f x3:f) ($ fma x1 x2 x3))
580 (define fma:f2 (x1:f2 x2:f2 x3:f2) ($ fma x1 x2 x3))
581 (define fma:f3 (x1:f3 x2:f3 x3:f3) ($ fma x1 x2 x3))
582 (define fma:f4 (x1:f4 x2:f4 x3:f4) ($ fma x1 x2 x3))
583 (define fma:d (x1:d x2:d x3:d) ($ fma x1 x2 x3))
584 (define fma:d2 (x1:d2 x2:d2 x3:d2) ($ fma x1 x2 x3))
585 (define fma:d3 (x1:d3 x2:d3 x3:d3) ($ fma x1 x2 x3))
586 (define fma:d4 (x1:d4 x2:d4 x3:d4) ($ fma x1 x2 x3))
587 (define frexp:f (x1:f x2:i) ($ frexp x1 x2))
588 (define frexp:f2 (x1:f2 x2:i2) ($ frexp x1 x2))
589 (define frexp:f3 (x1:f3 x2:i3) ($ frexp x1 x2))
590 (define frexp:f4 (x1:f4 x2:i4) ($ frexp x1 x2))
591 (define ldexp:f (x1:f x2:i) ($ ldexp x1 x2))
592 (define ldexp:f2 (x1:f2 x2:i2) ($ ldexp x1 x2))
593 (define ldexp:f3 (x1:f3 x2:i3) ($ ldexp x1 x2))
594 (define ldexp:f4 (x1:f4 x2:i4) ($ ldexp x1 x2))
595 (define frexp:d (x1:d x2:i) ($ frexp x1 x2))
596 (define frexp:d2 (x1:d2 x2:i2) ($ frexp x1 x2))
597 (define frexp:d3 (x1:d3 x2:i3) ($ frexp x1 x2))
598 (define frexp:d4 (x1:d4 x2:i4) ($ frexp x1 x2))
599 (define ldexp:d (x1:d x2:i) ($ ldexp x1 x2))
600 (define ldexp:d2 (x1:d2 x2:i2) ($ ldexp x1 x2))
601 (define ldexp:d3 (x1:d3 x2:i3) ($ ldexp x1 x2))
602 (define ldexp:d4 (x1:d4 x2:i4) ($ ldexp x1 x2))
603 (define packDouble2x32:d (x1:u2) ($ packDouble2x32 x1))
604 (define unpackDouble2x32:u2 (x1:d) ($ unpackDouble2x32 x1))
605 (define packUnorm2x16:u (x1:f2) ($ packUnorm2x16 x1))
606 (define unpackUnorm2x16:f2 (x1:u) ($ unpackUnorm2x16 x1))
607 (define packSnorm2x16:u (x1:f2) ($ packSnorm2x16 x1))
608 (define unpackSnorm2x16:f2 (x1:u) ($ unpackSnorm2x16 x1))
609 (define packHalf2x16:u (x1:f2) ($ packHalf2x16 x1))
610 (define unpackHalf2x16:f2 (x1:u) ($ unpackHalf2x16 x1))
611 (define packSnorm4x8:u (x1:f4) ($ packSnorm4x8 x1))
612 (define packUnorm4x8:u (x1:f4) ($ packUnorm4x8 x1))
613 (define unpackSnorm4x8:f4 (x1:u) ($ unpackSnorm4x8 x1))
614 (define unpackUnorm4x8:f4 (x1:u) ($ unpackUnorm4x8 x1))
615 (define unpackSnorm4x8:f4 (x1:u) ($ unpackSnorm4x8 x1))
616 (define unpackUnorm4x8:f4 (x1:u) ($ unpackUnorm4x8 x1))
617 (define length:f (x1:f) ($ length x1))
618 (define length:f (x1:f2) ($ length x1))
619 (define length:f (x1:f3) ($ length x1))
620 (define length:f (x1:f4) ($ length x1))
621 (define distance:f (x1:f x2:f) ($ distance x1 x2))
622 (define distance:f (x1:f2 x2:f2) ($ distance x1 x2))
623 (define distance:f (x1:f3 x2:f3) ($ distance x1 x2))
624 (define distance:f (x1:f4 x2:f4) ($ distance x1 x2))
625 (define dot:f (x1:f x2:f) ($ dot x1 x2))
626 (define dot:f (x1:f2 x2:f2) ($ dot x1 x2))
627 (define dot:f (x1:f3 x2:f3) ($ dot x1 x2))
628 (define dot:f (x1:f4 x2:f4) ($ dot x1 x2))
629 (define cross:f3 (x1:f3 x2:f3) ($ cross x1 x2))
630 (define normalize:f (x1:f) ($ normalize x1))
631 (define normalize:f2 (x1:f2) ($ normalize x1))
632 (define normalize:f3 (x1:f3) ($ normalize x1))
633 (define normalize:f4 (x1:f4) ($ normalize x1))
634 (define faceforward:f (x1:f x2:f x3:f) ($ faceforward x1 x2 x3))
635 (define faceforward:f2 (x1:f2 x2:f2 x3:f2) ($ faceforward x1 x2 x3))
636 (define faceforward:f3 (x1:f3 x2:f3 x3:f3) ($ faceforward x1 x2 x3))
637 (define faceforward:f4 (x1:f4 x2:f4 x3:f4) ($ faceforward x1 x2 x3))
638 (define reflect:f (x1:f x2:f) ($ reflect x1 x2))
639 (define reflect:f2 (x1:f2 x2:f2) ($ reflect x1 x2))
640 (define reflect:f3 (x1:f3 x2:f3) ($ reflect x1 x2))
641 (define reflect:f4 (x1:f4 x2:f4) ($ reflect x1 x2))
642 (define refract:f (x1:f x2:f x3:f) ($ refract x1 x2 x3))
643 (define refract:f2 (x1:f2 x2:f2 x3:f) ($ refract x1 x2 x3))
644 (define refract:f3 (x1:f3 x2:f3 x3:f) ($ refract x1 x2 x3))
645 (define refract:f4 (x1:f4 x2:f4 x3:f) ($ refract x1 x2 x3))
646 (define matrixCompMult:f2x2 (x1:f2x2 x2:f2x2) ($ matrixCompMult x1 x2))
647 (define matrixCompMult:f3x3 (x1:f3x3 x2:f3x3) ($ matrixCompMult x1 x2))
648 (define matrixCompMult:f4x2 (x1:f4x2 x2:f4x2) ($ matrixCompMult x1 x2))
649 (define outerProduct:f2x2 (x1:f2 x2:f2) ($ outerProduct x1 x2))
650 (define outerProduct:f3x3 (x1:f3 x2:f3) ($ outerProduct x1 x2))
651 (define outerProduct:f4x2 (x1:f4 x2:f4) ($ outerProduct x1 x2))
652 (define outerProduct:f2x3 (x1:f3 x2:f2) ($ outerProduct x1 x2))
653 (define outerProduct:f3x2 (x1:f2 x2:f3) ($ outerProduct x1 x2))
654 (define outerProduct:f2x4 (x1:f4 x2:f2) ($ outerProduct x1 x2))
655 (define outerProduct:f4x2 (x1:f2 x2:f4) ($ outerProduct x1 x2))
656 (define outerProduct:f3x4 (x1:f4 x2:f3) ($ outerProduct x1 x2))
657 (define outerProduct:f4x3 (x1:f3 x2:f4) ($ outerProduct x1 x2))
658 (define transpose:f2x2 (x1:f2x2) ($ transpose x1))
659 (define transpose:f3x3 (x1:f3x3) ($ transpose x1))
660 (define transpose:f4x2 (x1:f4x2) ($ transpose x1))
661 (define transpose:f2x3 (x1:f3x2) ($ transpose x1))
662 (define transpose:f3x2 (x1:f2x3) ($ transpose x1))
663 (define transpose:f2x4 (x1:f4x2) ($ transpose x1))
664 (define transpose:f4x2 (x1:f2x4) ($ transpose x1))
665 (define transpose:f3x4 (x1:f4x3) ($ transpose x1))
666 (define transpose:f4x3 (x1:f3x4) ($ transpose x1))
667 (define matrixCompMult:f2x3 (x1:f2x3 x2:f2x3) ($ matrixCompMult x1 x2))
668 (define matrixCompMult:f2x4 (x1:f2x4 x2:f2x4) ($ matrixCompMult x1 x2))
669 (define matrixCompMult:f3x2 (x1:f3x2 x2:f3x2) ($ matrixCompMult x1 x2))
670 (define matrixCompMult:f3x4 (x1:f3x4 x2:f3x4) ($ matrixCompMult x1 x2))
671 (define matrixCompMult:f4x2 (x1:f4x2 x2:f4x2) ($ matrixCompMult x1 x2))
672 (define matrixCompMult:f4x3 (x1:f4x3 x2:f4x3) ($ matrixCompMult x1 x2))
673 (define determinant:f (x1:f2x2) ($ determinant x1))
674 (define determinant:f (x1:f3x3) ($ determinant x1))
675 (define determinant:f (x1:f4x2) ($ determinant x1))
676 (define inverse:f2x2 (x1:f2x2) ($ inverse x1))
677 (define inverse:f3x3 (x1:f3x3) ($ inverse x1))
678 (define inverse:f4x2 (x1:f4x2) ($ inverse x1))
679 (define lessThan:b2 (x1:f2 x2:f2) ($ lessThan x1 x2))
680 (define lessThan:b3 (x1:f3 x2:f3) ($ lessThan x1 x2))
681 (define lessThan:b4 (x1:f4 x2:f4) ($ lessThan x1 x2))
682 (define lessThan:b2 (x1:i2 x2:i2) ($ lessThan x1 x2))
683 (define lessThan:b3 (x1:i3 x2:i3) ($ lessThan x1 x2))
684 (define lessThan:b4 (x1:i4 x2:i4) ($ lessThan x1 x2))
685 (define lessThanEqual:b2 (x1:f2 x2:f2) ($ lessThanEqual x1 x2))
686 (define lessThanEqual:b3 (x1:f3 x2:f3) ($ lessThanEqual x1 x2))
687 (define lessThanEqual:b4 (x1:f4 x2:f4) ($ lessThanEqual x1 x2))
688 (define lessThanEqual:b2 (x1:i2 x2:i2) ($ lessThanEqual x1 x2))
689 (define lessThanEqual:b3 (x1:i3 x2:i3) ($ lessThanEqual x1 x2))
690 (define lessThanEqual:b4 (x1:i4 x2:i4) ($ lessThanEqual x1 x2))
691 (define greaterThan:b2 (x1:f2 x2:f2) ($ greaterThan x1 x2))
692 (define greaterThan:b3 (x1:f3 x2:f3) ($ greaterThan x1 x2))
693 (define greaterThan:b4 (x1:f4 x2:f4) ($ greaterThan x1 x2))
694 (define greaterThan:b2 (x1:i2 x2:i2) ($ greaterThan x1 x2))
695 (define greaterThan:b3 (x1:i3 x2:i3) ($ greaterThan x1 x2))
696 (define greaterThan:b4 (x1:i4 x2:i4) ($ greaterThan x1 x2))
697 (define greaterThanEqual:b2 (x1:f2 x2:f2) ($ greaterThanEqual x1 x2))
698 (define greaterThanEqual:b3 (x1:f3 x2:f3) ($ greaterThanEqual x1 x2))
699 (define greaterThanEqual:b4 (x1:f4 x2:f4) ($ greaterThanEqual x1 x2))
700 (define greaterThanEqual:b2 (x1:i2 x2:i2) ($ greaterThanEqual x1 x2))
701 (define greaterThanEqual:b3 (x1:i3 x2:i3) ($ greaterThanEqual x1 x2))
702 (define greaterThanEqual:b4 (x1:i4 x2:i4) ($ greaterThanEqual x1 x2))
703 (define equal:b2 (x1:f2 x2:f2) ($ equal x1 x2))
704 (define equal:b3 (x1:f3 x2:f3) ($ equal x1 x2))
705 (define equal:b4 (x1:f4 x2:f4) ($ equal x1 x2))
706 (define equal:b2 (x1:i2 x2:i2) ($ equal x1 x2))
707 (define equal:b3 (x1:i3 x2:i3) ($ equal x1 x2))
708 (define equal:b4 (x1:i4 x2:i4) ($ equal x1 x2))
709 (define equal:b2 (x1:b2 x2:b2) ($ equal x1 x2))
710 (define equal:b3 (x1:b3 x2:b3) ($ equal x1 x2))
711 (define equal:b4 (x1:b4 x2:b4) ($ equal x1 x2))
712 (define notEqual:b2 (x1:f2 x2:f2) ($ notEqual x1 x2))
713 (define notEqual:b3 (x1:f3 x2:f3) ($ notEqual x1 x2))
714 (define notEqual:b4 (x1:f4 x2:f4) ($ notEqual x1 x2))
715 (define notEqual:b2 (x1:i2 x2:i2) ($ notEqual x1 x2))
716 (define notEqual:b3 (x1:i3 x2:i3) ($ notEqual x1 x2))
717 (define notEqual:b4 (x1:i4 x2:i4) ($ notEqual x1 x2))
718 (define notEqual:b2 (x1:b2 x2:b2) ($ notEqual x1 x2))
719 (define notEqual:b3 (x1:b3 x2:b3) ($ notEqual x1 x2))
720 (define notEqual:b4 (x1:b4 x2:b4) ($ notEqual x1 x2))
721 (define any:b (x1:b2) ($ any x1))
722 (define any:b (x1:b3) ($ any x1))
723 (define any:b (x1:b4) ($ any x1))
724 (define all:b (x1:b2) ($ all x1))
725 (define all:b (x1:b3) ($ all x1))
726 (define all:b (x1:b4) ($ all x1))
727 (define not:b2 (x1:b2) ($ not x1))
728 (define not:b3 (x1:b3) ($ not x1))
729 (define not:b4 (x1:b4) ($ not x1))
730 (define lessThan:b2 (x1:u2 x2:u2) ($ lessThan x1 x2))
731 (define lessThan:b3 (x1:u3 x2:u3) ($ lessThan x1 x2))
732 (define lessThan:b4 (x1:u4 x2:u4) ($ lessThan x1 x2))
733 (define lessThanEqual:b2 (x1:u2 x2:u2) ($ lessThanEqual x1 x2))
734 (define lessThanEqual:b3 (x1:u3 x2:u3) ($ lessThanEqual x1 x2))
735 (define lessThanEqual:b4 (x1:u4 x2:u4) ($ lessThanEqual x1 x2))
736 (define greaterThan:b2 (x1:u2 x2:u2) ($ greaterThan x1 x2))
737 (define greaterThan:b3 (x1:u3 x2:u3) ($ greaterThan x1 x2))
738 (define greaterThan:b4 (x1:u4 x2:u4) ($ greaterThan x1 x2))
739 (define greaterThanEqual:b2 (x1:u2 x2:u2) ($ greaterThanEqual x1 x2))
740 (define greaterThanEqual:b3 (x1:u3 x2:u3) ($ greaterThanEqual x1 x2))
741 (define greaterThanEqual:b4 (x1:u4 x2:u4) ($ greaterThanEqual x1 x2))
742 (define equal:b2 (x1:u2 x2:u2) ($ equal x1 x2))
743 (define equal:b3 (x1:u3 x2:u3) ($ equal x1 x2))
744 (define equal:b4 (x1:u4 x2:u4) ($ equal x1 x2))
745 (define notEqual:b2 (x1:u2 x2:u2) ($ notEqual x1 x2))
746 (define notEqual:b3 (x1:u3 x2:u3) ($ notEqual x1 x2))
747 (define notEqual:b4 (x1:u4 x2:u4) ($ notEqual x1 x2))
748 (define noise1:f (x1:f) ($ noise1 x1))
749 (define noise1:f (x1:f2) ($ noise1 x1))
750 (define noise1:f (x1:f3) ($ noise1 x1))
751 (define noise1:f (x1:f4) ($ noise1 x1))
752 (define noise2:f2 (x1:f) ($ noise2 x1))
753 (define noise2:f2 (x1:f2) ($ noise2 x1))
754 (define noise2:f2 (x1:f3) ($ noise2 x1))
755 (define noise2:f2 (x1:f4) ($ noise2 x1))
756 (define noise3:f3 (x1:f) ($ noise3 x1))
757 (define noise3:f3 (x1:f2) ($ noise3 x1))
758 (define noise3:f3 (x1:f3) ($ noise3 x1))
759 (define noise3:f3 (x1:f4) ($ noise3 x1))
760 (define noise4:f4 (x1:f) ($ noise4 x1))
761 (define noise4:f4 (x1:f2) ($ noise4 x1))
762 (define noise4:f4 (x1:f3) ($ noise4 x1))
763 (define noise4:f4 (x1:f4) ($ noise4 x1))
764 (define bitfieldExtract:i (x1:i x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
765 (define bitfieldExtract:i2 (x1:i2 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
766 (define bitfieldExtract:i3 (x1:i3 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
767 (define bitfieldExtract:i4 (x1:i4 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
768 (define bitfieldExtract:u (x1:u x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
769 (define bitfieldExtract:u2 (x1:u2 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
770 (define bitfieldExtract:u3 (x1:u3 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
771 (define bitfieldExtract:u4 (x1:u4 x2:i x3:i) ($ bitfieldExtract x1 x2 x3))
772 (define bitfieldInsert:i (x1:i x2:i x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
773 (define bitfieldInsert:i2 (x1:i2 x2:i2 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
774 (define bitfieldInsert:i3 (x1:i3 x2:i3 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
775 (define bitfieldInsert:i4 (x1:i4 x2:i4 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
776 (define bitfieldInsert:u (x1:u x2:u x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
777 (define bitfieldInsert:u2 (x1:u2 x2:u2 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
778 (define bitfieldInsert:u3 (x1:u3 x2:u3 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
779 (define bitfieldInsert:u4 (x1:u4 x2:u4 x3:i x4:i) ($ bitfieldInsert x1 x2 x3 x4))
780 (define findLSB:i (x1:i) ($ findLSB x1))
781 (define findLSB:i2 (x1:i2) ($ findLSB x1))
782 (define findLSB:i3 (x1:i3) ($ findLSB x1))
783 (define findLSB:i4 (x1:i4) ($ findLSB x1))
784 (define findLSB:i (x1:u) ($ findLSB x1))
785 (define findLSB:i2 (x1:u2) ($ findLSB x1))
786 (define findLSB:i3 (x1:u3) ($ findLSB x1))
787 (define findLSB:i4 (x1:u4) ($ findLSB x1))
788 (define bitCount:i (x1:i) ($ bitCount x1))
789 (define bitCount:i2 (x1:i2) ($ bitCount x1))
790 (define bitCount:i3 (x1:i3) ($ bitCount x1))
791 (define bitCount:i4 (x1:i4) ($ bitCount x1))
792 (define bitCount:i (x1:u) ($ bitCount x1))
793 (define bitCount:i2 (x1:u2) ($ bitCount x1))
794 (define bitCount:i3 (x1:u3) ($ bitCount x1))
795 (define bitCount:i4 (x1:u4) ($ bitCount x1))
796 (define findMSB:i (x1:i) ($ findMSB x1))
797 (define findMSB:i2 (x1:i2) ($ findMSB x1))
798 (define findMSB:i3 (x1:i3) ($ findMSB x1))
799 (define findMSB:i4 (x1:i4) ($ findMSB x1))
800 (define findMSB:i (x1:u) ($ findMSB x1))
801 (define findMSB:i2 (x1:u2) ($ findMSB x1))
802 (define findMSB:i3 (x1:u3) ($ findMSB x1))
803 (define findMSB:i4 (x1:u4) ($ findMSB x1))
804 (define uaddCarry:u (x1:u x2:u x3:u) ($ uaddCarry x1 x2 x3))
805 (define uaddCarry:u2 (x1:u2 x2:u2 x3:u2) ($ uaddCarry x1 x2 x3))
806 (define uaddCarry:u3 (x1:u3 x2:u3 x3:u3) ($ uaddCarry x1 x2 x3))
807 (define uaddCarry:u4 (x1:u4 x2:u4 x3:u4) ($ uaddCarry x1 x2 x3))
808 (define usubBorrow:u (x1:u x2:u x3:u) ($ usubBorrow x1 x2 x3))
809 (define usubBorrow:u2 (x1:u2 x2:u2 x3:u2) ($ usubBorrow x1 x2 x3))
810 (define usubBorrow:u3 (x1:u3 x2:u3 x3:u3) ($ usubBorrow x1 x2 x3))
811 (define usubBorrow:u4 (x1:u4 x2:u4 x3:u4) ($ usubBorrow x1 x2 x3))
812 (define bitfieldReverse:i (x1:i) ($ bitfieldReverse x1))
813 (define bitfieldReverse:i2 (x1:i2) ($ bitfieldReverse x1))
814 (define bitfieldReverse:i3 (x1:i3) ($ bitfieldReverse x1))
815 (define bitfieldReverse:i4 (x1:i4) ($ bitfieldReverse x1))
816 (define bitfieldReverse:u (x1:u) ($ bitfieldReverse x1))
817 (define bitfieldReverse:u2 (x1:u2) ($ bitfieldReverse x1))
818 (define bitfieldReverse:u3 (x1:u3) ($ bitfieldReverse x1))
819 (define bitfieldReverse:u4 (x1:u4) ($ bitfieldReverse x1))
820 (define bitCount:i (x1:i) ($ bitCount x1))
821 (define bitCount:i2 (x1:i2) ($ bitCount x1))
822 (define bitCount:i3 (x1:i3) ($ bitCount x1))
823 (define bitCount:i4 (x1:i4) ($ bitCount x1))
824 (define bitCount:i (x1:u) ($ bitCount x1))
825 (define bitCount:i2 (x1:u2) ($ bitCount x1))
826 (define bitCount:i3 (x1:u3) ($ bitCount x1))
827 (define bitCount:i4 (x1:u4) ($ bitCount x1))
828 (define findMSB:i (x1:i) ($ findMSB x1))
829 (define findMSB:i2 (x1:i2) ($ findMSB x1))
830 (define findMSB:i3 (x1:i3) ($ findMSB x1))
831 (define findMSB:i4 (x1:i4) ($ findMSB x1))
832 (define findMSB:i (x1:u) ($ findMSB x1))
833 (define findMSB:i2 (x1:u2) ($ findMSB x1))
834 (define findMSB:i3 (x1:u3) ($ findMSB x1))
835 (define findMSB:i4 (x1:u4) ($ findMSB x1))
836 (define ballotARB:lu (x1:b) ($ ballotARB x1))
837 (define readInvocationARB:f (x1:f x2:u) ($ readInvocationARB x1 x2))
838 (define readInvocationARB:f2 (x1:f2 x2:u) ($ readInvocationARB x1 x2))
839 (define readInvocationARB:f3 (x1:f3 x2:u) ($ readInvocationARB x1 x2))
840 (define readInvocationARB:f4 (x1:f4 x2:u) ($ readInvocationARB x1 x2))
841 (define readInvocationARB:i (x1:i x2:u) ($ readInvocationARB x1 x2))
842 (define readInvocationARB:i2 (x1:i2 x2:u) ($ readInvocationARB x1 x2))
843 (define readInvocationARB:i3 (x1:i3 x2:u) ($ readInvocationARB x1 x2))
844 (define readInvocationARB:i4 (x1:i4 x2:u) ($ readInvocationARB x1 x2))
845 (define readInvocationARB:u (x1:u x2:u) ($ readInvocationARB x1 x2))
846 (define readInvocationARB:u2 (x1:u2 x2:u) ($ readInvocationARB x1 x2))
847 (define readInvocationARB:u3 (x1:u3 x2:u) ($ readInvocationARB x1 x2))
848 (define readInvocationARB:u4 (x1:u4 x2:u) ($ readInvocationARB x1 x2))
849 (define readFirstInvocationARB:f (x1:f) ($ readFirstInvocationARB x1))
850 (define readFirstInvocationARB:f2 (x1:f2) ($ readFirstInvocationARB x1))
851 (define readFirstInvocationARB:f3 (x1:f3) ($ readFirstInvocationARB x1))
852 (define readFirstInvocationARB:f4 (x1:f4) ($ readFirstInvocationARB x1))
853 (define readFirstInvocationARB:i (x1:i) ($ readFirstInvocationARB x1))
854 (define readFirstInvocationARB:i2 (x1:i2) ($ readFirstInvocationARB x1))
855 (define readFirstInvocationARB:i3 (x1:i3) ($ readFirstInvocationARB x1))
856 (define readFirstInvocationARB:i4 (x1:i4) ($ readFirstInvocationARB x1))
857 (define readFirstInvocationARB:u (x1:u) ($ readFirstInvocationARB x1))
858 (define readFirstInvocationARB:u2 (x1:u2) ($ readFirstInvocationARB x1))
859 (define readFirstInvocationARB:u3 (x1:u3) ($ readFirstInvocationARB x1))
860 (define readFirstInvocationARB:u4 (x1:u4) ($ readFirstInvocationARB x1))
861 (define anyInvocationARB:b (x1:b) ($ anyInvocationARB x1))
862 (define allInvocationsARB:b (x1:b) ($ allInvocationsARB x1))
863 (define allInvocationsEqualARB:b (x1:b) ($ allInvocationsEqualARB x1))
864864 (define ftransform:f4 () ($ ftransform ))
865 (define dFdx:f (__x1:f) ($ dFdx __x1))
866 (define dFdx:f2 (__x1:f2) ($ dFdx __x1))
867 (define dFdx:f3 (__x1:f3) ($ dFdx __x1))
868 (define dFdx:f4 (__x1:f4) ($ dFdx __x1))
869 (define dFdy:f (__x1:f) ($ dFdy __x1))
870 (define dFdy:f2 (__x1:f2) ($ dFdy __x1))
871 (define dFdy:f3 (__x1:f3) ($ dFdy __x1))
872 (define dFdy:f4 (__x1:f4) ($ dFdy __x1))
873 (define fwidth:f (__x1:f) ($ fwidth __x1))
874 (define fwidth:f2 (__x1:f2) ($ fwidth __x1))
875 (define fwidth:f3 (__x1:f3) ($ fwidth __x1))
876 (define fwidth:f4 (__x1:f4) ($ fwidth __x1))
877 (define dFdxFine:f (__x1:f) ($ dFdxFine __x1))
878 (define dFdxFine:f2 (__x1:f2) ($ dFdxFine __x1))
879 (define dFdxFine:f3 (__x1:f3) ($ dFdxFine __x1))
880 (define dFdxFine:f4 (__x1:f4) ($ dFdxFine __x1))
881 (define dFdyFine:f (__x1:f) ($ dFdyFine __x1))
882 (define dFdyFine:f2 (__x1:f2) ($ dFdyFine __x1))
883 (define dFdyFine:f3 (__x1:f3) ($ dFdyFine __x1))
884 (define dFdyFine:f4 (__x1:f4) ($ dFdyFine __x1))
885 (define fwidthFine:f (__x1:f) ($ fwidthFine __x1))
886 (define fwidthFine:f2 (__x1:f2) ($ fwidthFine __x1))
887 (define fwidthFine:f3 (__x1:f3) ($ fwidthFine __x1))
888 (define fwidthFine:f4 (__x1:f4) ($ fwidthFine __x1))
889 (define dFdxCoarse:f (__x1:f) ($ dFdxCoarse __x1))
890 (define dFdxCoarse:f2 (__x1:f2) ($ dFdxCoarse __x1))
891 (define dFdxCoarse:f3 (__x1:f3) ($ dFdxCoarse __x1))
892 (define dFdxCoarse:f4 (__x1:f4) ($ dFdxCoarse __x1))
893 (define dFdyCoarse:f (__x1:f) ($ dFdyCoarse __x1))
894 (define dFdyCoarse:f2 (__x1:f2) ($ dFdyCoarse __x1))
895 (define dFdyCoarse:f3 (__x1:f3) ($ dFdyCoarse __x1))
896 (define dFdyCoarse:f4 (__x1:f4) ($ dFdyCoarse __x1))
897 (define fwidthCoarse:f (__x1:f) ($ fwidthCoarse __x1))
898 (define fwidthCoarse:f2 (__x1:f2) ($ fwidthCoarse __x1))
899 (define fwidthCoarse:f3 (__x1:f3) ($ fwidthCoarse __x1))
900 (define fwidthCoarse:f4 (__x1:f4) ($ fwidthCoarse __x1))
901 (define interpolateAtCentroid:f (__x1:f) ($ interpolateAtCentroid __x1))
902 (define interpolateAtCentroid:f2 (__x1:f2) ($ interpolateAtCentroid __x1))
903 (define interpolateAtCentroid:f3 (__x1:f3) ($ interpolateAtCentroid __x1))
904 (define interpolateAtCentroid:f4 (__x1:f4) ($ interpolateAtCentroid __x1))
905 (define interpolateAtSample:f (__x1:f, __x2:i) ($ interpolateAtSample __x1 __x2))
906 (define interpolateAtSample:f2 (__x1:f2, __x2:i) ($ interpolateAtSample __x1 __x2))
907 (define interpolateAtSample:f3 (__x1:f3, __x2:i) ($ interpolateAtSample __x1 __x2))
908 (define interpolateAtSample:f4 (__x1:f4, __x2:i) ($ interpolateAtSample __x1 __x2))
909 (define interpolateAtOffset:f (__x1:f, __x2:f2) ($ interpolateAtOffset __x1 __x2))
910 (define interpolateAtOffset:f2 (__x1:f2, __x2:f2) ($ interpolateAtOffset __x1 __x2))
911 (define interpolateAtOffset:f3 (__x1:f3, __x2:f2) ($ interpolateAtOffset __x1 __x2))
912 (define interpolateAtOffset:f4 (__x1:f4, __x2:f2) ($ interpolateAtOffset __x1 __x2))
865 (define dFdx:f (x1:f) ($ dFdx x1))
866 (define dFdx:f2 (x1:f2) ($ dFdx x1))
867 (define dFdx:f3 (x1:f3) ($ dFdx x1))
868 (define dFdx:f4 (x1:f4) ($ dFdx x1))
869 (define dFdy:f (x1:f) ($ dFdy x1))
870 (define dFdy:f2 (x1:f2) ($ dFdy x1))
871 (define dFdy:f3 (x1:f3) ($ dFdy x1))
872 (define dFdy:f4 (x1:f4) ($ dFdy x1))
873 (define fwidth:f (x1:f) ($ fwidth x1))
874 (define fwidth:f2 (x1:f2) ($ fwidth x1))
875 (define fwidth:f3 (x1:f3) ($ fwidth x1))
876 (define fwidth:f4 (x1:f4) ($ fwidth x1))
877 (define dFdxFine:f (x1:f) ($ dFdxFine x1))
878 (define dFdxFine:f2 (x1:f2) ($ dFdxFine x1))
879 (define dFdxFine:f3 (x1:f3) ($ dFdxFine x1))
880 (define dFdxFine:f4 (x1:f4) ($ dFdxFine x1))
881 (define dFdyFine:f (x1:f) ($ dFdyFine x1))
882 (define dFdyFine:f2 (x1:f2) ($ dFdyFine x1))
883 (define dFdyFine:f3 (x1:f3) ($ dFdyFine x1))
884 (define dFdyFine:f4 (x1:f4) ($ dFdyFine x1))
885 (define fwidthFine:f (x1:f) ($ fwidthFine x1))
886 (define fwidthFine:f2 (x1:f2) ($ fwidthFine x1))
887 (define fwidthFine:f3 (x1:f3) ($ fwidthFine x1))
888 (define fwidthFine:f4 (x1:f4) ($ fwidthFine x1))
889 (define dFdxCoarse:f (x1:f) ($ dFdxCoarse x1))
890 (define dFdxCoarse:f2 (x1:f2) ($ dFdxCoarse x1))
891 (define dFdxCoarse:f3 (x1:f3) ($ dFdxCoarse x1))
892 (define dFdxCoarse:f4 (x1:f4) ($ dFdxCoarse x1))
893 (define dFdyCoarse:f (x1:f) ($ dFdyCoarse x1))
894 (define dFdyCoarse:f2 (x1:f2) ($ dFdyCoarse x1))
895 (define dFdyCoarse:f3 (x1:f3) ($ dFdyCoarse x1))
896 (define dFdyCoarse:f4 (x1:f4) ($ dFdyCoarse x1))
897 (define fwidthCoarse:f (x1:f) ($ fwidthCoarse x1))
898 (define fwidthCoarse:f2 (x1:f2) ($ fwidthCoarse x1))
899 (define fwidthCoarse:f3 (x1:f3) ($ fwidthCoarse x1))
900 (define fwidthCoarse:f4 (x1:f4) ($ fwidthCoarse x1))
901 (define interpolateAtCentroid:f (x1:f) ($ interpolateAtCentroid x1))
902 (define interpolateAtCentroid:f2 (x1:f2) ($ interpolateAtCentroid x1))
903 (define interpolateAtCentroid:f3 (x1:f3) ($ interpolateAtCentroid x1))
904 (define interpolateAtCentroid:f4 (x1:f4) ($ interpolateAtCentroid x1))
905 (define interpolateAtSample:f (x1:f x2:i) ($ interpolateAtSample x1 x2))
906 (define interpolateAtSample:f2 (x1:f2 x2:i) ($ interpolateAtSample x1 x2))
907 (define interpolateAtSample:f3 (x1:f3 x2:i) ($ interpolateAtSample x1 x2))
908 (define interpolateAtSample:f4 (x1:f4 x2:i) ($ interpolateAtSample x1 x2))
909 (define interpolateAtOffset:f (x1:f x2:f2) ($ interpolateAtOffset x1 x2))
910 (define interpolateAtOffset:f2 (x1:f2 x2:f2) ($ interpolateAtOffset x1 x2))
911 (define interpolateAtOffset:f3 (x1:f3 x2:f2) ($ interpolateAtOffset x1 x2))
912 (define interpolateAtOffset:f4 (x1:f4 x2:f2) ($ interpolateAtOffset x1 x2))
7373 decl :: Builtin -> String
7474 decl Builtin { _defname = n, _deftype = (FuncType argtypes ret) }
7575 = "(define " ++ T.unpack n ++ ":" ++ show ret ++ " (" ++
76 intercalate ", " (map argstr $ zip [1::Int ..] argtypes) ++ ") " ++
76 intercalate " " (map argstr $ zip [1::Int ..] argtypes) ++ ") " ++
7777 "($ " ++ T.unpack n ++ " " ++
78 intercalate " " (map (\i -> "__x" ++ show i) [1..length argtypes])
78 intercalate " " (map (\i -> "x" ++ show i) [1..length argtypes])
7979 ++ "))"
80 where argstr (i, a) = "__x" ++ show i ++ ":" ++ show a
80 where argstr (i, a) = "x" ++ show i ++ ":" ++ show a
8181 decl _ = undefined
8282
8383 main :: IO ()
6969 , TypeInfo Float2Type "f2" "vec2"
7070 , TypeInfo Float3Type "f3" "vec3"
7171 , TypeInfo Float4Type "f4" "vec4"
72 , TypeInfo (FloatMatrix 2 2) "f2x2" "fmat2"
73 , TypeInfo (FloatMatrix 2 3) "f2x3" "fmat2x3"
74 , TypeInfo (FloatMatrix 2 4) "f2x4" "fmat2x4"
75 , TypeInfo (FloatMatrix 3 2) "f3x2" "fmat3x2"
76 , TypeInfo (FloatMatrix 3 3) "f3x3" "fmat3"
77 , TypeInfo (FloatMatrix 3 4) "f3x4" "fmat3x4"
78 , TypeInfo (FloatMatrix 4 2) "f4x2" "fmat4x2"
79 , TypeInfo (FloatMatrix 4 3) "f4x3" "fmat4x3"
80 , TypeInfo (FloatMatrix 4 2) "f4x4" "fmat4"
72 , TypeInfo (FloatMatrix 2 2) "f2x2" "mat2"
73 , TypeInfo (FloatMatrix 2 3) "f2x3" "mat2x3"
74 , TypeInfo (FloatMatrix 2 4) "f2x4" "mat2x4"
75 , TypeInfo (FloatMatrix 3 2) "f3x2" "mat3x2"
76 , TypeInfo (FloatMatrix 3 3) "f3x3" "mat3"
77 , TypeInfo (FloatMatrix 3 4) "f3x4" "mat3x4"
78 , TypeInfo (FloatMatrix 4 2) "f4x2" "mat4x2"
79 , TypeInfo (FloatMatrix 4 3) "f4x3" "mat4x3"
80 , TypeInfo (FloatMatrix 4 2) "f4x4" "mat4"
8181 , TypeInfo IntType "i" "int"
8282 , TypeInfo Int2Type "i2" "ivec2"
8383 , TypeInfo Int3Type "i3" "ivec3"
9393 , TypeInfo UIntType "u" "uint"
9494 , TypeInfo UInt2Type "u2" "uvec2"
9595 , TypeInfo UInt3Type "u3" "uvec3"
96 , TypeInfo UInt4Type" u4" "uvec4"
96 , TypeInfo UInt4Type "u4" "uvec4"
9797 ]
9898
9999 delmap :: Map.Map T.Text TypeInfo