Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / core__fixed_ints.sep.1.c
1 #include "core__fixed_ints.sep.0.h"
2 /* method fixed_ints$Float$to_i8 for (self: Float): Int8 */
3 int8_t core__fixed_ints___Float___Numeric__to_i8(double self) {
4 int8_t var /* : Int8 */;
5 int8_t var1 /* : Int8 */;
6 var1 = (int8_t)self;
7 var = var1;
8 goto RET_LABEL;
9 RET_LABEL:;
10 return var;
11 }
12 /* method fixed_ints$Float$to_i8 for (self: Numeric): Int8 */
13 int8_t VIRTUAL_core__fixed_ints___Float___Numeric__to_i8(val* self) {
14 int8_t var /* : Int8 */;
15 int8_t var1 /* : Int8 */;
16 double var3 /* : Float */;
17 int8_t var4 /* : Int8 */;
18 { /* Inline fixed_ints$Float$to_i8 (self) on <self:Numeric(Float)> */
19 var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
20 var4 = (int8_t)var3;
21 var1 = var4;
22 goto RET_LABEL2;
23 RET_LABEL2:(void)0;
24 }
25 var = var1;
26 RET_LABEL:;
27 return var;
28 }
29 /* method fixed_ints$Float$to_i16 for (self: Float): Int16 */
30 int16_t core__fixed_ints___Float___Numeric__to_i16(double self) {
31 int16_t var /* : Int16 */;
32 int16_t var1 /* : Int16 */;
33 var1 = (int16_t)self;
34 var = var1;
35 goto RET_LABEL;
36 RET_LABEL:;
37 return var;
38 }
39 /* method fixed_ints$Float$to_i16 for (self: Numeric): Int16 */
40 int16_t VIRTUAL_core__fixed_ints___Float___Numeric__to_i16(val* self) {
41 int16_t var /* : Int16 */;
42 int16_t var1 /* : Int16 */;
43 double var3 /* : Float */;
44 int16_t var4 /* : Int16 */;
45 { /* Inline fixed_ints$Float$to_i16 (self) on <self:Numeric(Float)> */
46 var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
47 var4 = (int16_t)var3;
48 var1 = var4;
49 goto RET_LABEL2;
50 RET_LABEL2:(void)0;
51 }
52 var = var1;
53 RET_LABEL:;
54 return var;
55 }
56 /* method fixed_ints$Float$to_u16 for (self: Float): UInt16 */
57 uint16_t core__fixed_ints___Float___Numeric__to_u16(double self) {
58 uint16_t var /* : UInt16 */;
59 uint16_t var1 /* : UInt16 */;
60 var1 = (uint16_t)self;
61 var = var1;
62 goto RET_LABEL;
63 RET_LABEL:;
64 return var;
65 }
66 /* method fixed_ints$Float$to_u16 for (self: Numeric): UInt16 */
67 uint16_t VIRTUAL_core__fixed_ints___Float___Numeric__to_u16(val* self) {
68 uint16_t var /* : UInt16 */;
69 uint16_t var1 /* : UInt16 */;
70 double var3 /* : Float */;
71 uint16_t var4 /* : UInt16 */;
72 { /* Inline fixed_ints$Float$to_u16 (self) on <self:Numeric(Float)> */
73 var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
74 var4 = (uint16_t)var3;
75 var1 = var4;
76 goto RET_LABEL2;
77 RET_LABEL2:(void)0;
78 }
79 var = var1;
80 RET_LABEL:;
81 return var;
82 }
83 /* method fixed_ints$Float$to_i32 for (self: Float): Int32 */
84 int32_t core__fixed_ints___Float___Numeric__to_i32(double self) {
85 int32_t var /* : Int32 */;
86 int32_t var1 /* : Int32 */;
87 var1 = (int32_t)self;
88 var = var1;
89 goto RET_LABEL;
90 RET_LABEL:;
91 return var;
92 }
93 /* method fixed_ints$Float$to_i32 for (self: Numeric): Int32 */
94 int32_t VIRTUAL_core__fixed_ints___Float___Numeric__to_i32(val* self) {
95 int32_t var /* : Int32 */;
96 int32_t var1 /* : Int32 */;
97 double var3 /* : Float */;
98 int32_t var4 /* : Int32 */;
99 { /* Inline fixed_ints$Float$to_i32 (self) on <self:Numeric(Float)> */
100 var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
101 var4 = (int32_t)var3;
102 var1 = var4;
103 goto RET_LABEL2;
104 RET_LABEL2:(void)0;
105 }
106 var = var1;
107 RET_LABEL:;
108 return var;
109 }
110 /* method fixed_ints$Float$to_u32 for (self: Float): UInt32 */
111 uint32_t core__fixed_ints___Float___Numeric__to_u32(double self) {
112 uint32_t var /* : UInt32 */;
113 uint32_t var1 /* : UInt32 */;
114 var1 = (uint32_t)self;
115 var = var1;
116 goto RET_LABEL;
117 RET_LABEL:;
118 return var;
119 }
120 /* method fixed_ints$Float$to_u32 for (self: Numeric): UInt32 */
121 uint32_t VIRTUAL_core__fixed_ints___Float___Numeric__to_u32(val* self) {
122 uint32_t var /* : UInt32 */;
123 uint32_t var1 /* : UInt32 */;
124 double var3 /* : Float */;
125 uint32_t var4 /* : UInt32 */;
126 { /* Inline fixed_ints$Float$to_u32 (self) on <self:Numeric(Float)> */
127 var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
128 var4 = (uint32_t)var3;
129 var1 = var4;
130 goto RET_LABEL2;
131 RET_LABEL2:(void)0;
132 }
133 var = var1;
134 RET_LABEL:;
135 return var;
136 }
137 /* method fixed_ints$Byte$to_i8 for (self: Byte): Int8 */
138 int8_t core__fixed_ints___Byte___Numeric__to_i8(unsigned char self) {
139 int8_t var /* : Int8 */;
140 int8_t var1 /* : Int8 */;
141 var1 = (int8_t)self;
142 var = var1;
143 goto RET_LABEL;
144 RET_LABEL:;
145 return var;
146 }
147 /* method fixed_ints$Byte$to_i8 for (self: Numeric): Int8 */
148 int8_t VIRTUAL_core__fixed_ints___Byte___Numeric__to_i8(val* self) {
149 int8_t var /* : Int8 */;
150 int8_t var1 /* : Int8 */;
151 unsigned char var3 /* : Byte */;
152 int8_t var4 /* : Int8 */;
153 { /* Inline fixed_ints$Byte$to_i8 (self) on <self:Numeric(Byte)> */
154 var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
155 var4 = (int8_t)var3;
156 var1 = var4;
157 goto RET_LABEL2;
158 RET_LABEL2:(void)0;
159 }
160 var = var1;
161 RET_LABEL:;
162 return var;
163 }
164 /* method fixed_ints$Byte$to_i16 for (self: Byte): Int16 */
165 int16_t core__fixed_ints___Byte___Numeric__to_i16(unsigned char self) {
166 int16_t var /* : Int16 */;
167 int16_t var1 /* : Int16 */;
168 var1 = (int16_t)self;
169 var = var1;
170 goto RET_LABEL;
171 RET_LABEL:;
172 return var;
173 }
174 /* method fixed_ints$Byte$to_i16 for (self: Numeric): Int16 */
175 int16_t VIRTUAL_core__fixed_ints___Byte___Numeric__to_i16(val* self) {
176 int16_t var /* : Int16 */;
177 int16_t var1 /* : Int16 */;
178 unsigned char var3 /* : Byte */;
179 int16_t var4 /* : Int16 */;
180 { /* Inline fixed_ints$Byte$to_i16 (self) on <self:Numeric(Byte)> */
181 var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
182 var4 = (int16_t)var3;
183 var1 = var4;
184 goto RET_LABEL2;
185 RET_LABEL2:(void)0;
186 }
187 var = var1;
188 RET_LABEL:;
189 return var;
190 }
191 /* method fixed_ints$Byte$to_u16 for (self: Byte): UInt16 */
192 uint16_t core__fixed_ints___Byte___Numeric__to_u16(unsigned char self) {
193 uint16_t var /* : UInt16 */;
194 uint16_t var1 /* : UInt16 */;
195 var1 = (uint16_t)self;
196 var = var1;
197 goto RET_LABEL;
198 RET_LABEL:;
199 return var;
200 }
201 /* method fixed_ints$Byte$to_u16 for (self: Numeric): UInt16 */
202 uint16_t VIRTUAL_core__fixed_ints___Byte___Numeric__to_u16(val* self) {
203 uint16_t var /* : UInt16 */;
204 uint16_t var1 /* : UInt16 */;
205 unsigned char var3 /* : Byte */;
206 uint16_t var4 /* : UInt16 */;
207 { /* Inline fixed_ints$Byte$to_u16 (self) on <self:Numeric(Byte)> */
208 var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
209 var4 = (uint16_t)var3;
210 var1 = var4;
211 goto RET_LABEL2;
212 RET_LABEL2:(void)0;
213 }
214 var = var1;
215 RET_LABEL:;
216 return var;
217 }
218 /* method fixed_ints$Byte$to_i32 for (self: Byte): Int32 */
219 int32_t core__fixed_ints___Byte___Numeric__to_i32(unsigned char self) {
220 int32_t var /* : Int32 */;
221 int32_t var1 /* : Int32 */;
222 var1 = (int32_t)self;
223 var = var1;
224 goto RET_LABEL;
225 RET_LABEL:;
226 return var;
227 }
228 /* method fixed_ints$Byte$to_i32 for (self: Numeric): Int32 */
229 int32_t VIRTUAL_core__fixed_ints___Byte___Numeric__to_i32(val* self) {
230 int32_t var /* : Int32 */;
231 int32_t var1 /* : Int32 */;
232 unsigned char var3 /* : Byte */;
233 int32_t var4 /* : Int32 */;
234 { /* Inline fixed_ints$Byte$to_i32 (self) on <self:Numeric(Byte)> */
235 var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
236 var4 = (int32_t)var3;
237 var1 = var4;
238 goto RET_LABEL2;
239 RET_LABEL2:(void)0;
240 }
241 var = var1;
242 RET_LABEL:;
243 return var;
244 }
245 /* method fixed_ints$Byte$to_u32 for (self: Byte): UInt32 */
246 uint32_t core__fixed_ints___Byte___Numeric__to_u32(unsigned char self) {
247 uint32_t var /* : UInt32 */;
248 uint32_t var1 /* : UInt32 */;
249 var1 = (uint32_t)self;
250 var = var1;
251 goto RET_LABEL;
252 RET_LABEL:;
253 return var;
254 }
255 /* method fixed_ints$Byte$to_u32 for (self: Numeric): UInt32 */
256 uint32_t VIRTUAL_core__fixed_ints___Byte___Numeric__to_u32(val* self) {
257 uint32_t var /* : UInt32 */;
258 uint32_t var1 /* : UInt32 */;
259 unsigned char var3 /* : Byte */;
260 uint32_t var4 /* : UInt32 */;
261 { /* Inline fixed_ints$Byte$to_u32 (self) on <self:Numeric(Byte)> */
262 var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
263 var4 = (uint32_t)var3;
264 var1 = var4;
265 goto RET_LABEL2;
266 RET_LABEL2:(void)0;
267 }
268 var = var1;
269 RET_LABEL:;
270 return var;
271 }
272 /* method fixed_ints$Int$to_i8 for (self: Int): Int8 */
273 int8_t core__fixed_ints___Int___Numeric__to_i8(long self) {
274 int8_t var /* : Int8 */;
275 int8_t var1 /* : Int8 */;
276 var1 = (int8_t)self;
277 var = var1;
278 goto RET_LABEL;
279 RET_LABEL:;
280 return var;
281 }
282 /* method fixed_ints$Int$to_i8 for (self: Numeric): Int8 */
283 int8_t VIRTUAL_core__fixed_ints___Int___Numeric__to_i8(val* self) {
284 int8_t var /* : Int8 */;
285 int8_t var1 /* : Int8 */;
286 long var3 /* : Int */;
287 int8_t var4 /* : Int8 */;
288 { /* Inline fixed_ints$Int$to_i8 (self) on <self:Numeric(Int)> */
289 var3 = (long)(self)>>2;
290 var4 = (int8_t)var3;
291 var1 = var4;
292 goto RET_LABEL2;
293 RET_LABEL2:(void)0;
294 }
295 var = var1;
296 RET_LABEL:;
297 return var;
298 }
299 /* method fixed_ints$Int$to_i16 for (self: Int): Int16 */
300 int16_t core__fixed_ints___Int___Numeric__to_i16(long self) {
301 int16_t var /* : Int16 */;
302 int16_t var1 /* : Int16 */;
303 var1 = (int16_t)self;
304 var = var1;
305 goto RET_LABEL;
306 RET_LABEL:;
307 return var;
308 }
309 /* method fixed_ints$Int$to_i16 for (self: Numeric): Int16 */
310 int16_t VIRTUAL_core__fixed_ints___Int___Numeric__to_i16(val* self) {
311 int16_t var /* : Int16 */;
312 int16_t var1 /* : Int16 */;
313 long var3 /* : Int */;
314 int16_t var4 /* : Int16 */;
315 { /* Inline fixed_ints$Int$to_i16 (self) on <self:Numeric(Int)> */
316 var3 = (long)(self)>>2;
317 var4 = (int16_t)var3;
318 var1 = var4;
319 goto RET_LABEL2;
320 RET_LABEL2:(void)0;
321 }
322 var = var1;
323 RET_LABEL:;
324 return var;
325 }
326 /* method fixed_ints$Int$to_u16 for (self: Int): UInt16 */
327 uint16_t core__fixed_ints___Int___Numeric__to_u16(long self) {
328 uint16_t var /* : UInt16 */;
329 uint16_t var1 /* : UInt16 */;
330 var1 = (uint16_t)self;
331 var = var1;
332 goto RET_LABEL;
333 RET_LABEL:;
334 return var;
335 }
336 /* method fixed_ints$Int$to_u16 for (self: Numeric): UInt16 */
337 uint16_t VIRTUAL_core__fixed_ints___Int___Numeric__to_u16(val* self) {
338 uint16_t var /* : UInt16 */;
339 uint16_t var1 /* : UInt16 */;
340 long var3 /* : Int */;
341 uint16_t var4 /* : UInt16 */;
342 { /* Inline fixed_ints$Int$to_u16 (self) on <self:Numeric(Int)> */
343 var3 = (long)(self)>>2;
344 var4 = (uint16_t)var3;
345 var1 = var4;
346 goto RET_LABEL2;
347 RET_LABEL2:(void)0;
348 }
349 var = var1;
350 RET_LABEL:;
351 return var;
352 }
353 /* method fixed_ints$Int$to_i32 for (self: Int): Int32 */
354 int32_t core__fixed_ints___Int___Numeric__to_i32(long self) {
355 int32_t var /* : Int32 */;
356 int32_t var1 /* : Int32 */;
357 var1 = (int32_t)self;
358 var = var1;
359 goto RET_LABEL;
360 RET_LABEL:;
361 return var;
362 }
363 /* method fixed_ints$Int$to_i32 for (self: Numeric): Int32 */
364 int32_t VIRTUAL_core__fixed_ints___Int___Numeric__to_i32(val* self) {
365 int32_t var /* : Int32 */;
366 int32_t var1 /* : Int32 */;
367 long var3 /* : Int */;
368 int32_t var4 /* : Int32 */;
369 { /* Inline fixed_ints$Int$to_i32 (self) on <self:Numeric(Int)> */
370 var3 = (long)(self)>>2;
371 var4 = (int32_t)var3;
372 var1 = var4;
373 goto RET_LABEL2;
374 RET_LABEL2:(void)0;
375 }
376 var = var1;
377 RET_LABEL:;
378 return var;
379 }
380 /* method fixed_ints$Int$to_u32 for (self: Int): UInt32 */
381 uint32_t core__fixed_ints___Int___Numeric__to_u32(long self) {
382 uint32_t var /* : UInt32 */;
383 uint32_t var1 /* : UInt32 */;
384 var1 = (uint32_t)self;
385 var = var1;
386 goto RET_LABEL;
387 RET_LABEL:;
388 return var;
389 }
390 /* method fixed_ints$Int$to_u32 for (self: Numeric): UInt32 */
391 uint32_t VIRTUAL_core__fixed_ints___Int___Numeric__to_u32(val* self) {
392 uint32_t var /* : UInt32 */;
393 uint32_t var1 /* : UInt32 */;
394 long var3 /* : Int */;
395 uint32_t var4 /* : UInt32 */;
396 { /* Inline fixed_ints$Int$to_u32 (self) on <self:Numeric(Int)> */
397 var3 = (long)(self)>>2;
398 var4 = (uint32_t)var3;
399 var1 = var4;
400 goto RET_LABEL2;
401 RET_LABEL2:(void)0;
402 }
403 var = var1;
404 RET_LABEL:;
405 return var;
406 }
407 /* method fixed_ints$Int8$successor for (self: Int8, Int): Int8 */
408 int8_t core___core__Int8___core__kernel__Discrete__successor(int8_t self, long p0) {
409 int8_t var /* : Int8 */;
410 long var_i /* var i: Int */;
411 int8_t var1 /* : Int8 */;
412 int8_t var3 /* : Int8 */;
413 int8_t var4 /* : Int8 */;
414 short int var6 /* : Bool */;
415 int cltype;
416 int idtype;
417 const char* var_class_name;
418 int8_t var7 /* : Int8 */;
419 var_i = p0;
420 {
421 { /* Inline fixed_ints$Int$to_i8 (var_i) on <var_i:Int> */
422 var3 = (int8_t)var_i;
423 var1 = var3;
424 goto RET_LABEL2;
425 RET_LABEL2:(void)0;
426 }
427 }
428 {
429 { /* Inline fixed_ints$Int8$+ (self,var1) on <self:Int8> */
430 /* Covariant cast for argument 0 (i) <var1:Int8> isa OTHER */
431 /* <var1:Int8> isa OTHER */
432 var6 = 1; /* easy <var1:Int8> isa OTHER*/
433 if (unlikely(!var6)) {
434 var_class_name = type_core__Int8.name;
435 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
436 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 122);
437 fatal_exit(1);
438 }
439 var7 = self + var1;
440 var4 = var7;
441 goto RET_LABEL5;
442 RET_LABEL5:(void)0;
443 }
444 }
445 var = var4;
446 goto RET_LABEL;
447 RET_LABEL:;
448 return var;
449 }
450 /* method fixed_ints$Int8$successor for (self: Discrete, Int): Discrete */
451 val* VIRTUAL_core___core__Int8___core__kernel__Discrete__successor(val* self, long p0) {
452 val* var /* : Discrete */;
453 int8_t var1 /* : Int8 */;
454 int8_t var2 /* : Int8 */;
455 val* var3 /* : Discrete */;
456 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Discrete to Int8 */;
457 var1 = core___core__Int8___core__kernel__Discrete__successor(var2, p0);
458 var3 = BOX_core__Int8(var1); /* autobox from Int8 to Discrete */
459 var = var3;
460 RET_LABEL:;
461 return var;
462 }
463 /* method fixed_ints$Int8$object_id for (self: Int8): Int */
464 long core___core__Int8___core__kernel__Object__object_id(int8_t self) {
465 long var /* : Int */;
466 long var1 /* : Int */;
467 var1 = (long)self;
468 var = var1;
469 goto RET_LABEL;
470 RET_LABEL:;
471 return var;
472 }
473 /* method fixed_ints$Int8$object_id for (self: Object): Int */
474 long VIRTUAL_core___core__Int8___core__kernel__Object__object_id(val* self) {
475 long var /* : Int */;
476 long var1 /* : Int */;
477 int8_t var3 /* : Int8 */;
478 long var4 /* : Int */;
479 { /* Inline fixed_ints$Int8$object_id (self) on <self:Object(Int8)> */
480 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Object to Int8 */;
481 var4 = (long)var3;
482 var1 = var4;
483 goto RET_LABEL2;
484 RET_LABEL2:(void)0;
485 }
486 var = var1;
487 RET_LABEL:;
488 return var;
489 }
490 /* method fixed_ints$Int8$hash for (self: Int8): Int */
491 long core___core__Int8___core__kernel__Object__hash(int8_t self) {
492 long var /* : Int */;
493 long var1 /* : Int */;
494 long var3 /* : Int */;
495 {
496 { /* Inline fixed_ints$Int8$to_i (self) on <self:Int8> */
497 var3 = (long)self;
498 var1 = var3;
499 goto RET_LABEL2;
500 RET_LABEL2:(void)0;
501 }
502 }
503 var = var1;
504 goto RET_LABEL;
505 RET_LABEL:;
506 return var;
507 }
508 /* method fixed_ints$Int8$hash for (self: Object): Int */
509 long VIRTUAL_core___core__Int8___core__kernel__Object__hash(val* self) {
510 long var /* : Int */;
511 long var1 /* : Int */;
512 int8_t var2 /* : Int8 */;
513 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Object to Int8 */;
514 var1 = core___core__Int8___core__kernel__Object__hash(var2);
515 var = var1;
516 RET_LABEL:;
517 return var;
518 }
519 /* method fixed_ints$Int8$== for (self: Int8, nullable Object): Bool */
520 short int core___core__Int8___core__kernel__Object___61d_61d(int8_t self, val* p0) {
521 short int var /* : Bool */;
522 short int var1 /* : Bool */;
523 int8_t var2 /* : Int8 */;
524 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int8)) {
525 var2 = ((struct instance_core__Int8*)p0)->value; /* autounbox from nullable Object to Int8 */;
526 var1 = var2 == self;
527 } else var1 = 0;
528 var = var1;
529 goto RET_LABEL;
530 RET_LABEL:;
531 return var;
532 }
533 /* method fixed_ints$Int8$== for (self: Object, nullable Object): Bool */
534 short int VIRTUAL_core___core__Int8___core__kernel__Object___61d_61d(val* self, val* p0) {
535 short int var /* : Bool */;
536 short int var1 /* : Bool */;
537 short int var3 /* : Bool */;
538 { /* Inline fixed_ints$Int8$== (self,p0) on <self:Object(Int8)> */
539 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int8*)self)->value == ((struct instance_core__Int8*)p0)->value);
540 var1 = var3;
541 goto RET_LABEL2;
542 RET_LABEL2:(void)0;
543 }
544 var = var1;
545 RET_LABEL:;
546 return var;
547 }
548 /* method fixed_ints$Int8$!= for (self: Int8, nullable Object): Bool */
549 short int core___core__Int8___core__kernel__Object___33d_61d(int8_t self, val* p0) {
550 short int var /* : Bool */;
551 short int var1 /* : Bool */;
552 int8_t var2 /* : Int8 */;
553 short int var3 /* : Bool */;
554 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int8)) {
555 var2 = ((struct instance_core__Int8*)p0)->value; /* autounbox from nullable Object to Int8 */;
556 var1 = var2 == self;
557 } else var1 = 0;
558 var3 = !var1;
559 var = var3;
560 goto RET_LABEL;
561 RET_LABEL:;
562 return var;
563 }
564 /* method fixed_ints$Int8$!= for (self: Object, nullable Object): Bool */
565 short int VIRTUAL_core___core__Int8___core__kernel__Object___33d_61d(val* self, val* p0) {
566 short int var /* : Bool */;
567 short int var1 /* : Bool */;
568 short int var3 /* : Bool */;
569 short int var4 /* : Bool */;
570 { /* Inline fixed_ints$Int8$!= (self,p0) on <self:Object(Int8)> */
571 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int8*)self)->value == ((struct instance_core__Int8*)p0)->value);
572 var4 = !var3;
573 var1 = var4;
574 goto RET_LABEL2;
575 RET_LABEL2:(void)0;
576 }
577 var = var1;
578 RET_LABEL:;
579 return var;
580 }
581 /* method fixed_ints$Int8$<= for (self: Int8, Int8): Bool */
582 short int core___core__Int8___core__kernel__Comparable___60d_61d(int8_t self, int8_t p0) {
583 short int var /* : Bool */;
584 short int var1 /* : Bool */;
585 int cltype;
586 int idtype;
587 const char* var_class_name;
588 short int var2 /* : Bool */;
589 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
590 /* <p0:Int8> isa OTHER */
591 var1 = 1; /* easy <p0:Int8> isa OTHER*/
592 if (unlikely(!var1)) {
593 var_class_name = type_core__Int8.name;
594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
595 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 118);
596 fatal_exit(1);
597 }
598 var2 = self <= p0;
599 var = var2;
600 goto RET_LABEL;
601 RET_LABEL:;
602 return var;
603 }
604 /* method fixed_ints$Int8$<= for (self: Comparable, Comparable): Bool */
605 short int VIRTUAL_core___core__Int8___core__kernel__Comparable___60d_61d(val* self, val* p0) {
606 short int var /* : Bool */;
607 short int var1 /* : Bool */;
608 short int var3 /* : Bool */;
609 int cltype;
610 int idtype;
611 const struct type* type_struct;
612 const char* var_class_name;
613 int8_t var4 /* : Int8 */;
614 int8_t var5 /* : Int8 */;
615 short int var6 /* : Bool */;
616 { /* Inline fixed_ints$Int8$<= (self,p0) on <self:Comparable(Int8)> */
617 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
618 /* <p0:Comparable> isa OTHER */
619 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
620 cltype = type_struct->color;
621 idtype = type_struct->id;
622 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
623 var3 = 0;
624 } else {
625 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
626 }
627 if (unlikely(!var3)) {
628 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
629 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
630 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 118);
631 fatal_exit(1);
632 }
633 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
634 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
635 var6 = var4 <= var5;
636 var1 = var6;
637 goto RET_LABEL2;
638 RET_LABEL2:(void)0;
639 }
640 var = var1;
641 RET_LABEL:;
642 return var;
643 }
644 /* method fixed_ints$Int8$< for (self: Int8, Int8): Bool */
645 short int core___core__Int8___core__kernel__Comparable___60d(int8_t self, int8_t p0) {
646 short int var /* : Bool */;
647 short int var1 /* : Bool */;
648 int cltype;
649 int idtype;
650 const char* var_class_name;
651 short int var2 /* : Bool */;
652 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
653 /* <p0:Int8> isa OTHER */
654 var1 = 1; /* easy <p0:Int8> isa OTHER*/
655 if (unlikely(!var1)) {
656 var_class_name = type_core__Int8.name;
657 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
658 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
659 fatal_exit(1);
660 }
661 var2 = self < p0;
662 var = var2;
663 goto RET_LABEL;
664 RET_LABEL:;
665 return var;
666 }
667 /* method fixed_ints$Int8$< for (self: Comparable, Comparable): Bool */
668 short int VIRTUAL_core___core__Int8___core__kernel__Comparable___60d(val* self, val* p0) {
669 short int var /* : Bool */;
670 short int var1 /* : Bool */;
671 short int var3 /* : Bool */;
672 int cltype;
673 int idtype;
674 const struct type* type_struct;
675 const char* var_class_name;
676 int8_t var4 /* : Int8 */;
677 int8_t var5 /* : Int8 */;
678 short int var6 /* : Bool */;
679 { /* Inline fixed_ints$Int8$< (self,p0) on <self:Comparable(Int8)> */
680 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
681 /* <p0:Comparable> isa OTHER */
682 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
683 cltype = type_struct->color;
684 idtype = type_struct->id;
685 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
686 var3 = 0;
687 } else {
688 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
689 }
690 if (unlikely(!var3)) {
691 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
692 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
693 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
694 fatal_exit(1);
695 }
696 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
697 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
698 var6 = var4 < var5;
699 var1 = var6;
700 goto RET_LABEL2;
701 RET_LABEL2:(void)0;
702 }
703 var = var1;
704 RET_LABEL:;
705 return var;
706 }
707 /* method fixed_ints$Int8$>= for (self: Int8, Int8): Bool */
708 short int core___core__Int8___core__kernel__Comparable___62d_61d(int8_t self, int8_t p0) {
709 short int var /* : Bool */;
710 short int var1 /* : Bool */;
711 int cltype;
712 int idtype;
713 const char* var_class_name;
714 short int var2 /* : Bool */;
715 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
716 /* <p0:Int8> isa OTHER */
717 var1 = 1; /* easy <p0:Int8> isa OTHER*/
718 if (unlikely(!var1)) {
719 var_class_name = type_core__Int8.name;
720 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
721 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 120);
722 fatal_exit(1);
723 }
724 var2 = self >= p0;
725 var = var2;
726 goto RET_LABEL;
727 RET_LABEL:;
728 return var;
729 }
730 /* method fixed_ints$Int8$>= for (self: Comparable, Comparable): Bool */
731 short int VIRTUAL_core___core__Int8___core__kernel__Comparable___62d_61d(val* self, val* p0) {
732 short int var /* : Bool */;
733 short int var1 /* : Bool */;
734 short int var3 /* : Bool */;
735 int cltype;
736 int idtype;
737 const struct type* type_struct;
738 const char* var_class_name;
739 int8_t var4 /* : Int8 */;
740 int8_t var5 /* : Int8 */;
741 short int var6 /* : Bool */;
742 { /* Inline fixed_ints$Int8$>= (self,p0) on <self:Comparable(Int8)> */
743 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
744 /* <p0:Comparable> isa OTHER */
745 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
746 cltype = type_struct->color;
747 idtype = type_struct->id;
748 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
749 var3 = 0;
750 } else {
751 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
752 }
753 if (unlikely(!var3)) {
754 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
755 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
756 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 120);
757 fatal_exit(1);
758 }
759 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
760 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
761 var6 = var4 >= var5;
762 var1 = var6;
763 goto RET_LABEL2;
764 RET_LABEL2:(void)0;
765 }
766 var = var1;
767 RET_LABEL:;
768 return var;
769 }
770 /* method fixed_ints$Int8$> for (self: Int8, Int8): Bool */
771 short int core___core__Int8___core__kernel__Comparable___62d(int8_t self, int8_t p0) {
772 short int var /* : Bool */;
773 short int var1 /* : Bool */;
774 int cltype;
775 int idtype;
776 const char* var_class_name;
777 short int var2 /* : Bool */;
778 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
779 /* <p0:Int8> isa OTHER */
780 var1 = 1; /* easy <p0:Int8> isa OTHER*/
781 if (unlikely(!var1)) {
782 var_class_name = type_core__Int8.name;
783 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
784 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 121);
785 fatal_exit(1);
786 }
787 var2 = self > p0;
788 var = var2;
789 goto RET_LABEL;
790 RET_LABEL:;
791 return var;
792 }
793 /* method fixed_ints$Int8$> for (self: Comparable, Comparable): Bool */
794 short int VIRTUAL_core___core__Int8___core__kernel__Comparable___62d(val* self, val* p0) {
795 short int var /* : Bool */;
796 short int var1 /* : Bool */;
797 short int var3 /* : Bool */;
798 int cltype;
799 int idtype;
800 const struct type* type_struct;
801 const char* var_class_name;
802 int8_t var4 /* : Int8 */;
803 int8_t var5 /* : Int8 */;
804 short int var6 /* : Bool */;
805 { /* Inline fixed_ints$Int8$> (self,p0) on <self:Comparable(Int8)> */
806 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
807 /* <p0:Comparable> isa OTHER */
808 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
809 cltype = type_struct->color;
810 idtype = type_struct->id;
811 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
812 var3 = 0;
813 } else {
814 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
815 }
816 if (unlikely(!var3)) {
817 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
818 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
819 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 121);
820 fatal_exit(1);
821 }
822 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
823 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
824 var6 = var4 > var5;
825 var1 = var6;
826 goto RET_LABEL2;
827 RET_LABEL2:(void)0;
828 }
829 var = var1;
830 RET_LABEL:;
831 return var;
832 }
833 /* method fixed_ints$Int8$+ for (self: Int8, Int8): Int8 */
834 int8_t core___core__Int8___core__kernel__Numeric___43d(int8_t self, int8_t p0) {
835 int8_t var /* : Int8 */;
836 short int var1 /* : Bool */;
837 int cltype;
838 int idtype;
839 const char* var_class_name;
840 int8_t var2 /* : Int8 */;
841 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
842 /* <p0:Int8> isa OTHER */
843 var1 = 1; /* easy <p0:Int8> isa OTHER*/
844 if (unlikely(!var1)) {
845 var_class_name = type_core__Int8.name;
846 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
847 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 122);
848 fatal_exit(1);
849 }
850 var2 = self + p0;
851 var = var2;
852 goto RET_LABEL;
853 RET_LABEL:;
854 return var;
855 }
856 /* method fixed_ints$Int8$+ for (self: Numeric, Numeric): Numeric */
857 val* VIRTUAL_core___core__Int8___core__kernel__Numeric___43d(val* self, val* p0) {
858 val* var /* : Numeric */;
859 int8_t var1 /* : Int8 */;
860 short int var3 /* : Bool */;
861 int cltype;
862 int idtype;
863 const struct type* type_struct;
864 const char* var_class_name;
865 int8_t var4 /* : Int8 */;
866 int8_t var5 /* : Int8 */;
867 int8_t var6 /* : Int8 */;
868 val* var7 /* : Numeric */;
869 { /* Inline fixed_ints$Int8$+ (self,p0) on <self:Numeric(Int8)> */
870 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
871 /* <p0:Numeric> isa OTHER */
872 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
873 cltype = type_struct->color;
874 idtype = type_struct->id;
875 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
876 var3 = 0;
877 } else {
878 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
879 }
880 if (unlikely(!var3)) {
881 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
882 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
883 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 122);
884 fatal_exit(1);
885 }
886 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
887 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Numeric to Int8 */;
888 var6 = var4 + var5;
889 var1 = var6;
890 goto RET_LABEL2;
891 RET_LABEL2:(void)0;
892 }
893 var7 = BOX_core__Int8(var1); /* autobox from Int8 to Numeric */
894 var = var7;
895 RET_LABEL:;
896 return var;
897 }
898 /* method fixed_ints$Int8$unary - for (self: Int8): Int8 */
899 int8_t core___core__Int8___core__kernel__Numeric__unary_32d_45d(int8_t self) {
900 int8_t var /* : Int8 */;
901 int8_t var1 /* : Int8 */;
902 var1 = -self;
903 var = var1;
904 goto RET_LABEL;
905 RET_LABEL:;
906 return var;
907 }
908 /* method fixed_ints$Int8$unary - for (self: Numeric): Numeric */
909 val* VIRTUAL_core___core__Int8___core__kernel__Numeric__unary_32d_45d(val* self) {
910 val* var /* : Numeric */;
911 int8_t var1 /* : Int8 */;
912 int8_t var3 /* : Int8 */;
913 int8_t var4 /* : Int8 */;
914 val* var5 /* : Numeric */;
915 { /* Inline fixed_ints$Int8$unary - (self) on <self:Numeric(Int8)> */
916 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
917 var4 = -var3;
918 var1 = var4;
919 goto RET_LABEL2;
920 RET_LABEL2:(void)0;
921 }
922 var5 = BOX_core__Int8(var1); /* autobox from Int8 to Numeric */
923 var = var5;
924 RET_LABEL:;
925 return var;
926 }
927 /* method fixed_ints$Int8$- for (self: Int8, Int8): Int8 */
928 int8_t core___core__Int8___core__kernel__Numeric___45d(int8_t self, int8_t p0) {
929 int8_t var /* : Int8 */;
930 short int var1 /* : Bool */;
931 int cltype;
932 int idtype;
933 const char* var_class_name;
934 int8_t var2 /* : Int8 */;
935 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
936 /* <p0:Int8> isa OTHER */
937 var1 = 1; /* easy <p0:Int8> isa OTHER*/
938 if (unlikely(!var1)) {
939 var_class_name = type_core__Int8.name;
940 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
941 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 127);
942 fatal_exit(1);
943 }
944 var2 = self - p0;
945 var = var2;
946 goto RET_LABEL;
947 RET_LABEL:;
948 return var;
949 }
950 /* method fixed_ints$Int8$- for (self: Numeric, Numeric): Numeric */
951 val* VIRTUAL_core___core__Int8___core__kernel__Numeric___45d(val* self, val* p0) {
952 val* var /* : Numeric */;
953 int8_t var1 /* : Int8 */;
954 short int var3 /* : Bool */;
955 int cltype;
956 int idtype;
957 const struct type* type_struct;
958 const char* var_class_name;
959 int8_t var4 /* : Int8 */;
960 int8_t var5 /* : Int8 */;
961 int8_t var6 /* : Int8 */;
962 val* var7 /* : Numeric */;
963 { /* Inline fixed_ints$Int8$- (self,p0) on <self:Numeric(Int8)> */
964 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
965 /* <p0:Numeric> isa OTHER */
966 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
967 cltype = type_struct->color;
968 idtype = type_struct->id;
969 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
970 var3 = 0;
971 } else {
972 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
973 }
974 if (unlikely(!var3)) {
975 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
976 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
977 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 127);
978 fatal_exit(1);
979 }
980 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
981 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Numeric to Int8 */;
982 var6 = var4 - var5;
983 var1 = var6;
984 goto RET_LABEL2;
985 RET_LABEL2:(void)0;
986 }
987 var7 = BOX_core__Int8(var1); /* autobox from Int8 to Numeric */
988 var = var7;
989 RET_LABEL:;
990 return var;
991 }
992 /* method fixed_ints$Int8$* for (self: Int8, Int8): Int8 */
993 int8_t core___core__Int8___core__kernel__Numeric___42d(int8_t self, int8_t p0) {
994 int8_t var /* : Int8 */;
995 short int var1 /* : Bool */;
996 int cltype;
997 int idtype;
998 const char* var_class_name;
999 int8_t var2 /* : Int8 */;
1000 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
1001 /* <p0:Int8> isa OTHER */
1002 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1003 if (unlikely(!var1)) {
1004 var_class_name = type_core__Int8.name;
1005 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1006 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 128);
1007 fatal_exit(1);
1008 }
1009 var2 = self * p0;
1010 var = var2;
1011 goto RET_LABEL;
1012 RET_LABEL:;
1013 return var;
1014 }
1015 /* method fixed_ints$Int8$* for (self: Numeric, Numeric): Numeric */
1016 val* VIRTUAL_core___core__Int8___core__kernel__Numeric___42d(val* self, val* p0) {
1017 val* var /* : Numeric */;
1018 int8_t var1 /* : Int8 */;
1019 short int var3 /* : Bool */;
1020 int cltype;
1021 int idtype;
1022 const struct type* type_struct;
1023 const char* var_class_name;
1024 int8_t var4 /* : Int8 */;
1025 int8_t var5 /* : Int8 */;
1026 int8_t var6 /* : Int8 */;
1027 val* var7 /* : Numeric */;
1028 { /* Inline fixed_ints$Int8$* (self,p0) on <self:Numeric(Int8)> */
1029 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1030 /* <p0:Numeric> isa OTHER */
1031 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1032 cltype = type_struct->color;
1033 idtype = type_struct->id;
1034 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1035 var3 = 0;
1036 } else {
1037 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1038 }
1039 if (unlikely(!var3)) {
1040 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1041 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1042 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 128);
1043 fatal_exit(1);
1044 }
1045 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1046 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Numeric to Int8 */;
1047 var6 = var4 * var5;
1048 var1 = var6;
1049 goto RET_LABEL2;
1050 RET_LABEL2:(void)0;
1051 }
1052 var7 = BOX_core__Int8(var1); /* autobox from Int8 to Numeric */
1053 var = var7;
1054 RET_LABEL:;
1055 return var;
1056 }
1057 /* method fixed_ints$Int8$/ for (self: Int8, Int8): Int8 */
1058 int8_t core___core__Int8___core__kernel__Numeric___47d(int8_t self, int8_t p0) {
1059 int8_t var /* : Int8 */;
1060 short int var1 /* : Bool */;
1061 int cltype;
1062 int idtype;
1063 const char* var_class_name;
1064 int8_t var2 /* : Int8 */;
1065 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
1066 /* <p0:Int8> isa OTHER */
1067 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1068 if (unlikely(!var1)) {
1069 var_class_name = type_core__Int8.name;
1070 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1071 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 129);
1072 fatal_exit(1);
1073 }
1074 var2 = self / p0;
1075 var = var2;
1076 goto RET_LABEL;
1077 RET_LABEL:;
1078 return var;
1079 }
1080 /* method fixed_ints$Int8$/ for (self: Numeric, Numeric): Numeric */
1081 val* VIRTUAL_core___core__Int8___core__kernel__Numeric___47d(val* self, val* p0) {
1082 val* var /* : Numeric */;
1083 int8_t var1 /* : Int8 */;
1084 short int var3 /* : Bool */;
1085 int cltype;
1086 int idtype;
1087 const struct type* type_struct;
1088 const char* var_class_name;
1089 int8_t var4 /* : Int8 */;
1090 int8_t var5 /* : Int8 */;
1091 int8_t var6 /* : Int8 */;
1092 val* var7 /* : Numeric */;
1093 { /* Inline fixed_ints$Int8$/ (self,p0) on <self:Numeric(Int8)> */
1094 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1095 /* <p0:Numeric> isa OTHER */
1096 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1097 cltype = type_struct->color;
1098 idtype = type_struct->id;
1099 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1100 var3 = 0;
1101 } else {
1102 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1103 }
1104 if (unlikely(!var3)) {
1105 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1107 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 129);
1108 fatal_exit(1);
1109 }
1110 var4 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1111 var5 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Numeric to Int8 */;
1112 var6 = var4 / var5;
1113 var1 = var6;
1114 goto RET_LABEL2;
1115 RET_LABEL2:(void)0;
1116 }
1117 var7 = BOX_core__Int8(var1); /* autobox from Int8 to Numeric */
1118 var = var7;
1119 RET_LABEL:;
1120 return var;
1121 }
1122 /* method fixed_ints$Int8$to_i for (self: Int8): Int */
1123 long core___core__Int8___core__kernel__Numeric__to_i(int8_t self) {
1124 long var /* : Int */;
1125 long var1 /* : Int */;
1126 var1 = (long)self;
1127 var = var1;
1128 goto RET_LABEL;
1129 RET_LABEL:;
1130 return var;
1131 }
1132 /* method fixed_ints$Int8$to_i for (self: Numeric): Int */
1133 long VIRTUAL_core___core__Int8___core__kernel__Numeric__to_i(val* self) {
1134 long var /* : Int */;
1135 long var1 /* : Int */;
1136 int8_t var3 /* : Int8 */;
1137 long var4 /* : Int */;
1138 { /* Inline fixed_ints$Int8$to_i (self) on <self:Numeric(Int8)> */
1139 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1140 var4 = (long)var3;
1141 var1 = var4;
1142 goto RET_LABEL2;
1143 RET_LABEL2:(void)0;
1144 }
1145 var = var1;
1146 RET_LABEL:;
1147 return var;
1148 }
1149 /* method fixed_ints$Int8$to_f for (self: Int8): Float */
1150 double core___core__Int8___core__kernel__Numeric__to_f(int8_t self) {
1151 double var /* : Float */;
1152 double var1 /* : Float */;
1153 var1 = (double)self;
1154 var = var1;
1155 goto RET_LABEL;
1156 RET_LABEL:;
1157 return var;
1158 }
1159 /* method fixed_ints$Int8$to_f for (self: Numeric): Float */
1160 double VIRTUAL_core___core__Int8___core__kernel__Numeric__to_f(val* self) {
1161 double var /* : Float */;
1162 double var1 /* : Float */;
1163 int8_t var3 /* : Int8 */;
1164 double var4 /* : Float */;
1165 { /* Inline fixed_ints$Int8$to_f (self) on <self:Numeric(Int8)> */
1166 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1167 var4 = (double)var3;
1168 var1 = var4;
1169 goto RET_LABEL2;
1170 RET_LABEL2:(void)0;
1171 }
1172 var = var1;
1173 RET_LABEL:;
1174 return var;
1175 }
1176 /* method fixed_ints$Int8$to_b for (self: Int8): Byte */
1177 unsigned char core___core__Int8___core__kernel__Numeric__to_b(int8_t self) {
1178 unsigned char var /* : Byte */;
1179 unsigned char var1 /* : Byte */;
1180 var1 = (unsigned char)self;
1181 var = var1;
1182 goto RET_LABEL;
1183 RET_LABEL:;
1184 return var;
1185 }
1186 /* method fixed_ints$Int8$to_b for (self: Numeric): Byte */
1187 unsigned char VIRTUAL_core___core__Int8___core__kernel__Numeric__to_b(val* self) {
1188 unsigned char var /* : Byte */;
1189 unsigned char var1 /* : Byte */;
1190 int8_t var3 /* : Int8 */;
1191 unsigned char var4 /* : Byte */;
1192 { /* Inline fixed_ints$Int8$to_b (self) on <self:Numeric(Int8)> */
1193 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1194 var4 = (unsigned char)var3;
1195 var1 = var4;
1196 goto RET_LABEL2;
1197 RET_LABEL2:(void)0;
1198 }
1199 var = var1;
1200 RET_LABEL:;
1201 return var;
1202 }
1203 /* method fixed_ints$Int8$to_i8 for (self: Int8): Int8 */
1204 int8_t core___core__Int8___Numeric__to_i8(int8_t self) {
1205 int8_t var /* : Int8 */;
1206 var = self;
1207 goto RET_LABEL;
1208 RET_LABEL:;
1209 return var;
1210 }
1211 /* method fixed_ints$Int8$to_i8 for (self: Numeric): Int8 */
1212 int8_t VIRTUAL_core___core__Int8___Numeric__to_i8(val* self) {
1213 int8_t var /* : Int8 */;
1214 int8_t var1 /* : Int8 */;
1215 int8_t var2 /* : Int8 */;
1216 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1217 var1 = core___core__Int8___Numeric__to_i8(var2);
1218 var = var1;
1219 RET_LABEL:;
1220 return var;
1221 }
1222 /* method fixed_ints$Int8$to_i16 for (self: Int8): Int16 */
1223 int16_t core___core__Int8___Numeric__to_i16(int8_t self) {
1224 int16_t var /* : Int16 */;
1225 int16_t var1 /* : Int16 */;
1226 var1 = (int16_t)self;
1227 var = var1;
1228 goto RET_LABEL;
1229 RET_LABEL:;
1230 return var;
1231 }
1232 /* method fixed_ints$Int8$to_i16 for (self: Numeric): Int16 */
1233 int16_t VIRTUAL_core___core__Int8___Numeric__to_i16(val* self) {
1234 int16_t var /* : Int16 */;
1235 int16_t var1 /* : Int16 */;
1236 int8_t var3 /* : Int8 */;
1237 int16_t var4 /* : Int16 */;
1238 { /* Inline fixed_ints$Int8$to_i16 (self) on <self:Numeric(Int8)> */
1239 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1240 var4 = (int16_t)var3;
1241 var1 = var4;
1242 goto RET_LABEL2;
1243 RET_LABEL2:(void)0;
1244 }
1245 var = var1;
1246 RET_LABEL:;
1247 return var;
1248 }
1249 /* method fixed_ints$Int8$to_u16 for (self: Int8): UInt16 */
1250 uint16_t core___core__Int8___Numeric__to_u16(int8_t self) {
1251 uint16_t var /* : UInt16 */;
1252 uint16_t var1 /* : UInt16 */;
1253 var1 = (uint16_t)self;
1254 var = var1;
1255 goto RET_LABEL;
1256 RET_LABEL:;
1257 return var;
1258 }
1259 /* method fixed_ints$Int8$to_u16 for (self: Numeric): UInt16 */
1260 uint16_t VIRTUAL_core___core__Int8___Numeric__to_u16(val* self) {
1261 uint16_t var /* : UInt16 */;
1262 uint16_t var1 /* : UInt16 */;
1263 int8_t var3 /* : Int8 */;
1264 uint16_t var4 /* : UInt16 */;
1265 { /* Inline fixed_ints$Int8$to_u16 (self) on <self:Numeric(Int8)> */
1266 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1267 var4 = (uint16_t)var3;
1268 var1 = var4;
1269 goto RET_LABEL2;
1270 RET_LABEL2:(void)0;
1271 }
1272 var = var1;
1273 RET_LABEL:;
1274 return var;
1275 }
1276 /* method fixed_ints$Int8$to_i32 for (self: Int8): Int32 */
1277 int32_t core___core__Int8___Numeric__to_i32(int8_t self) {
1278 int32_t var /* : Int32 */;
1279 int32_t var1 /* : Int32 */;
1280 var1 = (int32_t)self;
1281 var = var1;
1282 goto RET_LABEL;
1283 RET_LABEL:;
1284 return var;
1285 }
1286 /* method fixed_ints$Int8$to_i32 for (self: Numeric): Int32 */
1287 int32_t VIRTUAL_core___core__Int8___Numeric__to_i32(val* self) {
1288 int32_t var /* : Int32 */;
1289 int32_t var1 /* : Int32 */;
1290 int8_t var3 /* : Int8 */;
1291 int32_t var4 /* : Int32 */;
1292 { /* Inline fixed_ints$Int8$to_i32 (self) on <self:Numeric(Int8)> */
1293 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1294 var4 = (int32_t)var3;
1295 var1 = var4;
1296 goto RET_LABEL2;
1297 RET_LABEL2:(void)0;
1298 }
1299 var = var1;
1300 RET_LABEL:;
1301 return var;
1302 }
1303 /* method fixed_ints$Int8$to_u32 for (self: Int8): UInt32 */
1304 uint32_t core___core__Int8___Numeric__to_u32(int8_t self) {
1305 uint32_t var /* : UInt32 */;
1306 uint32_t var1 /* : UInt32 */;
1307 var1 = (uint32_t)self;
1308 var = var1;
1309 goto RET_LABEL;
1310 RET_LABEL:;
1311 return var;
1312 }
1313 /* method fixed_ints$Int8$to_u32 for (self: Numeric): UInt32 */
1314 uint32_t VIRTUAL_core___core__Int8___Numeric__to_u32(val* self) {
1315 uint32_t var /* : UInt32 */;
1316 uint32_t var1 /* : UInt32 */;
1317 int8_t var3 /* : Int8 */;
1318 uint32_t var4 /* : UInt32 */;
1319 { /* Inline fixed_ints$Int8$to_u32 (self) on <self:Numeric(Int8)> */
1320 var3 = ((struct instance_core__Int8*)self)->value; /* autounbox from Numeric to Int8 */;
1321 var4 = (uint32_t)var3;
1322 var1 = var4;
1323 goto RET_LABEL2;
1324 RET_LABEL2:(void)0;
1325 }
1326 var = var1;
1327 RET_LABEL:;
1328 return var;
1329 }
1330 /* method fixed_ints$Int8$distance for (self: Int8, Int8): Int */
1331 long core___core__Int8___core__kernel__Discrete__distance(int8_t self, int8_t p0) {
1332 long var /* : Int */;
1333 short int var1 /* : Bool */;
1334 int cltype;
1335 int idtype;
1336 const char* var_class_name;
1337 int8_t var_i /* var i: Int8 */;
1338 int8_t var2 /* : Int8 */;
1339 short int var4 /* : Bool */;
1340 int cltype5;
1341 int idtype6;
1342 const char* var_class_name7;
1343 int8_t var8 /* : Int8 */;
1344 long var9 /* : Int */;
1345 long var11 /* : Int */;
1346 /* Covariant cast for argument 0 (i) <p0:Int8> isa OTHER */
1347 /* <p0:Int8> isa OTHER */
1348 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1349 if (unlikely(!var1)) {
1350 var_class_name = type_core__Int8.name;
1351 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1352 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 164);
1353 fatal_exit(1);
1354 }
1355 var_i = p0;
1356 {
1357 { /* Inline fixed_ints$Int8$- (self,var_i) on <self:Int8> */
1358 /* Covariant cast for argument 0 (i) <var_i:Int8> isa OTHER */
1359 /* <var_i:Int8> isa OTHER */
1360 var4 = 1; /* easy <var_i:Int8> isa OTHER*/
1361 if (unlikely(!var4)) {
1362 var_class_name7 = type_core__Int8.name;
1363 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1364 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 127);
1365 fatal_exit(1);
1366 }
1367 var8 = self - var_i;
1368 var2 = var8;
1369 goto RET_LABEL3;
1370 RET_LABEL3:(void)0;
1371 }
1372 }
1373 {
1374 { /* Inline fixed_ints$Int8$to_i (var2) on <var2:Int8> */
1375 var11 = (long)var2;
1376 var9 = var11;
1377 goto RET_LABEL10;
1378 RET_LABEL10:(void)0;
1379 }
1380 }
1381 var = var9;
1382 goto RET_LABEL;
1383 RET_LABEL:;
1384 return var;
1385 }
1386 /* method fixed_ints$Int8$distance for (self: Discrete, Discrete): Int */
1387 long VIRTUAL_core___core__Int8___core__kernel__Discrete__distance(val* self, val* p0) {
1388 long var /* : Int */;
1389 long var1 /* : Int */;
1390 int8_t var2 /* : Int8 */;
1391 int8_t var3 /* : Int8 */;
1392 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Discrete to Int8 */;
1393 var3 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Discrete to Int8 */;
1394 var1 = core___core__Int8___core__kernel__Discrete__distance(var2, var3);
1395 var = var1;
1396 RET_LABEL:;
1397 return var;
1398 }
1399 /* method fixed_ints$Int8$<=> for (self: Int8, Int8): Int */
1400 long core___core__Int8___core__kernel__Comparable___60d_61d_62d(int8_t self, int8_t p0) {
1401 long var /* : Int */;
1402 short int var1 /* : Bool */;
1403 int cltype;
1404 int idtype;
1405 const char* var_class_name;
1406 int8_t var_other /* var other: Int8 */;
1407 short int var2 /* : Bool */;
1408 short int var4 /* : Bool */;
1409 int cltype5;
1410 int idtype6;
1411 const char* var_class_name7;
1412 short int var8 /* : Bool */;
1413 long var9 /* : Int */;
1414 long var11 /* : Int */;
1415 short int var12 /* : Bool */;
1416 short int var14 /* : Bool */;
1417 int cltype15;
1418 int idtype16;
1419 const char* var_class_name17;
1420 short int var18 /* : Bool */;
1421 /* Covariant cast for argument 0 (other) <p0:Int8> isa OTHER */
1422 /* <p0:Int8> isa OTHER */
1423 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1424 if (unlikely(!var1)) {
1425 var_class_name = type_core__Int8.name;
1426 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1427 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 166);
1428 fatal_exit(1);
1429 }
1430 var_other = p0;
1431 {
1432 { /* Inline fixed_ints$Int8$< (self,var_other) on <self:Int8> */
1433 /* Covariant cast for argument 0 (i) <var_other:Int8> isa OTHER */
1434 /* <var_other:Int8> isa OTHER */
1435 var4 = 1; /* easy <var_other:Int8> isa OTHER*/
1436 if (unlikely(!var4)) {
1437 var_class_name7 = type_core__Int8.name;
1438 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1439 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
1440 fatal_exit(1);
1441 }
1442 var8 = self < var_other;
1443 var2 = var8;
1444 goto RET_LABEL3;
1445 RET_LABEL3:(void)0;
1446 }
1447 }
1448 if (var2){
1449 {
1450 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
1451 var11 = -1l;
1452 var9 = var11;
1453 goto RET_LABEL10;
1454 RET_LABEL10:(void)0;
1455 }
1456 }
1457 var = var9;
1458 goto RET_LABEL;
1459 } else {
1460 {
1461 { /* Inline fixed_ints$Int8$< (var_other,self) on <var_other:Int8> */
1462 /* Covariant cast for argument 0 (i) <self:Int8> isa OTHER */
1463 /* <self:Int8> isa OTHER */
1464 var14 = 1; /* easy <self:Int8> isa OTHER*/
1465 if (unlikely(!var14)) {
1466 var_class_name17 = type_core__Int8.name;
1467 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
1468 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
1469 fatal_exit(1);
1470 }
1471 var18 = var_other < self;
1472 var12 = var18;
1473 goto RET_LABEL13;
1474 RET_LABEL13:(void)0;
1475 }
1476 }
1477 if (var12){
1478 var = 1l;
1479 goto RET_LABEL;
1480 } else {
1481 var = 0l;
1482 goto RET_LABEL;
1483 }
1484 }
1485 RET_LABEL:;
1486 return var;
1487 }
1488 /* method fixed_ints$Int8$<=> for (self: Comparable, Comparable): Int */
1489 long VIRTUAL_core___core__Int8___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
1490 long var /* : Int */;
1491 long var1 /* : Int */;
1492 int8_t var2 /* : Int8 */;
1493 int8_t var3 /* : Int8 */;
1494 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
1495 var3 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
1496 var1 = core___core__Int8___core__kernel__Comparable___60d_61d_62d(var2, var3);
1497 var = var1;
1498 RET_LABEL:;
1499 return var;
1500 }
1501 /* method fixed_ints$Int8$max for (self: Int8, Int8): Int8 */
1502 int8_t core___core__Int8___core__kernel__Comparable__max(int8_t self, int8_t p0) {
1503 int8_t var /* : Int8 */;
1504 short int var1 /* : Bool */;
1505 int cltype;
1506 int idtype;
1507 const char* var_class_name;
1508 int8_t var_other /* var other: Int8 */;
1509 short int var2 /* : Bool */;
1510 short int var4 /* : Bool */;
1511 int cltype5;
1512 int idtype6;
1513 const char* var_class_name7;
1514 short int var8 /* : Bool */;
1515 /* Covariant cast for argument 0 (other) <p0:Int8> isa OTHER */
1516 /* <p0:Int8> isa OTHER */
1517 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1518 if (unlikely(!var1)) {
1519 var_class_name = type_core__Int8.name;
1520 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1521 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 186);
1522 fatal_exit(1);
1523 }
1524 var_other = p0;
1525 {
1526 { /* Inline fixed_ints$Int8$< (self,var_other) on <self:Int8> */
1527 /* Covariant cast for argument 0 (i) <var_other:Int8> isa OTHER */
1528 /* <var_other:Int8> isa OTHER */
1529 var4 = 1; /* easy <var_other:Int8> isa OTHER*/
1530 if (unlikely(!var4)) {
1531 var_class_name7 = type_core__Int8.name;
1532 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1533 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
1534 fatal_exit(1);
1535 }
1536 var8 = self < var_other;
1537 var2 = var8;
1538 goto RET_LABEL3;
1539 RET_LABEL3:(void)0;
1540 }
1541 }
1542 if (var2){
1543 var = var_other;
1544 goto RET_LABEL;
1545 } else {
1546 var = self;
1547 goto RET_LABEL;
1548 }
1549 RET_LABEL:;
1550 return var;
1551 }
1552 /* method fixed_ints$Int8$max for (self: Comparable, Comparable): Comparable */
1553 val* VIRTUAL_core___core__Int8___core__kernel__Comparable__max(val* self, val* p0) {
1554 val* var /* : Comparable */;
1555 int8_t var1 /* : Int8 */;
1556 int8_t var2 /* : Int8 */;
1557 int8_t var3 /* : Int8 */;
1558 val* var4 /* : Comparable */;
1559 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
1560 var3 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
1561 var1 = core___core__Int8___core__kernel__Comparable__max(var2, var3);
1562 var4 = BOX_core__Int8(var1); /* autobox from Int8 to Comparable */
1563 var = var4;
1564 RET_LABEL:;
1565 return var;
1566 }
1567 /* method fixed_ints$Int8$min for (self: Int8, Int8): Int8 */
1568 int8_t core___core__Int8___core__kernel__Comparable__min(int8_t self, int8_t p0) {
1569 int8_t var /* : Int8 */;
1570 short int var1 /* : Bool */;
1571 int cltype;
1572 int idtype;
1573 const char* var_class_name;
1574 int8_t var_c /* var c: Int8 */;
1575 short int var2 /* : Bool */;
1576 short int var4 /* : Bool */;
1577 int cltype5;
1578 int idtype6;
1579 const char* var_class_name7;
1580 short int var8 /* : Bool */;
1581 /* Covariant cast for argument 0 (c) <p0:Int8> isa OTHER */
1582 /* <p0:Int8> isa OTHER */
1583 var1 = 1; /* easy <p0:Int8> isa OTHER*/
1584 if (unlikely(!var1)) {
1585 var_class_name = type_core__Int8.name;
1586 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1587 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 195);
1588 fatal_exit(1);
1589 }
1590 var_c = p0;
1591 {
1592 { /* Inline fixed_ints$Int8$< (var_c,self) on <var_c:Int8> */
1593 /* Covariant cast for argument 0 (i) <self:Int8> isa OTHER */
1594 /* <self:Int8> isa OTHER */
1595 var4 = 1; /* easy <self:Int8> isa OTHER*/
1596 if (unlikely(!var4)) {
1597 var_class_name7 = type_core__Int8.name;
1598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1599 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 119);
1600 fatal_exit(1);
1601 }
1602 var8 = var_c < self;
1603 var2 = var8;
1604 goto RET_LABEL3;
1605 RET_LABEL3:(void)0;
1606 }
1607 }
1608 if (var2){
1609 var = var_c;
1610 goto RET_LABEL;
1611 } else {
1612 var = self;
1613 goto RET_LABEL;
1614 }
1615 RET_LABEL:;
1616 return var;
1617 }
1618 /* method fixed_ints$Int8$min for (self: Comparable, Comparable): Comparable */
1619 val* VIRTUAL_core___core__Int8___core__kernel__Comparable__min(val* self, val* p0) {
1620 val* var /* : Comparable */;
1621 int8_t var1 /* : Int8 */;
1622 int8_t var2 /* : Int8 */;
1623 int8_t var3 /* : Int8 */;
1624 val* var4 /* : Comparable */;
1625 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Comparable to Int8 */;
1626 var3 = ((struct instance_core__Int8*)p0)->value; /* autounbox from Comparable to Int8 */;
1627 var1 = core___core__Int8___core__kernel__Comparable__min(var2, var3);
1628 var4 = BOX_core__Int8(var1); /* autobox from Int8 to Comparable */
1629 var = var4;
1630 RET_LABEL:;
1631 return var;
1632 }
1633 /* method fixed_ints$Int16$successor for (self: Int16, Int): Int16 */
1634 int16_t core___core__Int16___core__kernel__Discrete__successor(int16_t self, long p0) {
1635 int16_t var /* : Int16 */;
1636 long var_i /* var i: Int */;
1637 int16_t var1 /* : Int16 */;
1638 int16_t var3 /* : Int16 */;
1639 int16_t var4 /* : Int16 */;
1640 short int var6 /* : Bool */;
1641 int cltype;
1642 int idtype;
1643 const char* var_class_name;
1644 int16_t var7 /* : Int16 */;
1645 var_i = p0;
1646 {
1647 { /* Inline fixed_ints$Int$to_i16 (var_i) on <var_i:Int> */
1648 var3 = (int16_t)var_i;
1649 var1 = var3;
1650 goto RET_LABEL2;
1651 RET_LABEL2:(void)0;
1652 }
1653 }
1654 {
1655 { /* Inline fixed_ints$Int16$+ (self,var1) on <self:Int16> */
1656 /* Covariant cast for argument 0 (i) <var1:Int16> isa OTHER */
1657 /* <var1:Int16> isa OTHER */
1658 var6 = 1; /* easy <var1:Int16> isa OTHER*/
1659 if (unlikely(!var6)) {
1660 var_class_name = type_core__Int16.name;
1661 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1662 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 246);
1663 fatal_exit(1);
1664 }
1665 var7 = self + var1;
1666 var4 = var7;
1667 goto RET_LABEL5;
1668 RET_LABEL5:(void)0;
1669 }
1670 }
1671 var = var4;
1672 goto RET_LABEL;
1673 RET_LABEL:;
1674 return var;
1675 }
1676 /* method fixed_ints$Int16$successor for (self: Discrete, Int): Discrete */
1677 val* VIRTUAL_core___core__Int16___core__kernel__Discrete__successor(val* self, long p0) {
1678 val* var /* : Discrete */;
1679 int16_t var1 /* : Int16 */;
1680 int16_t var2 /* : Int16 */;
1681 val* var3 /* : Discrete */;
1682 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Discrete to Int16 */;
1683 var1 = core___core__Int16___core__kernel__Discrete__successor(var2, p0);
1684 var3 = BOX_core__Int16(var1); /* autobox from Int16 to Discrete */
1685 var = var3;
1686 RET_LABEL:;
1687 return var;
1688 }
1689 /* method fixed_ints$Int16$object_id for (self: Int16): Int */
1690 long core___core__Int16___core__kernel__Object__object_id(int16_t self) {
1691 long var /* : Int */;
1692 long var1 /* : Int */;
1693 var1 = (long)self;
1694 var = var1;
1695 goto RET_LABEL;
1696 RET_LABEL:;
1697 return var;
1698 }
1699 /* method fixed_ints$Int16$object_id for (self: Object): Int */
1700 long VIRTUAL_core___core__Int16___core__kernel__Object__object_id(val* self) {
1701 long var /* : Int */;
1702 long var1 /* : Int */;
1703 int16_t var3 /* : Int16 */;
1704 long var4 /* : Int */;
1705 { /* Inline fixed_ints$Int16$object_id (self) on <self:Object(Int16)> */
1706 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
1707 var4 = (long)var3;
1708 var1 = var4;
1709 goto RET_LABEL2;
1710 RET_LABEL2:(void)0;
1711 }
1712 var = var1;
1713 RET_LABEL:;
1714 return var;
1715 }
1716 /* method fixed_ints$Int16$hash for (self: Int16): Int */
1717 long core___core__Int16___core__kernel__Object__hash(int16_t self) {
1718 long var /* : Int */;
1719 long var1 /* : Int */;
1720 long var3 /* : Int */;
1721 {
1722 { /* Inline fixed_ints$Int16$to_i (self) on <self:Int16> */
1723 var3 = (long)self;
1724 var1 = var3;
1725 goto RET_LABEL2;
1726 RET_LABEL2:(void)0;
1727 }
1728 }
1729 var = var1;
1730 goto RET_LABEL;
1731 RET_LABEL:;
1732 return var;
1733 }
1734 /* method fixed_ints$Int16$hash for (self: Object): Int */
1735 long VIRTUAL_core___core__Int16___core__kernel__Object__hash(val* self) {
1736 long var /* : Int */;
1737 long var1 /* : Int */;
1738 int16_t var2 /* : Int16 */;
1739 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
1740 var1 = core___core__Int16___core__kernel__Object__hash(var2);
1741 var = var1;
1742 RET_LABEL:;
1743 return var;
1744 }
1745 /* method fixed_ints$Int16$== for (self: Int16, nullable Object): Bool */
1746 short int core___core__Int16___core__kernel__Object___61d_61d(int16_t self, val* p0) {
1747 short int var /* : Bool */;
1748 short int var1 /* : Bool */;
1749 int16_t var2 /* : Int16 */;
1750 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int16)) {
1751 var2 = ((struct instance_core__Int16*)p0)->value; /* autounbox from nullable Object to Int16 */;
1752 var1 = var2 == self;
1753 } else var1 = 0;
1754 var = var1;
1755 goto RET_LABEL;
1756 RET_LABEL:;
1757 return var;
1758 }
1759 /* method fixed_ints$Int16$== for (self: Object, nullable Object): Bool */
1760 short int VIRTUAL_core___core__Int16___core__kernel__Object___61d_61d(val* self, val* p0) {
1761 short int var /* : Bool */;
1762 short int var1 /* : Bool */;
1763 short int var3 /* : Bool */;
1764 { /* Inline fixed_ints$Int16$== (self,p0) on <self:Object(Int16)> */
1765 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)p0)->value);
1766 var1 = var3;
1767 goto RET_LABEL2;
1768 RET_LABEL2:(void)0;
1769 }
1770 var = var1;
1771 RET_LABEL:;
1772 return var;
1773 }
1774 /* method fixed_ints$Int16$!= for (self: Int16, nullable Object): Bool */
1775 short int core___core__Int16___core__kernel__Object___33d_61d(int16_t self, val* p0) {
1776 short int var /* : Bool */;
1777 short int var1 /* : Bool */;
1778 int16_t var2 /* : Int16 */;
1779 short int var3 /* : Bool */;
1780 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int16)) {
1781 var2 = ((struct instance_core__Int16*)p0)->value; /* autounbox from nullable Object to Int16 */;
1782 var1 = var2 == self;
1783 } else var1 = 0;
1784 var3 = !var1;
1785 var = var3;
1786 goto RET_LABEL;
1787 RET_LABEL:;
1788 return var;
1789 }
1790 /* method fixed_ints$Int16$!= for (self: Object, nullable Object): Bool */
1791 short int VIRTUAL_core___core__Int16___core__kernel__Object___33d_61d(val* self, val* p0) {
1792 short int var /* : Bool */;
1793 short int var1 /* : Bool */;
1794 short int var3 /* : Bool */;
1795 short int var4 /* : Bool */;
1796 { /* Inline fixed_ints$Int16$!= (self,p0) on <self:Object(Int16)> */
1797 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)p0)->value);
1798 var4 = !var3;
1799 var1 = var4;
1800 goto RET_LABEL2;
1801 RET_LABEL2:(void)0;
1802 }
1803 var = var1;
1804 RET_LABEL:;
1805 return var;
1806 }
1807 /* method fixed_ints$Int16$<= for (self: Int16, Int16): Bool */
1808 short int core___core__Int16___core__kernel__Comparable___60d_61d(int16_t self, int16_t p0) {
1809 short int var /* : Bool */;
1810 short int var1 /* : Bool */;
1811 int cltype;
1812 int idtype;
1813 const char* var_class_name;
1814 short int var2 /* : Bool */;
1815 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1816 /* <p0:Int16> isa OTHER */
1817 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1818 if (unlikely(!var1)) {
1819 var_class_name = type_core__Int16.name;
1820 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1821 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 242);
1822 fatal_exit(1);
1823 }
1824 var2 = self <= p0;
1825 var = var2;
1826 goto RET_LABEL;
1827 RET_LABEL:;
1828 return var;
1829 }
1830 /* method fixed_ints$Int16$<= for (self: Comparable, Comparable): Bool */
1831 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___60d_61d(val* self, val* p0) {
1832 short int var /* : Bool */;
1833 short int var1 /* : Bool */;
1834 short int var3 /* : Bool */;
1835 int cltype;
1836 int idtype;
1837 const struct type* type_struct;
1838 const char* var_class_name;
1839 int16_t var4 /* : Int16 */;
1840 int16_t var5 /* : Int16 */;
1841 short int var6 /* : Bool */;
1842 { /* Inline fixed_ints$Int16$<= (self,p0) on <self:Comparable(Int16)> */
1843 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1844 /* <p0:Comparable> isa OTHER */
1845 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1846 cltype = type_struct->color;
1847 idtype = type_struct->id;
1848 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1849 var3 = 0;
1850 } else {
1851 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1852 }
1853 if (unlikely(!var3)) {
1854 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1856 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 242);
1857 fatal_exit(1);
1858 }
1859 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1860 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1861 var6 = var4 <= var5;
1862 var1 = var6;
1863 goto RET_LABEL2;
1864 RET_LABEL2:(void)0;
1865 }
1866 var = var1;
1867 RET_LABEL:;
1868 return var;
1869 }
1870 /* method fixed_ints$Int16$< for (self: Int16, Int16): Bool */
1871 short int core___core__Int16___core__kernel__Comparable___60d(int16_t self, int16_t p0) {
1872 short int var /* : Bool */;
1873 short int var1 /* : Bool */;
1874 int cltype;
1875 int idtype;
1876 const char* var_class_name;
1877 short int var2 /* : Bool */;
1878 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1879 /* <p0:Int16> isa OTHER */
1880 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1881 if (unlikely(!var1)) {
1882 var_class_name = type_core__Int16.name;
1883 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1884 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
1885 fatal_exit(1);
1886 }
1887 var2 = self < p0;
1888 var = var2;
1889 goto RET_LABEL;
1890 RET_LABEL:;
1891 return var;
1892 }
1893 /* method fixed_ints$Int16$< for (self: Comparable, Comparable): Bool */
1894 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___60d(val* self, val* p0) {
1895 short int var /* : Bool */;
1896 short int var1 /* : Bool */;
1897 short int var3 /* : Bool */;
1898 int cltype;
1899 int idtype;
1900 const struct type* type_struct;
1901 const char* var_class_name;
1902 int16_t var4 /* : Int16 */;
1903 int16_t var5 /* : Int16 */;
1904 short int var6 /* : Bool */;
1905 { /* Inline fixed_ints$Int16$< (self,p0) on <self:Comparable(Int16)> */
1906 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1907 /* <p0:Comparable> isa OTHER */
1908 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1909 cltype = type_struct->color;
1910 idtype = type_struct->id;
1911 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1912 var3 = 0;
1913 } else {
1914 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1915 }
1916 if (unlikely(!var3)) {
1917 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1918 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1919 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
1920 fatal_exit(1);
1921 }
1922 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1923 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1924 var6 = var4 < var5;
1925 var1 = var6;
1926 goto RET_LABEL2;
1927 RET_LABEL2:(void)0;
1928 }
1929 var = var1;
1930 RET_LABEL:;
1931 return var;
1932 }
1933 /* method fixed_ints$Int16$>= for (self: Int16, Int16): Bool */
1934 short int core___core__Int16___core__kernel__Comparable___62d_61d(int16_t self, int16_t p0) {
1935 short int var /* : Bool */;
1936 short int var1 /* : Bool */;
1937 int cltype;
1938 int idtype;
1939 const char* var_class_name;
1940 short int var2 /* : Bool */;
1941 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1942 /* <p0:Int16> isa OTHER */
1943 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1944 if (unlikely(!var1)) {
1945 var_class_name = type_core__Int16.name;
1946 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1947 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 244);
1948 fatal_exit(1);
1949 }
1950 var2 = self >= p0;
1951 var = var2;
1952 goto RET_LABEL;
1953 RET_LABEL:;
1954 return var;
1955 }
1956 /* method fixed_ints$Int16$>= for (self: Comparable, Comparable): Bool */
1957 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___62d_61d(val* self, val* p0) {
1958 short int var /* : Bool */;
1959 short int var1 /* : Bool */;
1960 short int var3 /* : Bool */;
1961 int cltype;
1962 int idtype;
1963 const struct type* type_struct;
1964 const char* var_class_name;
1965 int16_t var4 /* : Int16 */;
1966 int16_t var5 /* : Int16 */;
1967 short int var6 /* : Bool */;
1968 { /* Inline fixed_ints$Int16$>= (self,p0) on <self:Comparable(Int16)> */
1969 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1970 /* <p0:Comparable> isa OTHER */
1971 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1972 cltype = type_struct->color;
1973 idtype = type_struct->id;
1974 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1975 var3 = 0;
1976 } else {
1977 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1978 }
1979 if (unlikely(!var3)) {
1980 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1981 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1982 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 244);
1983 fatal_exit(1);
1984 }
1985 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1986 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1987 var6 = var4 >= var5;
1988 var1 = var6;
1989 goto RET_LABEL2;
1990 RET_LABEL2:(void)0;
1991 }
1992 var = var1;
1993 RET_LABEL:;
1994 return var;
1995 }
1996 /* method fixed_ints$Int16$> for (self: Int16, Int16): Bool */
1997 short int core___core__Int16___core__kernel__Comparable___62d(int16_t self, int16_t p0) {
1998 short int var /* : Bool */;
1999 short int var1 /* : Bool */;
2000 int cltype;
2001 int idtype;
2002 const char* var_class_name;
2003 short int var2 /* : Bool */;
2004 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2005 /* <p0:Int16> isa OTHER */
2006 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2007 if (unlikely(!var1)) {
2008 var_class_name = type_core__Int16.name;
2009 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2010 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 245);
2011 fatal_exit(1);
2012 }
2013 var2 = self > p0;
2014 var = var2;
2015 goto RET_LABEL;
2016 RET_LABEL:;
2017 return var;
2018 }
2019 /* method fixed_ints$Int16$> for (self: Comparable, Comparable): Bool */
2020 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___62d(val* self, val* p0) {
2021 short int var /* : Bool */;
2022 short int var1 /* : Bool */;
2023 short int var3 /* : Bool */;
2024 int cltype;
2025 int idtype;
2026 const struct type* type_struct;
2027 const char* var_class_name;
2028 int16_t var4 /* : Int16 */;
2029 int16_t var5 /* : Int16 */;
2030 short int var6 /* : Bool */;
2031 { /* Inline fixed_ints$Int16$> (self,p0) on <self:Comparable(Int16)> */
2032 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2033 /* <p0:Comparable> isa OTHER */
2034 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2035 cltype = type_struct->color;
2036 idtype = type_struct->id;
2037 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2038 var3 = 0;
2039 } else {
2040 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2041 }
2042 if (unlikely(!var3)) {
2043 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2045 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 245);
2046 fatal_exit(1);
2047 }
2048 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2049 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2050 var6 = var4 > var5;
2051 var1 = var6;
2052 goto RET_LABEL2;
2053 RET_LABEL2:(void)0;
2054 }
2055 var = var1;
2056 RET_LABEL:;
2057 return var;
2058 }
2059 /* method fixed_ints$Int16$+ for (self: Int16, Int16): Int16 */
2060 int16_t core___core__Int16___core__kernel__Numeric___43d(int16_t self, int16_t p0) {
2061 int16_t var /* : Int16 */;
2062 short int var1 /* : Bool */;
2063 int cltype;
2064 int idtype;
2065 const char* var_class_name;
2066 int16_t var2 /* : Int16 */;
2067 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2068 /* <p0:Int16> isa OTHER */
2069 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2070 if (unlikely(!var1)) {
2071 var_class_name = type_core__Int16.name;
2072 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2073 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 246);
2074 fatal_exit(1);
2075 }
2076 var2 = self + p0;
2077 var = var2;
2078 goto RET_LABEL;
2079 RET_LABEL:;
2080 return var;
2081 }
2082 /* method fixed_ints$Int16$+ for (self: Numeric, Numeric): Numeric */
2083 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___43d(val* self, val* p0) {
2084 val* var /* : Numeric */;
2085 int16_t var1 /* : Int16 */;
2086 short int var3 /* : Bool */;
2087 int cltype;
2088 int idtype;
2089 const struct type* type_struct;
2090 const char* var_class_name;
2091 int16_t var4 /* : Int16 */;
2092 int16_t var5 /* : Int16 */;
2093 int16_t var6 /* : Int16 */;
2094 val* var7 /* : Numeric */;
2095 { /* Inline fixed_ints$Int16$+ (self,p0) on <self:Numeric(Int16)> */
2096 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2097 /* <p0:Numeric> isa OTHER */
2098 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2099 cltype = type_struct->color;
2100 idtype = type_struct->id;
2101 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2102 var3 = 0;
2103 } else {
2104 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2105 }
2106 if (unlikely(!var3)) {
2107 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2108 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2109 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 246);
2110 fatal_exit(1);
2111 }
2112 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2113 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2114 var6 = var4 + var5;
2115 var1 = var6;
2116 goto RET_LABEL2;
2117 RET_LABEL2:(void)0;
2118 }
2119 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2120 var = var7;
2121 RET_LABEL:;
2122 return var;
2123 }
2124 /* method fixed_ints$Int16$unary - for (self: Int16): Int16 */
2125 int16_t core___core__Int16___core__kernel__Numeric__unary_32d_45d(int16_t self) {
2126 int16_t var /* : Int16 */;
2127 int16_t var1 /* : Int16 */;
2128 var1 = -self;
2129 var = var1;
2130 goto RET_LABEL;
2131 RET_LABEL:;
2132 return var;
2133 }
2134 /* method fixed_ints$Int16$unary - for (self: Numeric): Numeric */
2135 val* VIRTUAL_core___core__Int16___core__kernel__Numeric__unary_32d_45d(val* self) {
2136 val* var /* : Numeric */;
2137 int16_t var1 /* : Int16 */;
2138 int16_t var3 /* : Int16 */;
2139 int16_t var4 /* : Int16 */;
2140 val* var5 /* : Numeric */;
2141 { /* Inline fixed_ints$Int16$unary - (self) on <self:Numeric(Int16)> */
2142 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2143 var4 = -var3;
2144 var1 = var4;
2145 goto RET_LABEL2;
2146 RET_LABEL2:(void)0;
2147 }
2148 var5 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2149 var = var5;
2150 RET_LABEL:;
2151 return var;
2152 }
2153 /* method fixed_ints$Int16$- for (self: Int16, Int16): Int16 */
2154 int16_t core___core__Int16___core__kernel__Numeric___45d(int16_t self, int16_t p0) {
2155 int16_t var /* : Int16 */;
2156 short int var1 /* : Bool */;
2157 int cltype;
2158 int idtype;
2159 const char* var_class_name;
2160 int16_t var2 /* : Int16 */;
2161 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2162 /* <p0:Int16> isa OTHER */
2163 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2164 if (unlikely(!var1)) {
2165 var_class_name = type_core__Int16.name;
2166 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2167 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 251);
2168 fatal_exit(1);
2169 }
2170 var2 = self - p0;
2171 var = var2;
2172 goto RET_LABEL;
2173 RET_LABEL:;
2174 return var;
2175 }
2176 /* method fixed_ints$Int16$- for (self: Numeric, Numeric): Numeric */
2177 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___45d(val* self, val* p0) {
2178 val* var /* : Numeric */;
2179 int16_t var1 /* : Int16 */;
2180 short int var3 /* : Bool */;
2181 int cltype;
2182 int idtype;
2183 const struct type* type_struct;
2184 const char* var_class_name;
2185 int16_t var4 /* : Int16 */;
2186 int16_t var5 /* : Int16 */;
2187 int16_t var6 /* : Int16 */;
2188 val* var7 /* : Numeric */;
2189 { /* Inline fixed_ints$Int16$- (self,p0) on <self:Numeric(Int16)> */
2190 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2191 /* <p0:Numeric> isa OTHER */
2192 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2193 cltype = type_struct->color;
2194 idtype = type_struct->id;
2195 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2196 var3 = 0;
2197 } else {
2198 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2199 }
2200 if (unlikely(!var3)) {
2201 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2202 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2203 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 251);
2204 fatal_exit(1);
2205 }
2206 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2207 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2208 var6 = var4 - var5;
2209 var1 = var6;
2210 goto RET_LABEL2;
2211 RET_LABEL2:(void)0;
2212 }
2213 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2214 var = var7;
2215 RET_LABEL:;
2216 return var;
2217 }
2218 /* method fixed_ints$Int16$* for (self: Int16, Int16): Int16 */
2219 int16_t core___core__Int16___core__kernel__Numeric___42d(int16_t self, int16_t p0) {
2220 int16_t var /* : Int16 */;
2221 short int var1 /* : Bool */;
2222 int cltype;
2223 int idtype;
2224 const char* var_class_name;
2225 int16_t var2 /* : Int16 */;
2226 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2227 /* <p0:Int16> isa OTHER */
2228 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2229 if (unlikely(!var1)) {
2230 var_class_name = type_core__Int16.name;
2231 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2232 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 252);
2233 fatal_exit(1);
2234 }
2235 var2 = self * p0;
2236 var = var2;
2237 goto RET_LABEL;
2238 RET_LABEL:;
2239 return var;
2240 }
2241 /* method fixed_ints$Int16$* for (self: Numeric, Numeric): Numeric */
2242 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___42d(val* self, val* p0) {
2243 val* var /* : Numeric */;
2244 int16_t var1 /* : Int16 */;
2245 short int var3 /* : Bool */;
2246 int cltype;
2247 int idtype;
2248 const struct type* type_struct;
2249 const char* var_class_name;
2250 int16_t var4 /* : Int16 */;
2251 int16_t var5 /* : Int16 */;
2252 int16_t var6 /* : Int16 */;
2253 val* var7 /* : Numeric */;
2254 { /* Inline fixed_ints$Int16$* (self,p0) on <self:Numeric(Int16)> */
2255 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2256 /* <p0:Numeric> isa OTHER */
2257 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2258 cltype = type_struct->color;
2259 idtype = type_struct->id;
2260 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2261 var3 = 0;
2262 } else {
2263 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2264 }
2265 if (unlikely(!var3)) {
2266 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2268 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 252);
2269 fatal_exit(1);
2270 }
2271 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2272 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2273 var6 = var4 * var5;
2274 var1 = var6;
2275 goto RET_LABEL2;
2276 RET_LABEL2:(void)0;
2277 }
2278 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2279 var = var7;
2280 RET_LABEL:;
2281 return var;
2282 }
2283 /* method fixed_ints$Int16$/ for (self: Int16, Int16): Int16 */
2284 int16_t core___core__Int16___core__kernel__Numeric___47d(int16_t self, int16_t p0) {
2285 int16_t var /* : Int16 */;
2286 short int var1 /* : Bool */;
2287 int cltype;
2288 int idtype;
2289 const char* var_class_name;
2290 int16_t var2 /* : Int16 */;
2291 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2292 /* <p0:Int16> isa OTHER */
2293 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2294 if (unlikely(!var1)) {
2295 var_class_name = type_core__Int16.name;
2296 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2297 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 253);
2298 fatal_exit(1);
2299 }
2300 var2 = self / p0;
2301 var = var2;
2302 goto RET_LABEL;
2303 RET_LABEL:;
2304 return var;
2305 }
2306 /* method fixed_ints$Int16$/ for (self: Numeric, Numeric): Numeric */
2307 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___47d(val* self, val* p0) {
2308 val* var /* : Numeric */;
2309 int16_t var1 /* : Int16 */;
2310 short int var3 /* : Bool */;
2311 int cltype;
2312 int idtype;
2313 const struct type* type_struct;
2314 const char* var_class_name;
2315 int16_t var4 /* : Int16 */;
2316 int16_t var5 /* : Int16 */;
2317 int16_t var6 /* : Int16 */;
2318 val* var7 /* : Numeric */;
2319 { /* Inline fixed_ints$Int16$/ (self,p0) on <self:Numeric(Int16)> */
2320 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2321 /* <p0:Numeric> isa OTHER */
2322 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2323 cltype = type_struct->color;
2324 idtype = type_struct->id;
2325 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2326 var3 = 0;
2327 } else {
2328 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2329 }
2330 if (unlikely(!var3)) {
2331 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2332 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2333 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 253);
2334 fatal_exit(1);
2335 }
2336 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2337 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2338 var6 = var4 / var5;
2339 var1 = var6;
2340 goto RET_LABEL2;
2341 RET_LABEL2:(void)0;
2342 }
2343 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2344 var = var7;
2345 RET_LABEL:;
2346 return var;
2347 }
2348 /* method fixed_ints$Int16$to_i for (self: Int16): Int */
2349 long core___core__Int16___core__kernel__Numeric__to_i(int16_t self) {
2350 long var /* : Int */;
2351 long var1 /* : Int */;
2352 var1 = (long)self;
2353 var = var1;
2354 goto RET_LABEL;
2355 RET_LABEL:;
2356 return var;
2357 }
2358 /* method fixed_ints$Int16$to_i for (self: Numeric): Int */
2359 long VIRTUAL_core___core__Int16___core__kernel__Numeric__to_i(val* self) {
2360 long var /* : Int */;
2361 long var1 /* : Int */;
2362 int16_t var3 /* : Int16 */;
2363 long var4 /* : Int */;
2364 { /* Inline fixed_ints$Int16$to_i (self) on <self:Numeric(Int16)> */
2365 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2366 var4 = (long)var3;
2367 var1 = var4;
2368 goto RET_LABEL2;
2369 RET_LABEL2:(void)0;
2370 }
2371 var = var1;
2372 RET_LABEL:;
2373 return var;
2374 }
2375 /* method fixed_ints$Int16$to_f for (self: Int16): Float */
2376 double core___core__Int16___core__kernel__Numeric__to_f(int16_t self) {
2377 double var /* : Float */;
2378 double var1 /* : Float */;
2379 var1 = (double)self;
2380 var = var1;
2381 goto RET_LABEL;
2382 RET_LABEL:;
2383 return var;
2384 }
2385 /* method fixed_ints$Int16$to_f for (self: Numeric): Float */
2386 double VIRTUAL_core___core__Int16___core__kernel__Numeric__to_f(val* self) {
2387 double var /* : Float */;
2388 double var1 /* : Float */;
2389 int16_t var3 /* : Int16 */;
2390 double var4 /* : Float */;
2391 { /* Inline fixed_ints$Int16$to_f (self) on <self:Numeric(Int16)> */
2392 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2393 var4 = (double)var3;
2394 var1 = var4;
2395 goto RET_LABEL2;
2396 RET_LABEL2:(void)0;
2397 }
2398 var = var1;
2399 RET_LABEL:;
2400 return var;
2401 }
2402 /* method fixed_ints$Int16$to_b for (self: Int16): Byte */
2403 unsigned char core___core__Int16___core__kernel__Numeric__to_b(int16_t self) {
2404 unsigned char var /* : Byte */;
2405 unsigned char var1 /* : Byte */;
2406 var1 = (unsigned char)self;
2407 var = var1;
2408 goto RET_LABEL;
2409 RET_LABEL:;
2410 return var;
2411 }
2412 /* method fixed_ints$Int16$to_b for (self: Numeric): Byte */
2413 unsigned char VIRTUAL_core___core__Int16___core__kernel__Numeric__to_b(val* self) {
2414 unsigned char var /* : Byte */;
2415 unsigned char var1 /* : Byte */;
2416 int16_t var3 /* : Int16 */;
2417 unsigned char var4 /* : Byte */;
2418 { /* Inline fixed_ints$Int16$to_b (self) on <self:Numeric(Int16)> */
2419 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2420 var4 = (unsigned char)var3;
2421 var1 = var4;
2422 goto RET_LABEL2;
2423 RET_LABEL2:(void)0;
2424 }
2425 var = var1;
2426 RET_LABEL:;
2427 return var;
2428 }
2429 /* method fixed_ints$Int16$to_i8 for (self: Int16): Int8 */
2430 int8_t core___core__Int16___Numeric__to_i8(int16_t self) {
2431 int8_t var /* : Int8 */;
2432 int8_t var1 /* : Int8 */;
2433 var1 = (int8_t)self;
2434 var = var1;
2435 goto RET_LABEL;
2436 RET_LABEL:;
2437 return var;
2438 }
2439 /* method fixed_ints$Int16$to_i8 for (self: Numeric): Int8 */
2440 int8_t VIRTUAL_core___core__Int16___Numeric__to_i8(val* self) {
2441 int8_t var /* : Int8 */;
2442 int8_t var1 /* : Int8 */;
2443 int16_t var3 /* : Int16 */;
2444 int8_t var4 /* : Int8 */;
2445 { /* Inline fixed_ints$Int16$to_i8 (self) on <self:Numeric(Int16)> */
2446 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2447 var4 = (int8_t)var3;
2448 var1 = var4;
2449 goto RET_LABEL2;
2450 RET_LABEL2:(void)0;
2451 }
2452 var = var1;
2453 RET_LABEL:;
2454 return var;
2455 }
2456 /* method fixed_ints$Int16$to_i16 for (self: Int16): Int16 */
2457 int16_t core___core__Int16___Numeric__to_i16(int16_t self) {
2458 int16_t var /* : Int16 */;
2459 var = self;
2460 goto RET_LABEL;
2461 RET_LABEL:;
2462 return var;
2463 }
2464 /* method fixed_ints$Int16$to_i16 for (self: Numeric): Int16 */
2465 int16_t VIRTUAL_core___core__Int16___Numeric__to_i16(val* self) {
2466 int16_t var /* : Int16 */;
2467 int16_t var1 /* : Int16 */;
2468 int16_t var2 /* : Int16 */;
2469 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2470 var1 = core___core__Int16___Numeric__to_i16(var2);
2471 var = var1;
2472 RET_LABEL:;
2473 return var;
2474 }
2475 /* method fixed_ints$Int16$to_u16 for (self: Int16): UInt16 */
2476 uint16_t core___core__Int16___Numeric__to_u16(int16_t self) {
2477 uint16_t var /* : UInt16 */;
2478 uint16_t var1 /* : UInt16 */;
2479 var1 = (uint16_t)self;
2480 var = var1;
2481 goto RET_LABEL;
2482 RET_LABEL:;
2483 return var;
2484 }
2485 /* method fixed_ints$Int16$to_u16 for (self: Numeric): UInt16 */
2486 uint16_t VIRTUAL_core___core__Int16___Numeric__to_u16(val* self) {
2487 uint16_t var /* : UInt16 */;
2488 uint16_t var1 /* : UInt16 */;
2489 int16_t var3 /* : Int16 */;
2490 uint16_t var4 /* : UInt16 */;
2491 { /* Inline fixed_ints$Int16$to_u16 (self) on <self:Numeric(Int16)> */
2492 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2493 var4 = (uint16_t)var3;
2494 var1 = var4;
2495 goto RET_LABEL2;
2496 RET_LABEL2:(void)0;
2497 }
2498 var = var1;
2499 RET_LABEL:;
2500 return var;
2501 }
2502 /* method fixed_ints$Int16$to_i32 for (self: Int16): Int32 */
2503 int32_t core___core__Int16___Numeric__to_i32(int16_t self) {
2504 int32_t var /* : Int32 */;
2505 int32_t var1 /* : Int32 */;
2506 var1 = (int32_t)self;
2507 var = var1;
2508 goto RET_LABEL;
2509 RET_LABEL:;
2510 return var;
2511 }
2512 /* method fixed_ints$Int16$to_i32 for (self: Numeric): Int32 */
2513 int32_t VIRTUAL_core___core__Int16___Numeric__to_i32(val* self) {
2514 int32_t var /* : Int32 */;
2515 int32_t var1 /* : Int32 */;
2516 int16_t var3 /* : Int16 */;
2517 int32_t var4 /* : Int32 */;
2518 { /* Inline fixed_ints$Int16$to_i32 (self) on <self:Numeric(Int16)> */
2519 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2520 var4 = (int32_t)var3;
2521 var1 = var4;
2522 goto RET_LABEL2;
2523 RET_LABEL2:(void)0;
2524 }
2525 var = var1;
2526 RET_LABEL:;
2527 return var;
2528 }
2529 /* method fixed_ints$Int16$to_u32 for (self: Int16): UInt32 */
2530 uint32_t core___core__Int16___Numeric__to_u32(int16_t self) {
2531 uint32_t var /* : UInt32 */;
2532 uint32_t var1 /* : UInt32 */;
2533 var1 = (uint32_t)self;
2534 var = var1;
2535 goto RET_LABEL;
2536 RET_LABEL:;
2537 return var;
2538 }
2539 /* method fixed_ints$Int16$to_u32 for (self: Numeric): UInt32 */
2540 uint32_t VIRTUAL_core___core__Int16___Numeric__to_u32(val* self) {
2541 uint32_t var /* : UInt32 */;
2542 uint32_t var1 /* : UInt32 */;
2543 int16_t var3 /* : Int16 */;
2544 uint32_t var4 /* : UInt32 */;
2545 { /* Inline fixed_ints$Int16$to_u32 (self) on <self:Numeric(Int16)> */
2546 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2547 var4 = (uint32_t)var3;
2548 var1 = var4;
2549 goto RET_LABEL2;
2550 RET_LABEL2:(void)0;
2551 }
2552 var = var1;
2553 RET_LABEL:;
2554 return var;
2555 }
2556 /* method fixed_ints$Int16$distance for (self: Int16, Int16): Int */
2557 long core___core__Int16___core__kernel__Discrete__distance(int16_t self, int16_t p0) {
2558 long var /* : Int */;
2559 short int var1 /* : Bool */;
2560 int cltype;
2561 int idtype;
2562 const char* var_class_name;
2563 int16_t var_i /* var i: Int16 */;
2564 int16_t var2 /* : Int16 */;
2565 short int var4 /* : Bool */;
2566 int cltype5;
2567 int idtype6;
2568 const char* var_class_name7;
2569 int16_t var8 /* : Int16 */;
2570 long var9 /* : Int */;
2571 long var11 /* : Int */;
2572 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2573 /* <p0:Int16> isa OTHER */
2574 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2575 if (unlikely(!var1)) {
2576 var_class_name = type_core__Int16.name;
2577 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2578 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 288);
2579 fatal_exit(1);
2580 }
2581 var_i = p0;
2582 {
2583 { /* Inline fixed_ints$Int16$- (self,var_i) on <self:Int16> */
2584 /* Covariant cast for argument 0 (i) <var_i:Int16> isa OTHER */
2585 /* <var_i:Int16> isa OTHER */
2586 var4 = 1; /* easy <var_i:Int16> isa OTHER*/
2587 if (unlikely(!var4)) {
2588 var_class_name7 = type_core__Int16.name;
2589 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2590 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 251);
2591 fatal_exit(1);
2592 }
2593 var8 = self - var_i;
2594 var2 = var8;
2595 goto RET_LABEL3;
2596 RET_LABEL3:(void)0;
2597 }
2598 }
2599 {
2600 { /* Inline fixed_ints$Int16$to_i (var2) on <var2:Int16> */
2601 var11 = (long)var2;
2602 var9 = var11;
2603 goto RET_LABEL10;
2604 RET_LABEL10:(void)0;
2605 }
2606 }
2607 var = var9;
2608 goto RET_LABEL;
2609 RET_LABEL:;
2610 return var;
2611 }
2612 /* method fixed_ints$Int16$distance for (self: Discrete, Discrete): Int */
2613 long VIRTUAL_core___core__Int16___core__kernel__Discrete__distance(val* self, val* p0) {
2614 long var /* : Int */;
2615 long var1 /* : Int */;
2616 int16_t var2 /* : Int16 */;
2617 int16_t var3 /* : Int16 */;
2618 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Discrete to Int16 */;
2619 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Discrete to Int16 */;
2620 var1 = core___core__Int16___core__kernel__Discrete__distance(var2, var3);
2621 var = var1;
2622 RET_LABEL:;
2623 return var;
2624 }
2625 /* method fixed_ints$Int16$<=> for (self: Int16, Int16): Int */
2626 long core___core__Int16___core__kernel__Comparable___60d_61d_62d(int16_t self, int16_t p0) {
2627 long var /* : Int */;
2628 short int var1 /* : Bool */;
2629 int cltype;
2630 int idtype;
2631 const char* var_class_name;
2632 int16_t var_other /* var other: Int16 */;
2633 short int var2 /* : Bool */;
2634 short int var4 /* : Bool */;
2635 int cltype5;
2636 int idtype6;
2637 const char* var_class_name7;
2638 short int var8 /* : Bool */;
2639 long var9 /* : Int */;
2640 long var11 /* : Int */;
2641 short int var12 /* : Bool */;
2642 short int var14 /* : Bool */;
2643 int cltype15;
2644 int idtype16;
2645 const char* var_class_name17;
2646 short int var18 /* : Bool */;
2647 /* Covariant cast for argument 0 (other) <p0:Int16> isa OTHER */
2648 /* <p0:Int16> isa OTHER */
2649 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2650 if (unlikely(!var1)) {
2651 var_class_name = type_core__Int16.name;
2652 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2653 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 290);
2654 fatal_exit(1);
2655 }
2656 var_other = p0;
2657 {
2658 { /* Inline fixed_ints$Int16$< (self,var_other) on <self:Int16> */
2659 /* Covariant cast for argument 0 (i) <var_other:Int16> isa OTHER */
2660 /* <var_other:Int16> isa OTHER */
2661 var4 = 1; /* easy <var_other:Int16> isa OTHER*/
2662 if (unlikely(!var4)) {
2663 var_class_name7 = type_core__Int16.name;
2664 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2665 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
2666 fatal_exit(1);
2667 }
2668 var8 = self < var_other;
2669 var2 = var8;
2670 goto RET_LABEL3;
2671 RET_LABEL3:(void)0;
2672 }
2673 }
2674 if (var2){
2675 {
2676 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
2677 var11 = -1l;
2678 var9 = var11;
2679 goto RET_LABEL10;
2680 RET_LABEL10:(void)0;
2681 }
2682 }
2683 var = var9;
2684 goto RET_LABEL;
2685 } else {
2686 {
2687 { /* Inline fixed_ints$Int16$< (var_other,self) on <var_other:Int16> */
2688 /* Covariant cast for argument 0 (i) <self:Int16> isa OTHER */
2689 /* <self:Int16> isa OTHER */
2690 var14 = 1; /* easy <self:Int16> isa OTHER*/
2691 if (unlikely(!var14)) {
2692 var_class_name17 = type_core__Int16.name;
2693 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2694 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
2695 fatal_exit(1);
2696 }
2697 var18 = var_other < self;
2698 var12 = var18;
2699 goto RET_LABEL13;
2700 RET_LABEL13:(void)0;
2701 }
2702 }
2703 if (var12){
2704 var = 1l;
2705 goto RET_LABEL;
2706 } else {
2707 var = 0l;
2708 goto RET_LABEL;
2709 }
2710 }
2711 RET_LABEL:;
2712 return var;
2713 }
2714 /* method fixed_ints$Int16$<=> for (self: Comparable, Comparable): Int */
2715 long VIRTUAL_core___core__Int16___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
2716 long var /* : Int */;
2717 long var1 /* : Int */;
2718 int16_t var2 /* : Int16 */;
2719 int16_t var3 /* : Int16 */;
2720 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2721 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2722 var1 = core___core__Int16___core__kernel__Comparable___60d_61d_62d(var2, var3);
2723 var = var1;
2724 RET_LABEL:;
2725 return var;
2726 }
2727 /* method fixed_ints$Int16$max for (self: Int16, Int16): Int16 */
2728 int16_t core___core__Int16___core__kernel__Comparable__max(int16_t self, int16_t p0) {
2729 int16_t var /* : Int16 */;
2730 short int var1 /* : Bool */;
2731 int cltype;
2732 int idtype;
2733 const char* var_class_name;
2734 int16_t var_other /* var other: Int16 */;
2735 short int var2 /* : Bool */;
2736 short int var4 /* : Bool */;
2737 int cltype5;
2738 int idtype6;
2739 const char* var_class_name7;
2740 short int var8 /* : Bool */;
2741 /* Covariant cast for argument 0 (other) <p0:Int16> isa OTHER */
2742 /* <p0:Int16> isa OTHER */
2743 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2744 if (unlikely(!var1)) {
2745 var_class_name = type_core__Int16.name;
2746 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2747 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 310);
2748 fatal_exit(1);
2749 }
2750 var_other = p0;
2751 {
2752 { /* Inline fixed_ints$Int16$< (self,var_other) on <self:Int16> */
2753 /* Covariant cast for argument 0 (i) <var_other:Int16> isa OTHER */
2754 /* <var_other:Int16> isa OTHER */
2755 var4 = 1; /* easy <var_other:Int16> isa OTHER*/
2756 if (unlikely(!var4)) {
2757 var_class_name7 = type_core__Int16.name;
2758 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2759 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
2760 fatal_exit(1);
2761 }
2762 var8 = self < var_other;
2763 var2 = var8;
2764 goto RET_LABEL3;
2765 RET_LABEL3:(void)0;
2766 }
2767 }
2768 if (var2){
2769 var = var_other;
2770 goto RET_LABEL;
2771 } else {
2772 var = self;
2773 goto RET_LABEL;
2774 }
2775 RET_LABEL:;
2776 return var;
2777 }
2778 /* method fixed_ints$Int16$max for (self: Comparable, Comparable): Comparable */
2779 val* VIRTUAL_core___core__Int16___core__kernel__Comparable__max(val* self, val* p0) {
2780 val* var /* : Comparable */;
2781 int16_t var1 /* : Int16 */;
2782 int16_t var2 /* : Int16 */;
2783 int16_t var3 /* : Int16 */;
2784 val* var4 /* : Comparable */;
2785 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2786 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2787 var1 = core___core__Int16___core__kernel__Comparable__max(var2, var3);
2788 var4 = BOX_core__Int16(var1); /* autobox from Int16 to Comparable */
2789 var = var4;
2790 RET_LABEL:;
2791 return var;
2792 }
2793 /* method fixed_ints$Int16$min for (self: Int16, Int16): Int16 */
2794 int16_t core___core__Int16___core__kernel__Comparable__min(int16_t self, int16_t p0) {
2795 int16_t var /* : Int16 */;
2796 short int var1 /* : Bool */;
2797 int cltype;
2798 int idtype;
2799 const char* var_class_name;
2800 int16_t var_c /* var c: Int16 */;
2801 short int var2 /* : Bool */;
2802 short int var4 /* : Bool */;
2803 int cltype5;
2804 int idtype6;
2805 const char* var_class_name7;
2806 short int var8 /* : Bool */;
2807 /* Covariant cast for argument 0 (c) <p0:Int16> isa OTHER */
2808 /* <p0:Int16> isa OTHER */
2809 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2810 if (unlikely(!var1)) {
2811 var_class_name = type_core__Int16.name;
2812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2813 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 319);
2814 fatal_exit(1);
2815 }
2816 var_c = p0;
2817 {
2818 { /* Inline fixed_ints$Int16$< (var_c,self) on <var_c:Int16> */
2819 /* Covariant cast for argument 0 (i) <self:Int16> isa OTHER */
2820 /* <self:Int16> isa OTHER */
2821 var4 = 1; /* easy <self:Int16> isa OTHER*/
2822 if (unlikely(!var4)) {
2823 var_class_name7 = type_core__Int16.name;
2824 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2825 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 243);
2826 fatal_exit(1);
2827 }
2828 var8 = var_c < self;
2829 var2 = var8;
2830 goto RET_LABEL3;
2831 RET_LABEL3:(void)0;
2832 }
2833 }
2834 if (var2){
2835 var = var_c;
2836 goto RET_LABEL;
2837 } else {
2838 var = self;
2839 goto RET_LABEL;
2840 }
2841 RET_LABEL:;
2842 return var;
2843 }
2844 /* method fixed_ints$Int16$min for (self: Comparable, Comparable): Comparable */
2845 val* VIRTUAL_core___core__Int16___core__kernel__Comparable__min(val* self, val* p0) {
2846 val* var /* : Comparable */;
2847 int16_t var1 /* : Int16 */;
2848 int16_t var2 /* : Int16 */;
2849 int16_t var3 /* : Int16 */;
2850 val* var4 /* : Comparable */;
2851 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2852 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2853 var1 = core___core__Int16___core__kernel__Comparable__min(var2, var3);
2854 var4 = BOX_core__Int16(var1); /* autobox from Int16 to Comparable */
2855 var = var4;
2856 RET_LABEL:;
2857 return var;
2858 }
2859 /* method fixed_ints$UInt16$successor for (self: UInt16, Int): UInt16 */
2860 uint16_t core___core__UInt16___core__kernel__Discrete__successor(uint16_t self, long p0) {
2861 uint16_t var /* : UInt16 */;
2862 long var_i /* var i: Int */;
2863 uint16_t var1 /* : UInt16 */;
2864 uint16_t var3 /* : UInt16 */;
2865 uint16_t var4 /* : UInt16 */;
2866 short int var6 /* : Bool */;
2867 int cltype;
2868 int idtype;
2869 const char* var_class_name;
2870 uint16_t var7 /* : UInt16 */;
2871 var_i = p0;
2872 {
2873 { /* Inline fixed_ints$Int$to_u16 (var_i) on <var_i:Int> */
2874 var3 = (uint16_t)var_i;
2875 var1 = var3;
2876 goto RET_LABEL2;
2877 RET_LABEL2:(void)0;
2878 }
2879 }
2880 {
2881 { /* Inline fixed_ints$UInt16$+ (self,var1) on <self:UInt16> */
2882 /* Covariant cast for argument 0 (i) <var1:UInt16> isa OTHER */
2883 /* <var1:UInt16> isa OTHER */
2884 var6 = 1; /* easy <var1:UInt16> isa OTHER*/
2885 if (unlikely(!var6)) {
2886 var_class_name = type_core__UInt16.name;
2887 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2888 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 370);
2889 fatal_exit(1);
2890 }
2891 var7 = self + var1;
2892 var4 = var7;
2893 goto RET_LABEL5;
2894 RET_LABEL5:(void)0;
2895 }
2896 }
2897 var = var4;
2898 goto RET_LABEL;
2899 RET_LABEL:;
2900 return var;
2901 }
2902 /* method fixed_ints$UInt16$successor for (self: Discrete, Int): Discrete */
2903 val* VIRTUAL_core___core__UInt16___core__kernel__Discrete__successor(val* self, long p0) {
2904 val* var /* : Discrete */;
2905 uint16_t var1 /* : UInt16 */;
2906 uint16_t var2 /* : UInt16 */;
2907 val* var3 /* : Discrete */;
2908 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Discrete to UInt16 */;
2909 var1 = core___core__UInt16___core__kernel__Discrete__successor(var2, p0);
2910 var3 = BOX_core__UInt16(var1); /* autobox from UInt16 to Discrete */
2911 var = var3;
2912 RET_LABEL:;
2913 return var;
2914 }
2915 /* method fixed_ints$UInt16$object_id for (self: UInt16): Int */
2916 long core___core__UInt16___core__kernel__Object__object_id(uint16_t self) {
2917 long var /* : Int */;
2918 long var1 /* : Int */;
2919 var1 = (long)self;
2920 var = var1;
2921 goto RET_LABEL;
2922 RET_LABEL:;
2923 return var;
2924 }
2925 /* method fixed_ints$UInt16$object_id for (self: Object): Int */
2926 long VIRTUAL_core___core__UInt16___core__kernel__Object__object_id(val* self) {
2927 long var /* : Int */;
2928 long var1 /* : Int */;
2929 uint16_t var3 /* : UInt16 */;
2930 long var4 /* : Int */;
2931 { /* Inline fixed_ints$UInt16$object_id (self) on <self:Object(UInt16)> */
2932 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
2933 var4 = (long)var3;
2934 var1 = var4;
2935 goto RET_LABEL2;
2936 RET_LABEL2:(void)0;
2937 }
2938 var = var1;
2939 RET_LABEL:;
2940 return var;
2941 }
2942 /* method fixed_ints$UInt16$hash for (self: UInt16): Int */
2943 long core___core__UInt16___core__kernel__Object__hash(uint16_t self) {
2944 long var /* : Int */;
2945 long var1 /* : Int */;
2946 long var3 /* : Int */;
2947 {
2948 { /* Inline fixed_ints$UInt16$to_i (self) on <self:UInt16> */
2949 var3 = (long)self;
2950 var1 = var3;
2951 goto RET_LABEL2;
2952 RET_LABEL2:(void)0;
2953 }
2954 }
2955 var = var1;
2956 goto RET_LABEL;
2957 RET_LABEL:;
2958 return var;
2959 }
2960 /* method fixed_ints$UInt16$hash for (self: Object): Int */
2961 long VIRTUAL_core___core__UInt16___core__kernel__Object__hash(val* self) {
2962 long var /* : Int */;
2963 long var1 /* : Int */;
2964 uint16_t var2 /* : UInt16 */;
2965 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
2966 var1 = core___core__UInt16___core__kernel__Object__hash(var2);
2967 var = var1;
2968 RET_LABEL:;
2969 return var;
2970 }
2971 /* method fixed_ints$UInt16$== for (self: UInt16, nullable Object): Bool */
2972 short int core___core__UInt16___core__kernel__Object___61d_61d(uint16_t self, val* p0) {
2973 short int var /* : Bool */;
2974 short int var1 /* : Bool */;
2975 uint16_t var2 /* : UInt16 */;
2976 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt16)) {
2977 var2 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from nullable Object to UInt16 */;
2978 var1 = var2 == self;
2979 } else var1 = 0;
2980 var = var1;
2981 goto RET_LABEL;
2982 RET_LABEL:;
2983 return var;
2984 }
2985 /* method fixed_ints$UInt16$== for (self: Object, nullable Object): Bool */
2986 short int VIRTUAL_core___core__UInt16___core__kernel__Object___61d_61d(val* self, val* p0) {
2987 short int var /* : Bool */;
2988 short int var1 /* : Bool */;
2989 short int var3 /* : Bool */;
2990 { /* Inline fixed_ints$UInt16$== (self,p0) on <self:Object(UInt16)> */
2991 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)p0)->value);
2992 var1 = var3;
2993 goto RET_LABEL2;
2994 RET_LABEL2:(void)0;
2995 }
2996 var = var1;
2997 RET_LABEL:;
2998 return var;
2999 }
3000 /* method fixed_ints$UInt16$!= for (self: UInt16, nullable Object): Bool */
3001 short int core___core__UInt16___core__kernel__Object___33d_61d(uint16_t self, val* p0) {
3002 short int var /* : Bool */;
3003 short int var1 /* : Bool */;
3004 uint16_t var2 /* : UInt16 */;
3005 short int var3 /* : Bool */;
3006 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt16)) {
3007 var2 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from nullable Object to UInt16 */;
3008 var1 = var2 == self;
3009 } else var1 = 0;
3010 var3 = !var1;
3011 var = var3;
3012 goto RET_LABEL;
3013 RET_LABEL:;
3014 return var;
3015 }
3016 /* method fixed_ints$UInt16$!= for (self: Object, nullable Object): Bool */
3017 short int VIRTUAL_core___core__UInt16___core__kernel__Object___33d_61d(val* self, val* p0) {
3018 short int var /* : Bool */;
3019 short int var1 /* : Bool */;
3020 short int var3 /* : Bool */;
3021 short int var4 /* : Bool */;
3022 { /* Inline fixed_ints$UInt16$!= (self,p0) on <self:Object(UInt16)> */
3023 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)p0)->value);
3024 var4 = !var3;
3025 var1 = var4;
3026 goto RET_LABEL2;
3027 RET_LABEL2:(void)0;
3028 }
3029 var = var1;
3030 RET_LABEL:;
3031 return var;
3032 }
3033 /* method fixed_ints$UInt16$<= for (self: UInt16, UInt16): Bool */
3034 short int core___core__UInt16___core__kernel__Comparable___60d_61d(uint16_t self, uint16_t p0) {
3035 short int var /* : Bool */;
3036 short int var1 /* : Bool */;
3037 int cltype;
3038 int idtype;
3039 const char* var_class_name;
3040 short int var2 /* : Bool */;
3041 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3042 /* <p0:UInt16> isa OTHER */
3043 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3044 if (unlikely(!var1)) {
3045 var_class_name = type_core__UInt16.name;
3046 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3047 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 366);
3048 fatal_exit(1);
3049 }
3050 var2 = self <= p0;
3051 var = var2;
3052 goto RET_LABEL;
3053 RET_LABEL:;
3054 return var;
3055 }
3056 /* method fixed_ints$UInt16$<= for (self: Comparable, Comparable): Bool */
3057 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d_61d(val* self, val* p0) {
3058 short int var /* : Bool */;
3059 short int var1 /* : Bool */;
3060 short int var3 /* : Bool */;
3061 int cltype;
3062 int idtype;
3063 const struct type* type_struct;
3064 const char* var_class_name;
3065 uint16_t var4 /* : UInt16 */;
3066 uint16_t var5 /* : UInt16 */;
3067 short int var6 /* : Bool */;
3068 { /* Inline fixed_ints$UInt16$<= (self,p0) on <self:Comparable(UInt16)> */
3069 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3070 /* <p0:Comparable> isa OTHER */
3071 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3072 cltype = type_struct->color;
3073 idtype = type_struct->id;
3074 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3075 var3 = 0;
3076 } else {
3077 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3078 }
3079 if (unlikely(!var3)) {
3080 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3081 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3082 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 366);
3083 fatal_exit(1);
3084 }
3085 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3086 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3087 var6 = var4 <= var5;
3088 var1 = var6;
3089 goto RET_LABEL2;
3090 RET_LABEL2:(void)0;
3091 }
3092 var = var1;
3093 RET_LABEL:;
3094 return var;
3095 }
3096 /* method fixed_ints$UInt16$< for (self: UInt16, UInt16): Bool */
3097 short int core___core__UInt16___core__kernel__Comparable___60d(uint16_t self, uint16_t p0) {
3098 short int var /* : Bool */;
3099 short int var1 /* : Bool */;
3100 int cltype;
3101 int idtype;
3102 const char* var_class_name;
3103 short int var2 /* : Bool */;
3104 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3105 /* <p0:UInt16> isa OTHER */
3106 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3107 if (unlikely(!var1)) {
3108 var_class_name = type_core__UInt16.name;
3109 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3110 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
3111 fatal_exit(1);
3112 }
3113 var2 = self < p0;
3114 var = var2;
3115 goto RET_LABEL;
3116 RET_LABEL:;
3117 return var;
3118 }
3119 /* method fixed_ints$UInt16$< for (self: Comparable, Comparable): Bool */
3120 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d(val* self, val* p0) {
3121 short int var /* : Bool */;
3122 short int var1 /* : Bool */;
3123 short int var3 /* : Bool */;
3124 int cltype;
3125 int idtype;
3126 const struct type* type_struct;
3127 const char* var_class_name;
3128 uint16_t var4 /* : UInt16 */;
3129 uint16_t var5 /* : UInt16 */;
3130 short int var6 /* : Bool */;
3131 { /* Inline fixed_ints$UInt16$< (self,p0) on <self:Comparable(UInt16)> */
3132 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3133 /* <p0:Comparable> isa OTHER */
3134 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3135 cltype = type_struct->color;
3136 idtype = type_struct->id;
3137 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3138 var3 = 0;
3139 } else {
3140 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3141 }
3142 if (unlikely(!var3)) {
3143 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3144 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3145 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
3146 fatal_exit(1);
3147 }
3148 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3149 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3150 var6 = var4 < var5;
3151 var1 = var6;
3152 goto RET_LABEL2;
3153 RET_LABEL2:(void)0;
3154 }
3155 var = var1;
3156 RET_LABEL:;
3157 return var;
3158 }
3159 /* method fixed_ints$UInt16$>= for (self: UInt16, UInt16): Bool */
3160 short int core___core__UInt16___core__kernel__Comparable___62d_61d(uint16_t self, uint16_t p0) {
3161 short int var /* : Bool */;
3162 short int var1 /* : Bool */;
3163 int cltype;
3164 int idtype;
3165 const char* var_class_name;
3166 short int var2 /* : Bool */;
3167 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3168 /* <p0:UInt16> isa OTHER */
3169 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3170 if (unlikely(!var1)) {
3171 var_class_name = type_core__UInt16.name;
3172 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3173 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 368);
3174 fatal_exit(1);
3175 }
3176 var2 = self >= p0;
3177 var = var2;
3178 goto RET_LABEL;
3179 RET_LABEL:;
3180 return var;
3181 }
3182 /* method fixed_ints$UInt16$>= for (self: Comparable, Comparable): Bool */
3183 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___62d_61d(val* self, val* p0) {
3184 short int var /* : Bool */;
3185 short int var1 /* : Bool */;
3186 short int var3 /* : Bool */;
3187 int cltype;
3188 int idtype;
3189 const struct type* type_struct;
3190 const char* var_class_name;
3191 uint16_t var4 /* : UInt16 */;
3192 uint16_t var5 /* : UInt16 */;
3193 short int var6 /* : Bool */;
3194 { /* Inline fixed_ints$UInt16$>= (self,p0) on <self:Comparable(UInt16)> */
3195 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3196 /* <p0:Comparable> isa OTHER */
3197 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3198 cltype = type_struct->color;
3199 idtype = type_struct->id;
3200 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3201 var3 = 0;
3202 } else {
3203 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3204 }
3205 if (unlikely(!var3)) {
3206 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3207 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3208 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 368);
3209 fatal_exit(1);
3210 }
3211 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3212 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3213 var6 = var4 >= var5;
3214 var1 = var6;
3215 goto RET_LABEL2;
3216 RET_LABEL2:(void)0;
3217 }
3218 var = var1;
3219 RET_LABEL:;
3220 return var;
3221 }
3222 /* method fixed_ints$UInt16$> for (self: UInt16, UInt16): Bool */
3223 short int core___core__UInt16___core__kernel__Comparable___62d(uint16_t self, uint16_t p0) {
3224 short int var /* : Bool */;
3225 short int var1 /* : Bool */;
3226 int cltype;
3227 int idtype;
3228 const char* var_class_name;
3229 short int var2 /* : Bool */;
3230 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3231 /* <p0:UInt16> isa OTHER */
3232 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3233 if (unlikely(!var1)) {
3234 var_class_name = type_core__UInt16.name;
3235 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3236 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 369);
3237 fatal_exit(1);
3238 }
3239 var2 = self > p0;
3240 var = var2;
3241 goto RET_LABEL;
3242 RET_LABEL:;
3243 return var;
3244 }
3245 /* method fixed_ints$UInt16$> for (self: Comparable, Comparable): Bool */
3246 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___62d(val* self, val* p0) {
3247 short int var /* : Bool */;
3248 short int var1 /* : Bool */;
3249 short int var3 /* : Bool */;
3250 int cltype;
3251 int idtype;
3252 const struct type* type_struct;
3253 const char* var_class_name;
3254 uint16_t var4 /* : UInt16 */;
3255 uint16_t var5 /* : UInt16 */;
3256 short int var6 /* : Bool */;
3257 { /* Inline fixed_ints$UInt16$> (self,p0) on <self:Comparable(UInt16)> */
3258 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3259 /* <p0:Comparable> isa OTHER */
3260 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3261 cltype = type_struct->color;
3262 idtype = type_struct->id;
3263 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3264 var3 = 0;
3265 } else {
3266 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3267 }
3268 if (unlikely(!var3)) {
3269 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3271 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 369);
3272 fatal_exit(1);
3273 }
3274 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3275 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3276 var6 = var4 > var5;
3277 var1 = var6;
3278 goto RET_LABEL2;
3279 RET_LABEL2:(void)0;
3280 }
3281 var = var1;
3282 RET_LABEL:;
3283 return var;
3284 }
3285 /* method fixed_ints$UInt16$+ for (self: UInt16, UInt16): UInt16 */
3286 uint16_t core___core__UInt16___core__kernel__Numeric___43d(uint16_t self, uint16_t p0) {
3287 uint16_t var /* : UInt16 */;
3288 short int var1 /* : Bool */;
3289 int cltype;
3290 int idtype;
3291 const char* var_class_name;
3292 uint16_t var2 /* : UInt16 */;
3293 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3294 /* <p0:UInt16> isa OTHER */
3295 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3296 if (unlikely(!var1)) {
3297 var_class_name = type_core__UInt16.name;
3298 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3299 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 370);
3300 fatal_exit(1);
3301 }
3302 var2 = self + p0;
3303 var = var2;
3304 goto RET_LABEL;
3305 RET_LABEL:;
3306 return var;
3307 }
3308 /* method fixed_ints$UInt16$+ for (self: Numeric, Numeric): Numeric */
3309 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___43d(val* self, val* p0) {
3310 val* var /* : Numeric */;
3311 uint16_t var1 /* : UInt16 */;
3312 short int var3 /* : Bool */;
3313 int cltype;
3314 int idtype;
3315 const struct type* type_struct;
3316 const char* var_class_name;
3317 uint16_t var4 /* : UInt16 */;
3318 uint16_t var5 /* : UInt16 */;
3319 uint16_t var6 /* : UInt16 */;
3320 val* var7 /* : Numeric */;
3321 { /* Inline fixed_ints$UInt16$+ (self,p0) on <self:Numeric(UInt16)> */
3322 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3323 /* <p0:Numeric> isa OTHER */
3324 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3325 cltype = type_struct->color;
3326 idtype = type_struct->id;
3327 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3328 var3 = 0;
3329 } else {
3330 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3331 }
3332 if (unlikely(!var3)) {
3333 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3334 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3335 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 370);
3336 fatal_exit(1);
3337 }
3338 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3339 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3340 var6 = var4 + var5;
3341 var1 = var6;
3342 goto RET_LABEL2;
3343 RET_LABEL2:(void)0;
3344 }
3345 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3346 var = var7;
3347 RET_LABEL:;
3348 return var;
3349 }
3350 /* method fixed_ints$UInt16$unary - for (self: UInt16): UInt16 */
3351 uint16_t core___core__UInt16___core__kernel__Numeric__unary_32d_45d(uint16_t self) {
3352 uint16_t var /* : UInt16 */;
3353 uint16_t var1 /* : UInt16 */;
3354 var1 = -self;
3355 var = var1;
3356 goto RET_LABEL;
3357 RET_LABEL:;
3358 return var;
3359 }
3360 /* method fixed_ints$UInt16$unary - for (self: Numeric): Numeric */
3361 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric__unary_32d_45d(val* self) {
3362 val* var /* : Numeric */;
3363 uint16_t var1 /* : UInt16 */;
3364 uint16_t var3 /* : UInt16 */;
3365 uint16_t var4 /* : UInt16 */;
3366 val* var5 /* : Numeric */;
3367 { /* Inline fixed_ints$UInt16$unary - (self) on <self:Numeric(UInt16)> */
3368 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3369 var4 = -var3;
3370 var1 = var4;
3371 goto RET_LABEL2;
3372 RET_LABEL2:(void)0;
3373 }
3374 var5 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3375 var = var5;
3376 RET_LABEL:;
3377 return var;
3378 }
3379 /* method fixed_ints$UInt16$- for (self: UInt16, UInt16): UInt16 */
3380 uint16_t core___core__UInt16___core__kernel__Numeric___45d(uint16_t self, uint16_t p0) {
3381 uint16_t var /* : UInt16 */;
3382 short int var1 /* : Bool */;
3383 int cltype;
3384 int idtype;
3385 const char* var_class_name;
3386 uint16_t var2 /* : UInt16 */;
3387 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3388 /* <p0:UInt16> isa OTHER */
3389 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3390 if (unlikely(!var1)) {
3391 var_class_name = type_core__UInt16.name;
3392 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3393 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 375);
3394 fatal_exit(1);
3395 }
3396 var2 = self - p0;
3397 var = var2;
3398 goto RET_LABEL;
3399 RET_LABEL:;
3400 return var;
3401 }
3402 /* method fixed_ints$UInt16$- for (self: Numeric, Numeric): Numeric */
3403 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___45d(val* self, val* p0) {
3404 val* var /* : Numeric */;
3405 uint16_t var1 /* : UInt16 */;
3406 short int var3 /* : Bool */;
3407 int cltype;
3408 int idtype;
3409 const struct type* type_struct;
3410 const char* var_class_name;
3411 uint16_t var4 /* : UInt16 */;
3412 uint16_t var5 /* : UInt16 */;
3413 uint16_t var6 /* : UInt16 */;
3414 val* var7 /* : Numeric */;
3415 { /* Inline fixed_ints$UInt16$- (self,p0) on <self:Numeric(UInt16)> */
3416 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3417 /* <p0:Numeric> isa OTHER */
3418 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3419 cltype = type_struct->color;
3420 idtype = type_struct->id;
3421 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3422 var3 = 0;
3423 } else {
3424 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3425 }
3426 if (unlikely(!var3)) {
3427 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3428 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3429 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 375);
3430 fatal_exit(1);
3431 }
3432 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3433 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3434 var6 = var4 - var5;
3435 var1 = var6;
3436 goto RET_LABEL2;
3437 RET_LABEL2:(void)0;
3438 }
3439 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3440 var = var7;
3441 RET_LABEL:;
3442 return var;
3443 }
3444 /* method fixed_ints$UInt16$* for (self: UInt16, UInt16): UInt16 */
3445 uint16_t core___core__UInt16___core__kernel__Numeric___42d(uint16_t self, uint16_t p0) {
3446 uint16_t var /* : UInt16 */;
3447 short int var1 /* : Bool */;
3448 int cltype;
3449 int idtype;
3450 const char* var_class_name;
3451 uint16_t var2 /* : UInt16 */;
3452 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3453 /* <p0:UInt16> isa OTHER */
3454 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3455 if (unlikely(!var1)) {
3456 var_class_name = type_core__UInt16.name;
3457 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3458 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 376);
3459 fatal_exit(1);
3460 }
3461 var2 = self * p0;
3462 var = var2;
3463 goto RET_LABEL;
3464 RET_LABEL:;
3465 return var;
3466 }
3467 /* method fixed_ints$UInt16$* for (self: Numeric, Numeric): Numeric */
3468 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___42d(val* self, val* p0) {
3469 val* var /* : Numeric */;
3470 uint16_t var1 /* : UInt16 */;
3471 short int var3 /* : Bool */;
3472 int cltype;
3473 int idtype;
3474 const struct type* type_struct;
3475 const char* var_class_name;
3476 uint16_t var4 /* : UInt16 */;
3477 uint16_t var5 /* : UInt16 */;
3478 uint16_t var6 /* : UInt16 */;
3479 val* var7 /* : Numeric */;
3480 { /* Inline fixed_ints$UInt16$* (self,p0) on <self:Numeric(UInt16)> */
3481 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3482 /* <p0:Numeric> isa OTHER */
3483 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3484 cltype = type_struct->color;
3485 idtype = type_struct->id;
3486 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3487 var3 = 0;
3488 } else {
3489 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3490 }
3491 if (unlikely(!var3)) {
3492 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3494 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 376);
3495 fatal_exit(1);
3496 }
3497 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3498 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3499 var6 = var4 * var5;
3500 var1 = var6;
3501 goto RET_LABEL2;
3502 RET_LABEL2:(void)0;
3503 }
3504 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3505 var = var7;
3506 RET_LABEL:;
3507 return var;
3508 }
3509 /* method fixed_ints$UInt16$/ for (self: UInt16, UInt16): UInt16 */
3510 uint16_t core___core__UInt16___core__kernel__Numeric___47d(uint16_t self, uint16_t p0) {
3511 uint16_t var /* : UInt16 */;
3512 short int var1 /* : Bool */;
3513 int cltype;
3514 int idtype;
3515 const char* var_class_name;
3516 uint16_t var2 /* : UInt16 */;
3517 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3518 /* <p0:UInt16> isa OTHER */
3519 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3520 if (unlikely(!var1)) {
3521 var_class_name = type_core__UInt16.name;
3522 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3523 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 377);
3524 fatal_exit(1);
3525 }
3526 var2 = self / p0;
3527 var = var2;
3528 goto RET_LABEL;
3529 RET_LABEL:;
3530 return var;
3531 }
3532 /* method fixed_ints$UInt16$/ for (self: Numeric, Numeric): Numeric */
3533 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___47d(val* self, val* p0) {
3534 val* var /* : Numeric */;
3535 uint16_t var1 /* : UInt16 */;
3536 short int var3 /* : Bool */;
3537 int cltype;
3538 int idtype;
3539 const struct type* type_struct;
3540 const char* var_class_name;
3541 uint16_t var4 /* : UInt16 */;
3542 uint16_t var5 /* : UInt16 */;
3543 uint16_t var6 /* : UInt16 */;
3544 val* var7 /* : Numeric */;
3545 { /* Inline fixed_ints$UInt16$/ (self,p0) on <self:Numeric(UInt16)> */
3546 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3547 /* <p0:Numeric> isa OTHER */
3548 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3549 cltype = type_struct->color;
3550 idtype = type_struct->id;
3551 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3552 var3 = 0;
3553 } else {
3554 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3555 }
3556 if (unlikely(!var3)) {
3557 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3558 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3559 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 377);
3560 fatal_exit(1);
3561 }
3562 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3563 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3564 var6 = var4 / var5;
3565 var1 = var6;
3566 goto RET_LABEL2;
3567 RET_LABEL2:(void)0;
3568 }
3569 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3570 var = var7;
3571 RET_LABEL:;
3572 return var;
3573 }
3574 /* method fixed_ints$UInt16$to_i for (self: UInt16): Int */
3575 long core___core__UInt16___core__kernel__Numeric__to_i(uint16_t self) {
3576 long var /* : Int */;
3577 long var1 /* : Int */;
3578 var1 = (long)self;
3579 var = var1;
3580 goto RET_LABEL;
3581 RET_LABEL:;
3582 return var;
3583 }
3584 /* method fixed_ints$UInt16$to_i for (self: Numeric): Int */
3585 long VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_i(val* self) {
3586 long var /* : Int */;
3587 long var1 /* : Int */;
3588 uint16_t var3 /* : UInt16 */;
3589 long var4 /* : Int */;
3590 { /* Inline fixed_ints$UInt16$to_i (self) on <self:Numeric(UInt16)> */
3591 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3592 var4 = (long)var3;
3593 var1 = var4;
3594 goto RET_LABEL2;
3595 RET_LABEL2:(void)0;
3596 }
3597 var = var1;
3598 RET_LABEL:;
3599 return var;
3600 }
3601 /* method fixed_ints$UInt16$to_f for (self: UInt16): Float */
3602 double core___core__UInt16___core__kernel__Numeric__to_f(uint16_t self) {
3603 double var /* : Float */;
3604 double var1 /* : Float */;
3605 var1 = (double)self;
3606 var = var1;
3607 goto RET_LABEL;
3608 RET_LABEL:;
3609 return var;
3610 }
3611 /* method fixed_ints$UInt16$to_f for (self: Numeric): Float */
3612 double VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_f(val* self) {
3613 double var /* : Float */;
3614 double var1 /* : Float */;
3615 uint16_t var3 /* : UInt16 */;
3616 double var4 /* : Float */;
3617 { /* Inline fixed_ints$UInt16$to_f (self) on <self:Numeric(UInt16)> */
3618 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3619 var4 = (double)var3;
3620 var1 = var4;
3621 goto RET_LABEL2;
3622 RET_LABEL2:(void)0;
3623 }
3624 var = var1;
3625 RET_LABEL:;
3626 return var;
3627 }
3628 /* method fixed_ints$UInt16$to_b for (self: UInt16): Byte */
3629 unsigned char core___core__UInt16___core__kernel__Numeric__to_b(uint16_t self) {
3630 unsigned char var /* : Byte */;
3631 unsigned char var1 /* : Byte */;
3632 var1 = (unsigned char)self;
3633 var = var1;
3634 goto RET_LABEL;
3635 RET_LABEL:;
3636 return var;
3637 }
3638 /* method fixed_ints$UInt16$to_b for (self: Numeric): Byte */
3639 unsigned char VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_b(val* self) {
3640 unsigned char var /* : Byte */;
3641 unsigned char var1 /* : Byte */;
3642 uint16_t var3 /* : UInt16 */;
3643 unsigned char var4 /* : Byte */;
3644 { /* Inline fixed_ints$UInt16$to_b (self) on <self:Numeric(UInt16)> */
3645 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3646 var4 = (unsigned char)var3;
3647 var1 = var4;
3648 goto RET_LABEL2;
3649 RET_LABEL2:(void)0;
3650 }
3651 var = var1;
3652 RET_LABEL:;
3653 return var;
3654 }
3655 /* method fixed_ints$UInt16$to_i8 for (self: UInt16): Int8 */
3656 int8_t core___core__UInt16___Numeric__to_i8(uint16_t self) {
3657 int8_t var /* : Int8 */;
3658 int8_t var1 /* : Int8 */;
3659 var1 = (int8_t)self;
3660 var = var1;
3661 goto RET_LABEL;
3662 RET_LABEL:;
3663 return var;
3664 }
3665 /* method fixed_ints$UInt16$to_i8 for (self: Numeric): Int8 */
3666 int8_t VIRTUAL_core___core__UInt16___Numeric__to_i8(val* self) {
3667 int8_t var /* : Int8 */;
3668 int8_t var1 /* : Int8 */;
3669 uint16_t var3 /* : UInt16 */;
3670 int8_t var4 /* : Int8 */;
3671 { /* Inline fixed_ints$UInt16$to_i8 (self) on <self:Numeric(UInt16)> */
3672 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3673 var4 = (int8_t)var3;
3674 var1 = var4;
3675 goto RET_LABEL2;
3676 RET_LABEL2:(void)0;
3677 }
3678 var = var1;
3679 RET_LABEL:;
3680 return var;
3681 }
3682 /* method fixed_ints$UInt16$to_i16 for (self: UInt16): Int16 */
3683 int16_t core___core__UInt16___Numeric__to_i16(uint16_t self) {
3684 int16_t var /* : Int16 */;
3685 int16_t var1 /* : Int16 */;
3686 var1 = (int16_t)self;
3687 var = var1;
3688 goto RET_LABEL;
3689 RET_LABEL:;
3690 return var;
3691 }
3692 /* method fixed_ints$UInt16$to_i16 for (self: Numeric): Int16 */
3693 int16_t VIRTUAL_core___core__UInt16___Numeric__to_i16(val* self) {
3694 int16_t var /* : Int16 */;
3695 int16_t var1 /* : Int16 */;
3696 uint16_t var3 /* : UInt16 */;
3697 int16_t var4 /* : Int16 */;
3698 { /* Inline fixed_ints$UInt16$to_i16 (self) on <self:Numeric(UInt16)> */
3699 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3700 var4 = (int16_t)var3;
3701 var1 = var4;
3702 goto RET_LABEL2;
3703 RET_LABEL2:(void)0;
3704 }
3705 var = var1;
3706 RET_LABEL:;
3707 return var;
3708 }
3709 /* method fixed_ints$UInt16$to_u16 for (self: UInt16): UInt16 */
3710 uint16_t core___core__UInt16___Numeric__to_u16(uint16_t self) {
3711 uint16_t var /* : UInt16 */;
3712 var = self;
3713 goto RET_LABEL;
3714 RET_LABEL:;
3715 return var;
3716 }
3717 /* method fixed_ints$UInt16$to_u16 for (self: Numeric): UInt16 */
3718 uint16_t VIRTUAL_core___core__UInt16___Numeric__to_u16(val* self) {
3719 uint16_t var /* : UInt16 */;
3720 uint16_t var1 /* : UInt16 */;
3721 uint16_t var2 /* : UInt16 */;
3722 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3723 var1 = core___core__UInt16___Numeric__to_u16(var2);
3724 var = var1;
3725 RET_LABEL:;
3726 return var;
3727 }
3728 /* method fixed_ints$UInt16$to_i32 for (self: UInt16): Int32 */
3729 int32_t core___core__UInt16___Numeric__to_i32(uint16_t self) {
3730 int32_t var /* : Int32 */;
3731 int32_t var1 /* : Int32 */;
3732 var1 = (int32_t)self;
3733 var = var1;
3734 goto RET_LABEL;
3735 RET_LABEL:;
3736 return var;
3737 }
3738 /* method fixed_ints$UInt16$to_i32 for (self: Numeric): Int32 */
3739 int32_t VIRTUAL_core___core__UInt16___Numeric__to_i32(val* self) {
3740 int32_t var /* : Int32 */;
3741 int32_t var1 /* : Int32 */;
3742 uint16_t var3 /* : UInt16 */;
3743 int32_t var4 /* : Int32 */;
3744 { /* Inline fixed_ints$UInt16$to_i32 (self) on <self:Numeric(UInt16)> */
3745 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3746 var4 = (int32_t)var3;
3747 var1 = var4;
3748 goto RET_LABEL2;
3749 RET_LABEL2:(void)0;
3750 }
3751 var = var1;
3752 RET_LABEL:;
3753 return var;
3754 }
3755 /* method fixed_ints$UInt16$to_u32 for (self: UInt16): UInt32 */
3756 uint32_t core___core__UInt16___Numeric__to_u32(uint16_t self) {
3757 uint32_t var /* : UInt32 */;
3758 uint32_t var1 /* : UInt32 */;
3759 var1 = (uint32_t)self;
3760 var = var1;
3761 goto RET_LABEL;
3762 RET_LABEL:;
3763 return var;
3764 }
3765 /* method fixed_ints$UInt16$to_u32 for (self: Numeric): UInt32 */
3766 uint32_t VIRTUAL_core___core__UInt16___Numeric__to_u32(val* self) {
3767 uint32_t var /* : UInt32 */;
3768 uint32_t var1 /* : UInt32 */;
3769 uint16_t var3 /* : UInt16 */;
3770 uint32_t var4 /* : UInt32 */;
3771 { /* Inline fixed_ints$UInt16$to_u32 (self) on <self:Numeric(UInt16)> */
3772 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3773 var4 = (uint32_t)var3;
3774 var1 = var4;
3775 goto RET_LABEL2;
3776 RET_LABEL2:(void)0;
3777 }
3778 var = var1;
3779 RET_LABEL:;
3780 return var;
3781 }
3782 /* method fixed_ints$UInt16$distance for (self: UInt16, UInt16): Int */
3783 long core___core__UInt16___core__kernel__Discrete__distance(uint16_t self, uint16_t p0) {
3784 long var /* : Int */;
3785 short int var1 /* : Bool */;
3786 int cltype;
3787 int idtype;
3788 const char* var_class_name;
3789 uint16_t var_i /* var i: UInt16 */;
3790 uint16_t var2 /* : UInt16 */;
3791 short int var4 /* : Bool */;
3792 int cltype5;
3793 int idtype6;
3794 const char* var_class_name7;
3795 uint16_t var8 /* : UInt16 */;
3796 long var9 /* : Int */;
3797 long var11 /* : Int */;
3798 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3799 /* <p0:UInt16> isa OTHER */
3800 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3801 if (unlikely(!var1)) {
3802 var_class_name = type_core__UInt16.name;
3803 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3804 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 412);
3805 fatal_exit(1);
3806 }
3807 var_i = p0;
3808 {
3809 { /* Inline fixed_ints$UInt16$- (self,var_i) on <self:UInt16> */
3810 /* Covariant cast for argument 0 (i) <var_i:UInt16> isa OTHER */
3811 /* <var_i:UInt16> isa OTHER */
3812 var4 = 1; /* easy <var_i:UInt16> isa OTHER*/
3813 if (unlikely(!var4)) {
3814 var_class_name7 = type_core__UInt16.name;
3815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3816 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 375);
3817 fatal_exit(1);
3818 }
3819 var8 = self - var_i;
3820 var2 = var8;
3821 goto RET_LABEL3;
3822 RET_LABEL3:(void)0;
3823 }
3824 }
3825 {
3826 { /* Inline fixed_ints$UInt16$to_i (var2) on <var2:UInt16> */
3827 var11 = (long)var2;
3828 var9 = var11;
3829 goto RET_LABEL10;
3830 RET_LABEL10:(void)0;
3831 }
3832 }
3833 var = var9;
3834 goto RET_LABEL;
3835 RET_LABEL:;
3836 return var;
3837 }
3838 /* method fixed_ints$UInt16$distance for (self: Discrete, Discrete): Int */
3839 long VIRTUAL_core___core__UInt16___core__kernel__Discrete__distance(val* self, val* p0) {
3840 long var /* : Int */;
3841 long var1 /* : Int */;
3842 uint16_t var2 /* : UInt16 */;
3843 uint16_t var3 /* : UInt16 */;
3844 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Discrete to UInt16 */;
3845 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Discrete to UInt16 */;
3846 var1 = core___core__UInt16___core__kernel__Discrete__distance(var2, var3);
3847 var = var1;
3848 RET_LABEL:;
3849 return var;
3850 }
3851 /* method fixed_ints$UInt16$<=> for (self: UInt16, UInt16): Int */
3852 long core___core__UInt16___core__kernel__Comparable___60d_61d_62d(uint16_t self, uint16_t p0) {
3853 long var /* : Int */;
3854 short int var1 /* : Bool */;
3855 int cltype;
3856 int idtype;
3857 const char* var_class_name;
3858 uint16_t var_other /* var other: UInt16 */;
3859 short int var2 /* : Bool */;
3860 short int var4 /* : Bool */;
3861 int cltype5;
3862 int idtype6;
3863 const char* var_class_name7;
3864 short int var8 /* : Bool */;
3865 long var9 /* : Int */;
3866 long var11 /* : Int */;
3867 short int var12 /* : Bool */;
3868 short int var14 /* : Bool */;
3869 int cltype15;
3870 int idtype16;
3871 const char* var_class_name17;
3872 short int var18 /* : Bool */;
3873 /* Covariant cast for argument 0 (other) <p0:UInt16> isa OTHER */
3874 /* <p0:UInt16> isa OTHER */
3875 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3876 if (unlikely(!var1)) {
3877 var_class_name = type_core__UInt16.name;
3878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3879 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 414);
3880 fatal_exit(1);
3881 }
3882 var_other = p0;
3883 {
3884 { /* Inline fixed_ints$UInt16$< (self,var_other) on <self:UInt16> */
3885 /* Covariant cast for argument 0 (i) <var_other:UInt16> isa OTHER */
3886 /* <var_other:UInt16> isa OTHER */
3887 var4 = 1; /* easy <var_other:UInt16> isa OTHER*/
3888 if (unlikely(!var4)) {
3889 var_class_name7 = type_core__UInt16.name;
3890 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3891 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
3892 fatal_exit(1);
3893 }
3894 var8 = self < var_other;
3895 var2 = var8;
3896 goto RET_LABEL3;
3897 RET_LABEL3:(void)0;
3898 }
3899 }
3900 if (var2){
3901 {
3902 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
3903 var11 = -1l;
3904 var9 = var11;
3905 goto RET_LABEL10;
3906 RET_LABEL10:(void)0;
3907 }
3908 }
3909 var = var9;
3910 goto RET_LABEL;
3911 } else {
3912 {
3913 { /* Inline fixed_ints$UInt16$< (var_other,self) on <var_other:UInt16> */
3914 /* Covariant cast for argument 0 (i) <self:UInt16> isa OTHER */
3915 /* <self:UInt16> isa OTHER */
3916 var14 = 1; /* easy <self:UInt16> isa OTHER*/
3917 if (unlikely(!var14)) {
3918 var_class_name17 = type_core__UInt16.name;
3919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
3920 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
3921 fatal_exit(1);
3922 }
3923 var18 = var_other < self;
3924 var12 = var18;
3925 goto RET_LABEL13;
3926 RET_LABEL13:(void)0;
3927 }
3928 }
3929 if (var12){
3930 var = 1l;
3931 goto RET_LABEL;
3932 } else {
3933 var = 0l;
3934 goto RET_LABEL;
3935 }
3936 }
3937 RET_LABEL:;
3938 return var;
3939 }
3940 /* method fixed_ints$UInt16$<=> for (self: Comparable, Comparable): Int */
3941 long VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
3942 long var /* : Int */;
3943 long var1 /* : Int */;
3944 uint16_t var2 /* : UInt16 */;
3945 uint16_t var3 /* : UInt16 */;
3946 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3947 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3948 var1 = core___core__UInt16___core__kernel__Comparable___60d_61d_62d(var2, var3);
3949 var = var1;
3950 RET_LABEL:;
3951 return var;
3952 }
3953 /* method fixed_ints$UInt16$max for (self: UInt16, UInt16): UInt16 */
3954 uint16_t core___core__UInt16___core__kernel__Comparable__max(uint16_t self, uint16_t p0) {
3955 uint16_t var /* : UInt16 */;
3956 short int var1 /* : Bool */;
3957 int cltype;
3958 int idtype;
3959 const char* var_class_name;
3960 uint16_t var_other /* var other: UInt16 */;
3961 short int var2 /* : Bool */;
3962 short int var4 /* : Bool */;
3963 int cltype5;
3964 int idtype6;
3965 const char* var_class_name7;
3966 short int var8 /* : Bool */;
3967 /* Covariant cast for argument 0 (other) <p0:UInt16> isa OTHER */
3968 /* <p0:UInt16> isa OTHER */
3969 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3970 if (unlikely(!var1)) {
3971 var_class_name = type_core__UInt16.name;
3972 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3973 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 434);
3974 fatal_exit(1);
3975 }
3976 var_other = p0;
3977 {
3978 { /* Inline fixed_ints$UInt16$< (self,var_other) on <self:UInt16> */
3979 /* Covariant cast for argument 0 (i) <var_other:UInt16> isa OTHER */
3980 /* <var_other:UInt16> isa OTHER */
3981 var4 = 1; /* easy <var_other:UInt16> isa OTHER*/
3982 if (unlikely(!var4)) {
3983 var_class_name7 = type_core__UInt16.name;
3984 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3985 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
3986 fatal_exit(1);
3987 }
3988 var8 = self < var_other;
3989 var2 = var8;
3990 goto RET_LABEL3;
3991 RET_LABEL3:(void)0;
3992 }
3993 }
3994 if (var2){
3995 var = var_other;
3996 goto RET_LABEL;
3997 } else {
3998 var = self;
3999 goto RET_LABEL;
4000 }
4001 RET_LABEL:;
4002 return var;
4003 }
4004 /* method fixed_ints$UInt16$max for (self: Comparable, Comparable): Comparable */
4005 val* VIRTUAL_core___core__UInt16___core__kernel__Comparable__max(val* self, val* p0) {
4006 val* var /* : Comparable */;
4007 uint16_t var1 /* : UInt16 */;
4008 uint16_t var2 /* : UInt16 */;
4009 uint16_t var3 /* : UInt16 */;
4010 val* var4 /* : Comparable */;
4011 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
4012 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
4013 var1 = core___core__UInt16___core__kernel__Comparable__max(var2, var3);
4014 var4 = BOX_core__UInt16(var1); /* autobox from UInt16 to Comparable */
4015 var = var4;
4016 RET_LABEL:;
4017 return var;
4018 }
4019 /* method fixed_ints$UInt16$min for (self: UInt16, UInt16): UInt16 */
4020 uint16_t core___core__UInt16___core__kernel__Comparable__min(uint16_t self, uint16_t p0) {
4021 uint16_t var /* : UInt16 */;
4022 short int var1 /* : Bool */;
4023 int cltype;
4024 int idtype;
4025 const char* var_class_name;
4026 uint16_t var_c /* var c: UInt16 */;
4027 short int var2 /* : Bool */;
4028 short int var4 /* : Bool */;
4029 int cltype5;
4030 int idtype6;
4031 const char* var_class_name7;
4032 short int var8 /* : Bool */;
4033 /* Covariant cast for argument 0 (c) <p0:UInt16> isa OTHER */
4034 /* <p0:UInt16> isa OTHER */
4035 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
4036 if (unlikely(!var1)) {
4037 var_class_name = type_core__UInt16.name;
4038 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4039 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 443);
4040 fatal_exit(1);
4041 }
4042 var_c = p0;
4043 {
4044 { /* Inline fixed_ints$UInt16$< (var_c,self) on <var_c:UInt16> */
4045 /* Covariant cast for argument 0 (i) <self:UInt16> isa OTHER */
4046 /* <self:UInt16> isa OTHER */
4047 var4 = 1; /* easy <self:UInt16> isa OTHER*/
4048 if (unlikely(!var4)) {
4049 var_class_name7 = type_core__UInt16.name;
4050 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
4051 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 367);
4052 fatal_exit(1);
4053 }
4054 var8 = var_c < self;
4055 var2 = var8;
4056 goto RET_LABEL3;
4057 RET_LABEL3:(void)0;
4058 }
4059 }
4060 if (var2){
4061 var = var_c;
4062 goto RET_LABEL;
4063 } else {
4064 var = self;
4065 goto RET_LABEL;
4066 }
4067 RET_LABEL:;
4068 return var;
4069 }
4070 /* method fixed_ints$UInt16$min for (self: Comparable, Comparable): Comparable */
4071 val* VIRTUAL_core___core__UInt16___core__kernel__Comparable__min(val* self, val* p0) {
4072 val* var /* : Comparable */;
4073 uint16_t var1 /* : UInt16 */;
4074 uint16_t var2 /* : UInt16 */;
4075 uint16_t var3 /* : UInt16 */;
4076 val* var4 /* : Comparable */;
4077 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
4078 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
4079 var1 = core___core__UInt16___core__kernel__Comparable__min(var2, var3);
4080 var4 = BOX_core__UInt16(var1); /* autobox from UInt16 to Comparable */
4081 var = var4;
4082 RET_LABEL:;
4083 return var;
4084 }
4085 /* method fixed_ints$Int32$successor for (self: Int32, Int): Int32 */
4086 int32_t core___core__Int32___core__kernel__Discrete__successor(int32_t self, long p0) {
4087 int32_t var /* : Int32 */;
4088 long var_i /* var i: Int */;
4089 int32_t var1 /* : Int32 */;
4090 int32_t var3 /* : Int32 */;
4091 int32_t var4 /* : Int32 */;
4092 short int var6 /* : Bool */;
4093 int cltype;
4094 int idtype;
4095 const char* var_class_name;
4096 int32_t var7 /* : Int32 */;
4097 var_i = p0;
4098 {
4099 { /* Inline fixed_ints$Int$to_i32 (var_i) on <var_i:Int> */
4100 var3 = (int32_t)var_i;
4101 var1 = var3;
4102 goto RET_LABEL2;
4103 RET_LABEL2:(void)0;
4104 }
4105 }
4106 {
4107 { /* Inline fixed_ints$Int32$+ (self,var1) on <self:Int32> */
4108 /* Covariant cast for argument 0 (i) <var1:Int32> isa OTHER */
4109 /* <var1:Int32> isa OTHER */
4110 var6 = 1; /* easy <var1:Int32> isa OTHER*/
4111 if (unlikely(!var6)) {
4112 var_class_name = type_core__Int32.name;
4113 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4114 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 494);
4115 fatal_exit(1);
4116 }
4117 var7 = self + var1;
4118 var4 = var7;
4119 goto RET_LABEL5;
4120 RET_LABEL5:(void)0;
4121 }
4122 }
4123 var = var4;
4124 goto RET_LABEL;
4125 RET_LABEL:;
4126 return var;
4127 }
4128 /* method fixed_ints$Int32$successor for (self: Discrete, Int): Discrete */
4129 val* VIRTUAL_core___core__Int32___core__kernel__Discrete__successor(val* self, long p0) {
4130 val* var /* : Discrete */;
4131 int32_t var1 /* : Int32 */;
4132 int32_t var2 /* : Int32 */;
4133 val* var3 /* : Discrete */;
4134 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Discrete to Int32 */;
4135 var1 = core___core__Int32___core__kernel__Discrete__successor(var2, p0);
4136 var3 = BOX_core__Int32(var1); /* autobox from Int32 to Discrete */
4137 var = var3;
4138 RET_LABEL:;
4139 return var;
4140 }
4141 /* method fixed_ints$Int32$object_id for (self: Int32): Int */
4142 long core___core__Int32___core__kernel__Object__object_id(int32_t self) {
4143 long var /* : Int */;
4144 long var1 /* : Int */;
4145 var1 = (long)self;
4146 var = var1;
4147 goto RET_LABEL;
4148 RET_LABEL:;
4149 return var;
4150 }
4151 /* method fixed_ints$Int32$object_id for (self: Object): Int */
4152 long VIRTUAL_core___core__Int32___core__kernel__Object__object_id(val* self) {
4153 long var /* : Int */;
4154 long var1 /* : Int */;
4155 int32_t var3 /* : Int32 */;
4156 long var4 /* : Int */;
4157 { /* Inline fixed_ints$Int32$object_id (self) on <self:Object(Int32)> */
4158 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
4159 var4 = (long)var3;
4160 var1 = var4;
4161 goto RET_LABEL2;
4162 RET_LABEL2:(void)0;
4163 }
4164 var = var1;
4165 RET_LABEL:;
4166 return var;
4167 }
4168 /* method fixed_ints$Int32$hash for (self: Int32): Int */
4169 long core___core__Int32___core__kernel__Object__hash(int32_t self) {
4170 long var /* : Int */;
4171 long var1 /* : Int */;
4172 long var3 /* : Int */;
4173 {
4174 { /* Inline fixed_ints$Int32$to_i (self) on <self:Int32> */
4175 var3 = (long)self;
4176 var1 = var3;
4177 goto RET_LABEL2;
4178 RET_LABEL2:(void)0;
4179 }
4180 }
4181 var = var1;
4182 goto RET_LABEL;
4183 RET_LABEL:;
4184 return var;
4185 }
4186 /* method fixed_ints$Int32$hash for (self: Object): Int */
4187 long VIRTUAL_core___core__Int32___core__kernel__Object__hash(val* self) {
4188 long var /* : Int */;
4189 long var1 /* : Int */;
4190 int32_t var2 /* : Int32 */;
4191 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
4192 var1 = core___core__Int32___core__kernel__Object__hash(var2);
4193 var = var1;
4194 RET_LABEL:;
4195 return var;
4196 }
4197 /* method fixed_ints$Int32$== for (self: Int32, nullable Object): Bool */
4198 short int core___core__Int32___core__kernel__Object___61d_61d(int32_t self, val* p0) {
4199 short int var /* : Bool */;
4200 short int var1 /* : Bool */;
4201 int32_t var2 /* : Int32 */;
4202 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int32)) {
4203 var2 = ((struct instance_core__Int32*)p0)->value; /* autounbox from nullable Object to Int32 */;
4204 var1 = var2 == self;
4205 } else var1 = 0;
4206 var = var1;
4207 goto RET_LABEL;
4208 RET_LABEL:;
4209 return var;
4210 }
4211 /* method fixed_ints$Int32$== for (self: Object, nullable Object): Bool */
4212 short int VIRTUAL_core___core__Int32___core__kernel__Object___61d_61d(val* self, val* p0) {
4213 short int var /* : Bool */;
4214 short int var1 /* : Bool */;
4215 short int var3 /* : Bool */;
4216 { /* Inline fixed_ints$Int32$== (self,p0) on <self:Object(Int32)> */
4217 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)p0)->value);
4218 var1 = var3;
4219 goto RET_LABEL2;
4220 RET_LABEL2:(void)0;
4221 }
4222 var = var1;
4223 RET_LABEL:;
4224 return var;
4225 }
4226 /* method fixed_ints$Int32$!= for (self: Int32, nullable Object): Bool */
4227 short int core___core__Int32___core__kernel__Object___33d_61d(int32_t self, val* p0) {
4228 short int var /* : Bool */;
4229 short int var1 /* : Bool */;
4230 int32_t var2 /* : Int32 */;
4231 short int var3 /* : Bool */;
4232 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int32)) {
4233 var2 = ((struct instance_core__Int32*)p0)->value; /* autounbox from nullable Object to Int32 */;
4234 var1 = var2 == self;
4235 } else var1 = 0;
4236 var3 = !var1;
4237 var = var3;
4238 goto RET_LABEL;
4239 RET_LABEL:;
4240 return var;
4241 }
4242 /* method fixed_ints$Int32$!= for (self: Object, nullable Object): Bool */
4243 short int VIRTUAL_core___core__Int32___core__kernel__Object___33d_61d(val* self, val* p0) {
4244 short int var /* : Bool */;
4245 short int var1 /* : Bool */;
4246 short int var3 /* : Bool */;
4247 short int var4 /* : Bool */;
4248 { /* Inline fixed_ints$Int32$!= (self,p0) on <self:Object(Int32)> */
4249 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)p0)->value);
4250 var4 = !var3;
4251 var1 = var4;
4252 goto RET_LABEL2;
4253 RET_LABEL2:(void)0;
4254 }
4255 var = var1;
4256 RET_LABEL:;
4257 return var;
4258 }
4259 /* method fixed_ints$Int32$<= for (self: Int32, Int32): Bool */
4260 short int core___core__Int32___core__kernel__Comparable___60d_61d(int32_t self, int32_t p0) {
4261 short int var /* : Bool */;
4262 short int var1 /* : Bool */;
4263 int cltype;
4264 int idtype;
4265 const char* var_class_name;
4266 short int var2 /* : Bool */;
4267 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4268 /* <p0:Int32> isa OTHER */
4269 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4270 if (unlikely(!var1)) {
4271 var_class_name = type_core__Int32.name;
4272 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4273 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 490);
4274 fatal_exit(1);
4275 }
4276 var2 = self <= p0;
4277 var = var2;
4278 goto RET_LABEL;
4279 RET_LABEL:;
4280 return var;
4281 }
4282 /* method fixed_ints$Int32$<= for (self: Comparable, Comparable): Bool */
4283 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___60d_61d(val* self, val* p0) {
4284 short int var /* : Bool */;
4285 short int var1 /* : Bool */;
4286 short int var3 /* : Bool */;
4287 int cltype;
4288 int idtype;
4289 const struct type* type_struct;
4290 const char* var_class_name;
4291 int32_t var4 /* : Int32 */;
4292 int32_t var5 /* : Int32 */;
4293 short int var6 /* : Bool */;
4294 { /* Inline fixed_ints$Int32$<= (self,p0) on <self:Comparable(Int32)> */
4295 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4296 /* <p0:Comparable> isa OTHER */
4297 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4298 cltype = type_struct->color;
4299 idtype = type_struct->id;
4300 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4301 var3 = 0;
4302 } else {
4303 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4304 }
4305 if (unlikely(!var3)) {
4306 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4307 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4308 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 490);
4309 fatal_exit(1);
4310 }
4311 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4312 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4313 var6 = var4 <= var5;
4314 var1 = var6;
4315 goto RET_LABEL2;
4316 RET_LABEL2:(void)0;
4317 }
4318 var = var1;
4319 RET_LABEL:;
4320 return var;
4321 }
4322 /* method fixed_ints$Int32$< for (self: Int32, Int32): Bool */
4323 short int core___core__Int32___core__kernel__Comparable___60d(int32_t self, int32_t p0) {
4324 short int var /* : Bool */;
4325 short int var1 /* : Bool */;
4326 int cltype;
4327 int idtype;
4328 const char* var_class_name;
4329 short int var2 /* : Bool */;
4330 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4331 /* <p0:Int32> isa OTHER */
4332 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4333 if (unlikely(!var1)) {
4334 var_class_name = type_core__Int32.name;
4335 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4336 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
4337 fatal_exit(1);
4338 }
4339 var2 = self < p0;
4340 var = var2;
4341 goto RET_LABEL;
4342 RET_LABEL:;
4343 return var;
4344 }
4345 /* method fixed_ints$Int32$< for (self: Comparable, Comparable): Bool */
4346 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___60d(val* self, val* p0) {
4347 short int var /* : Bool */;
4348 short int var1 /* : Bool */;
4349 short int var3 /* : Bool */;
4350 int cltype;
4351 int idtype;
4352 const struct type* type_struct;
4353 const char* var_class_name;
4354 int32_t var4 /* : Int32 */;
4355 int32_t var5 /* : Int32 */;
4356 short int var6 /* : Bool */;
4357 { /* Inline fixed_ints$Int32$< (self,p0) on <self:Comparable(Int32)> */
4358 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4359 /* <p0:Comparable> isa OTHER */
4360 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4361 cltype = type_struct->color;
4362 idtype = type_struct->id;
4363 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4364 var3 = 0;
4365 } else {
4366 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4367 }
4368 if (unlikely(!var3)) {
4369 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4370 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4371 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
4372 fatal_exit(1);
4373 }
4374 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4375 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4376 var6 = var4 < var5;
4377 var1 = var6;
4378 goto RET_LABEL2;
4379 RET_LABEL2:(void)0;
4380 }
4381 var = var1;
4382 RET_LABEL:;
4383 return var;
4384 }
4385 /* method fixed_ints$Int32$>= for (self: Int32, Int32): Bool */
4386 short int core___core__Int32___core__kernel__Comparable___62d_61d(int32_t self, int32_t p0) {
4387 short int var /* : Bool */;
4388 short int var1 /* : Bool */;
4389 int cltype;
4390 int idtype;
4391 const char* var_class_name;
4392 short int var2 /* : Bool */;
4393 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4394 /* <p0:Int32> isa OTHER */
4395 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4396 if (unlikely(!var1)) {
4397 var_class_name = type_core__Int32.name;
4398 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4399 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 492);
4400 fatal_exit(1);
4401 }
4402 var2 = self >= p0;
4403 var = var2;
4404 goto RET_LABEL;
4405 RET_LABEL:;
4406 return var;
4407 }
4408 /* method fixed_ints$Int32$>= for (self: Comparable, Comparable): Bool */
4409 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___62d_61d(val* self, val* p0) {
4410 short int var /* : Bool */;
4411 short int var1 /* : Bool */;
4412 short int var3 /* : Bool */;
4413 int cltype;
4414 int idtype;
4415 const struct type* type_struct;
4416 const char* var_class_name;
4417 int32_t var4 /* : Int32 */;
4418 int32_t var5 /* : Int32 */;
4419 short int var6 /* : Bool */;
4420 { /* Inline fixed_ints$Int32$>= (self,p0) on <self:Comparable(Int32)> */
4421 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4422 /* <p0:Comparable> isa OTHER */
4423 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4424 cltype = type_struct->color;
4425 idtype = type_struct->id;
4426 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4427 var3 = 0;
4428 } else {
4429 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4430 }
4431 if (unlikely(!var3)) {
4432 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4433 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4434 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 492);
4435 fatal_exit(1);
4436 }
4437 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4438 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4439 var6 = var4 >= var5;
4440 var1 = var6;
4441 goto RET_LABEL2;
4442 RET_LABEL2:(void)0;
4443 }
4444 var = var1;
4445 RET_LABEL:;
4446 return var;
4447 }
4448 /* method fixed_ints$Int32$> for (self: Int32, Int32): Bool */
4449 short int core___core__Int32___core__kernel__Comparable___62d(int32_t self, int32_t p0) {
4450 short int var /* : Bool */;
4451 short int var1 /* : Bool */;
4452 int cltype;
4453 int idtype;
4454 const char* var_class_name;
4455 short int var2 /* : Bool */;
4456 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4457 /* <p0:Int32> isa OTHER */
4458 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4459 if (unlikely(!var1)) {
4460 var_class_name = type_core__Int32.name;
4461 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4462 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 493);
4463 fatal_exit(1);
4464 }
4465 var2 = self > p0;
4466 var = var2;
4467 goto RET_LABEL;
4468 RET_LABEL:;
4469 return var;
4470 }
4471 /* method fixed_ints$Int32$> for (self: Comparable, Comparable): Bool */
4472 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___62d(val* self, val* p0) {
4473 short int var /* : Bool */;
4474 short int var1 /* : Bool */;
4475 short int var3 /* : Bool */;
4476 int cltype;
4477 int idtype;
4478 const struct type* type_struct;
4479 const char* var_class_name;
4480 int32_t var4 /* : Int32 */;
4481 int32_t var5 /* : Int32 */;
4482 short int var6 /* : Bool */;
4483 { /* Inline fixed_ints$Int32$> (self,p0) on <self:Comparable(Int32)> */
4484 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4485 /* <p0:Comparable> isa OTHER */
4486 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4487 cltype = type_struct->color;
4488 idtype = type_struct->id;
4489 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4490 var3 = 0;
4491 } else {
4492 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4493 }
4494 if (unlikely(!var3)) {
4495 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4496 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4497 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 493);
4498 fatal_exit(1);
4499 }
4500 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4501 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4502 var6 = var4 > var5;
4503 var1 = var6;
4504 goto RET_LABEL2;
4505 RET_LABEL2:(void)0;
4506 }
4507 var = var1;
4508 RET_LABEL:;
4509 return var;
4510 }
4511 /* method fixed_ints$Int32$+ for (self: Int32, Int32): Int32 */
4512 int32_t core___core__Int32___core__kernel__Numeric___43d(int32_t self, int32_t p0) {
4513 int32_t var /* : Int32 */;
4514 short int var1 /* : Bool */;
4515 int cltype;
4516 int idtype;
4517 const char* var_class_name;
4518 int32_t var2 /* : Int32 */;
4519 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4520 /* <p0:Int32> isa OTHER */
4521 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4522 if (unlikely(!var1)) {
4523 var_class_name = type_core__Int32.name;
4524 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4525 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 494);
4526 fatal_exit(1);
4527 }
4528 var2 = self + p0;
4529 var = var2;
4530 goto RET_LABEL;
4531 RET_LABEL:;
4532 return var;
4533 }
4534 /* method fixed_ints$Int32$+ for (self: Numeric, Numeric): Numeric */
4535 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___43d(val* self, val* p0) {
4536 val* var /* : Numeric */;
4537 int32_t var1 /* : Int32 */;
4538 short int var3 /* : Bool */;
4539 int cltype;
4540 int idtype;
4541 const struct type* type_struct;
4542 const char* var_class_name;
4543 int32_t var4 /* : Int32 */;
4544 int32_t var5 /* : Int32 */;
4545 int32_t var6 /* : Int32 */;
4546 val* var7 /* : Numeric */;
4547 { /* Inline fixed_ints$Int32$+ (self,p0) on <self:Numeric(Int32)> */
4548 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4549 /* <p0:Numeric> isa OTHER */
4550 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4551 cltype = type_struct->color;
4552 idtype = type_struct->id;
4553 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4554 var3 = 0;
4555 } else {
4556 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4557 }
4558 if (unlikely(!var3)) {
4559 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4561 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 494);
4562 fatal_exit(1);
4563 }
4564 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4565 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4566 var6 = var4 + var5;
4567 var1 = var6;
4568 goto RET_LABEL2;
4569 RET_LABEL2:(void)0;
4570 }
4571 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4572 var = var7;
4573 RET_LABEL:;
4574 return var;
4575 }
4576 /* method fixed_ints$Int32$unary - for (self: Int32): Int32 */
4577 int32_t core___core__Int32___core__kernel__Numeric__unary_32d_45d(int32_t self) {
4578 int32_t var /* : Int32 */;
4579 int32_t var1 /* : Int32 */;
4580 var1 = -self;
4581 var = var1;
4582 goto RET_LABEL;
4583 RET_LABEL:;
4584 return var;
4585 }
4586 /* method fixed_ints$Int32$unary - for (self: Numeric): Numeric */
4587 val* VIRTUAL_core___core__Int32___core__kernel__Numeric__unary_32d_45d(val* self) {
4588 val* var /* : Numeric */;
4589 int32_t var1 /* : Int32 */;
4590 int32_t var3 /* : Int32 */;
4591 int32_t var4 /* : Int32 */;
4592 val* var5 /* : Numeric */;
4593 { /* Inline fixed_ints$Int32$unary - (self) on <self:Numeric(Int32)> */
4594 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4595 var4 = -var3;
4596 var1 = var4;
4597 goto RET_LABEL2;
4598 RET_LABEL2:(void)0;
4599 }
4600 var5 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4601 var = var5;
4602 RET_LABEL:;
4603 return var;
4604 }
4605 /* method fixed_ints$Int32$- for (self: Int32, Int32): Int32 */
4606 int32_t core___core__Int32___core__kernel__Numeric___45d(int32_t self, int32_t p0) {
4607 int32_t var /* : Int32 */;
4608 short int var1 /* : Bool */;
4609 int cltype;
4610 int idtype;
4611 const char* var_class_name;
4612 int32_t var2 /* : Int32 */;
4613 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4614 /* <p0:Int32> isa OTHER */
4615 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4616 if (unlikely(!var1)) {
4617 var_class_name = type_core__Int32.name;
4618 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4619 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 499);
4620 fatal_exit(1);
4621 }
4622 var2 = self - p0;
4623 var = var2;
4624 goto RET_LABEL;
4625 RET_LABEL:;
4626 return var;
4627 }
4628 /* method fixed_ints$Int32$- for (self: Numeric, Numeric): Numeric */
4629 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___45d(val* self, val* p0) {
4630 val* var /* : Numeric */;
4631 int32_t var1 /* : Int32 */;
4632 short int var3 /* : Bool */;
4633 int cltype;
4634 int idtype;
4635 const struct type* type_struct;
4636 const char* var_class_name;
4637 int32_t var4 /* : Int32 */;
4638 int32_t var5 /* : Int32 */;
4639 int32_t var6 /* : Int32 */;
4640 val* var7 /* : Numeric */;
4641 { /* Inline fixed_ints$Int32$- (self,p0) on <self:Numeric(Int32)> */
4642 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4643 /* <p0:Numeric> isa OTHER */
4644 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4645 cltype = type_struct->color;
4646 idtype = type_struct->id;
4647 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4648 var3 = 0;
4649 } else {
4650 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4651 }
4652 if (unlikely(!var3)) {
4653 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4655 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 499);
4656 fatal_exit(1);
4657 }
4658 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4659 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4660 var6 = var4 - var5;
4661 var1 = var6;
4662 goto RET_LABEL2;
4663 RET_LABEL2:(void)0;
4664 }
4665 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4666 var = var7;
4667 RET_LABEL:;
4668 return var;
4669 }
4670 /* method fixed_ints$Int32$* for (self: Int32, Int32): Int32 */
4671 int32_t core___core__Int32___core__kernel__Numeric___42d(int32_t self, int32_t p0) {
4672 int32_t var /* : Int32 */;
4673 short int var1 /* : Bool */;
4674 int cltype;
4675 int idtype;
4676 const char* var_class_name;
4677 int32_t var2 /* : Int32 */;
4678 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4679 /* <p0:Int32> isa OTHER */
4680 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4681 if (unlikely(!var1)) {
4682 var_class_name = type_core__Int32.name;
4683 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4684 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 500);
4685 fatal_exit(1);
4686 }
4687 var2 = self * p0;
4688 var = var2;
4689 goto RET_LABEL;
4690 RET_LABEL:;
4691 return var;
4692 }
4693 /* method fixed_ints$Int32$* for (self: Numeric, Numeric): Numeric */
4694 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___42d(val* self, val* p0) {
4695 val* var /* : Numeric */;
4696 int32_t var1 /* : Int32 */;
4697 short int var3 /* : Bool */;
4698 int cltype;
4699 int idtype;
4700 const struct type* type_struct;
4701 const char* var_class_name;
4702 int32_t var4 /* : Int32 */;
4703 int32_t var5 /* : Int32 */;
4704 int32_t var6 /* : Int32 */;
4705 val* var7 /* : Numeric */;
4706 { /* Inline fixed_ints$Int32$* (self,p0) on <self:Numeric(Int32)> */
4707 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4708 /* <p0:Numeric> isa OTHER */
4709 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4710 cltype = type_struct->color;
4711 idtype = type_struct->id;
4712 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4713 var3 = 0;
4714 } else {
4715 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4716 }
4717 if (unlikely(!var3)) {
4718 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4719 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4720 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 500);
4721 fatal_exit(1);
4722 }
4723 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4724 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4725 var6 = var4 * var5;
4726 var1 = var6;
4727 goto RET_LABEL2;
4728 RET_LABEL2:(void)0;
4729 }
4730 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4731 var = var7;
4732 RET_LABEL:;
4733 return var;
4734 }
4735 /* method fixed_ints$Int32$/ for (self: Int32, Int32): Int32 */
4736 int32_t core___core__Int32___core__kernel__Numeric___47d(int32_t self, int32_t p0) {
4737 int32_t var /* : Int32 */;
4738 short int var1 /* : Bool */;
4739 int cltype;
4740 int idtype;
4741 const char* var_class_name;
4742 int32_t var2 /* : Int32 */;
4743 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4744 /* <p0:Int32> isa OTHER */
4745 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4746 if (unlikely(!var1)) {
4747 var_class_name = type_core__Int32.name;
4748 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4749 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 501);
4750 fatal_exit(1);
4751 }
4752 var2 = self / p0;
4753 var = var2;
4754 goto RET_LABEL;
4755 RET_LABEL:;
4756 return var;
4757 }
4758 /* method fixed_ints$Int32$/ for (self: Numeric, Numeric): Numeric */
4759 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___47d(val* self, val* p0) {
4760 val* var /* : Numeric */;
4761 int32_t var1 /* : Int32 */;
4762 short int var3 /* : Bool */;
4763 int cltype;
4764 int idtype;
4765 const struct type* type_struct;
4766 const char* var_class_name;
4767 int32_t var4 /* : Int32 */;
4768 int32_t var5 /* : Int32 */;
4769 int32_t var6 /* : Int32 */;
4770 val* var7 /* : Numeric */;
4771 { /* Inline fixed_ints$Int32$/ (self,p0) on <self:Numeric(Int32)> */
4772 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4773 /* <p0:Numeric> isa OTHER */
4774 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4775 cltype = type_struct->color;
4776 idtype = type_struct->id;
4777 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4778 var3 = 0;
4779 } else {
4780 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4781 }
4782 if (unlikely(!var3)) {
4783 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4784 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4785 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 501);
4786 fatal_exit(1);
4787 }
4788 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4789 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4790 var6 = var4 / var5;
4791 var1 = var6;
4792 goto RET_LABEL2;
4793 RET_LABEL2:(void)0;
4794 }
4795 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4796 var = var7;
4797 RET_LABEL:;
4798 return var;
4799 }
4800 /* method fixed_ints$Int32$to_i for (self: Int32): Int */
4801 long core___core__Int32___core__kernel__Numeric__to_i(int32_t self) {
4802 long var /* : Int */;
4803 long var1 /* : Int */;
4804 var1 = (long)self;
4805 var = var1;
4806 goto RET_LABEL;
4807 RET_LABEL:;
4808 return var;
4809 }
4810 /* method fixed_ints$Int32$to_i for (self: Numeric): Int */
4811 long VIRTUAL_core___core__Int32___core__kernel__Numeric__to_i(val* self) {
4812 long var /* : Int */;
4813 long var1 /* : Int */;
4814 int32_t var3 /* : Int32 */;
4815 long var4 /* : Int */;
4816 { /* Inline fixed_ints$Int32$to_i (self) on <self:Numeric(Int32)> */
4817 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4818 var4 = (long)var3;
4819 var1 = var4;
4820 goto RET_LABEL2;
4821 RET_LABEL2:(void)0;
4822 }
4823 var = var1;
4824 RET_LABEL:;
4825 return var;
4826 }
4827 /* method fixed_ints$Int32$to_f for (self: Int32): Float */
4828 double core___core__Int32___core__kernel__Numeric__to_f(int32_t self) {
4829 double var /* : Float */;
4830 double var1 /* : Float */;
4831 var1 = (double)self;
4832 var = var1;
4833 goto RET_LABEL;
4834 RET_LABEL:;
4835 return var;
4836 }
4837 /* method fixed_ints$Int32$to_f for (self: Numeric): Float */
4838 double VIRTUAL_core___core__Int32___core__kernel__Numeric__to_f(val* self) {
4839 double var /* : Float */;
4840 double var1 /* : Float */;
4841 int32_t var3 /* : Int32 */;
4842 double var4 /* : Float */;
4843 { /* Inline fixed_ints$Int32$to_f (self) on <self:Numeric(Int32)> */
4844 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4845 var4 = (double)var3;
4846 var1 = var4;
4847 goto RET_LABEL2;
4848 RET_LABEL2:(void)0;
4849 }
4850 var = var1;
4851 RET_LABEL:;
4852 return var;
4853 }
4854 /* method fixed_ints$Int32$to_b for (self: Int32): Byte */
4855 unsigned char core___core__Int32___core__kernel__Numeric__to_b(int32_t self) {
4856 unsigned char var /* : Byte */;
4857 unsigned char var1 /* : Byte */;
4858 var1 = (unsigned char)self;
4859 var = var1;
4860 goto RET_LABEL;
4861 RET_LABEL:;
4862 return var;
4863 }
4864 /* method fixed_ints$Int32$to_b for (self: Numeric): Byte */
4865 unsigned char VIRTUAL_core___core__Int32___core__kernel__Numeric__to_b(val* self) {
4866 unsigned char var /* : Byte */;
4867 unsigned char var1 /* : Byte */;
4868 int32_t var3 /* : Int32 */;
4869 unsigned char var4 /* : Byte */;
4870 { /* Inline fixed_ints$Int32$to_b (self) on <self:Numeric(Int32)> */
4871 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4872 var4 = (unsigned char)var3;
4873 var1 = var4;
4874 goto RET_LABEL2;
4875 RET_LABEL2:(void)0;
4876 }
4877 var = var1;
4878 RET_LABEL:;
4879 return var;
4880 }
4881 /* method fixed_ints$Int32$to_i8 for (self: Int32): Int8 */
4882 int8_t core___core__Int32___Numeric__to_i8(int32_t self) {
4883 int8_t var /* : Int8 */;
4884 int8_t var1 /* : Int8 */;
4885 var1 = (int8_t)self;
4886 var = var1;
4887 goto RET_LABEL;
4888 RET_LABEL:;
4889 return var;
4890 }
4891 /* method fixed_ints$Int32$to_i8 for (self: Numeric): Int8 */
4892 int8_t VIRTUAL_core___core__Int32___Numeric__to_i8(val* self) {
4893 int8_t var /* : Int8 */;
4894 int8_t var1 /* : Int8 */;
4895 int32_t var3 /* : Int32 */;
4896 int8_t var4 /* : Int8 */;
4897 { /* Inline fixed_ints$Int32$to_i8 (self) on <self:Numeric(Int32)> */
4898 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4899 var4 = (int8_t)var3;
4900 var1 = var4;
4901 goto RET_LABEL2;
4902 RET_LABEL2:(void)0;
4903 }
4904 var = var1;
4905 RET_LABEL:;
4906 return var;
4907 }
4908 /* method fixed_ints$Int32$to_i16 for (self: Int32): Int16 */
4909 int16_t core___core__Int32___Numeric__to_i16(int32_t self) {
4910 int16_t var /* : Int16 */;
4911 int16_t var1 /* : Int16 */;
4912 var1 = (int16_t)self;
4913 var = var1;
4914 goto RET_LABEL;
4915 RET_LABEL:;
4916 return var;
4917 }
4918 /* method fixed_ints$Int32$to_i16 for (self: Numeric): Int16 */
4919 int16_t VIRTUAL_core___core__Int32___Numeric__to_i16(val* self) {
4920 int16_t var /* : Int16 */;
4921 int16_t var1 /* : Int16 */;
4922 int32_t var3 /* : Int32 */;
4923 int16_t var4 /* : Int16 */;
4924 { /* Inline fixed_ints$Int32$to_i16 (self) on <self:Numeric(Int32)> */
4925 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4926 var4 = (int16_t)var3;
4927 var1 = var4;
4928 goto RET_LABEL2;
4929 RET_LABEL2:(void)0;
4930 }
4931 var = var1;
4932 RET_LABEL:;
4933 return var;
4934 }
4935 /* method fixed_ints$Int32$to_u16 for (self: Int32): UInt16 */
4936 uint16_t core___core__Int32___Numeric__to_u16(int32_t self) {
4937 uint16_t var /* : UInt16 */;
4938 uint16_t var1 /* : UInt16 */;
4939 var1 = (uint16_t)self;
4940 var = var1;
4941 goto RET_LABEL;
4942 RET_LABEL:;
4943 return var;
4944 }
4945 /* method fixed_ints$Int32$to_u16 for (self: Numeric): UInt16 */
4946 uint16_t VIRTUAL_core___core__Int32___Numeric__to_u16(val* self) {
4947 uint16_t var /* : UInt16 */;
4948 uint16_t var1 /* : UInt16 */;
4949 int32_t var3 /* : Int32 */;
4950 uint16_t var4 /* : UInt16 */;
4951 { /* Inline fixed_ints$Int32$to_u16 (self) on <self:Numeric(Int32)> */
4952 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4953 var4 = (uint16_t)var3;
4954 var1 = var4;
4955 goto RET_LABEL2;
4956 RET_LABEL2:(void)0;
4957 }
4958 var = var1;
4959 RET_LABEL:;
4960 return var;
4961 }
4962 /* method fixed_ints$Int32$to_i32 for (self: Int32): Int32 */
4963 int32_t core___core__Int32___Numeric__to_i32(int32_t self) {
4964 int32_t var /* : Int32 */;
4965 var = self;
4966 goto RET_LABEL;
4967 RET_LABEL:;
4968 return var;
4969 }
4970 /* method fixed_ints$Int32$to_i32 for (self: Numeric): Int32 */
4971 int32_t VIRTUAL_core___core__Int32___Numeric__to_i32(val* self) {
4972 int32_t var /* : Int32 */;
4973 int32_t var1 /* : Int32 */;
4974 int32_t var2 /* : Int32 */;
4975 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4976 var1 = core___core__Int32___Numeric__to_i32(var2);
4977 var = var1;
4978 RET_LABEL:;
4979 return var;
4980 }
4981 /* method fixed_ints$Int32$to_u32 for (self: Int32): UInt32 */
4982 uint32_t core___core__Int32___Numeric__to_u32(int32_t self) {
4983 uint32_t var /* : UInt32 */;
4984 uint32_t var1 /* : UInt32 */;
4985 var1 = (uint32_t)self;
4986 var = var1;
4987 goto RET_LABEL;
4988 RET_LABEL:;
4989 return var;
4990 }
4991 /* method fixed_ints$Int32$to_u32 for (self: Numeric): UInt32 */
4992 uint32_t VIRTUAL_core___core__Int32___Numeric__to_u32(val* self) {
4993 uint32_t var /* : UInt32 */;
4994 uint32_t var1 /* : UInt32 */;
4995 int32_t var3 /* : Int32 */;
4996 uint32_t var4 /* : UInt32 */;
4997 { /* Inline fixed_ints$Int32$to_u32 (self) on <self:Numeric(Int32)> */
4998 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4999 var4 = (uint32_t)var3;
5000 var1 = var4;
5001 goto RET_LABEL2;
5002 RET_LABEL2:(void)0;
5003 }
5004 var = var1;
5005 RET_LABEL:;
5006 return var;
5007 }
5008 /* method fixed_ints$Int32$distance for (self: Int32, Int32): Int */
5009 long core___core__Int32___core__kernel__Discrete__distance(int32_t self, int32_t p0) {
5010 long var /* : Int */;
5011 short int var1 /* : Bool */;
5012 int cltype;
5013 int idtype;
5014 const char* var_class_name;
5015 int32_t var_i /* var i: Int32 */;
5016 int32_t var2 /* : Int32 */;
5017 short int var4 /* : Bool */;
5018 int cltype5;
5019 int idtype6;
5020 const char* var_class_name7;
5021 int32_t var8 /* : Int32 */;
5022 long var9 /* : Int */;
5023 long var11 /* : Int */;
5024 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
5025 /* <p0:Int32> isa OTHER */
5026 var1 = 1; /* easy <p0:Int32> isa OTHER*/
5027 if (unlikely(!var1)) {
5028 var_class_name = type_core__Int32.name;
5029 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5030 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 536);
5031 fatal_exit(1);
5032 }
5033 var_i = p0;
5034 {
5035 { /* Inline fixed_ints$Int32$- (self,var_i) on <self:Int32> */
5036 /* Covariant cast for argument 0 (i) <var_i:Int32> isa OTHER */
5037 /* <var_i:Int32> isa OTHER */
5038 var4 = 1; /* easy <var_i:Int32> isa OTHER*/
5039 if (unlikely(!var4)) {
5040 var_class_name7 = type_core__Int32.name;
5041 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5042 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 499);
5043 fatal_exit(1);
5044 }
5045 var8 = self - var_i;
5046 var2 = var8;
5047 goto RET_LABEL3;
5048 RET_LABEL3:(void)0;
5049 }
5050 }
5051 {
5052 { /* Inline fixed_ints$Int32$to_i (var2) on <var2:Int32> */
5053 var11 = (long)var2;
5054 var9 = var11;
5055 goto RET_LABEL10;
5056 RET_LABEL10:(void)0;
5057 }
5058 }
5059 var = var9;
5060 goto RET_LABEL;
5061 RET_LABEL:;
5062 return var;
5063 }
5064 /* method fixed_ints$Int32$distance for (self: Discrete, Discrete): Int */
5065 long VIRTUAL_core___core__Int32___core__kernel__Discrete__distance(val* self, val* p0) {
5066 long var /* : Int */;
5067 long var1 /* : Int */;
5068 int32_t var2 /* : Int32 */;
5069 int32_t var3 /* : Int32 */;
5070 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Discrete to Int32 */;
5071 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Discrete to Int32 */;
5072 var1 = core___core__Int32___core__kernel__Discrete__distance(var2, var3);
5073 var = var1;
5074 RET_LABEL:;
5075 return var;
5076 }
5077 /* method fixed_ints$Int32$<=> for (self: Int32, Int32): Int */
5078 long core___core__Int32___core__kernel__Comparable___60d_61d_62d(int32_t self, int32_t p0) {
5079 long var /* : Int */;
5080 short int var1 /* : Bool */;
5081 int cltype;
5082 int idtype;
5083 const char* var_class_name;
5084 int32_t var_other /* var other: Int32 */;
5085 short int var2 /* : Bool */;
5086 short int var4 /* : Bool */;
5087 int cltype5;
5088 int idtype6;
5089 const char* var_class_name7;
5090 short int var8 /* : Bool */;
5091 long var9 /* : Int */;
5092 long var11 /* : Int */;
5093 short int var12 /* : Bool */;
5094 short int var14 /* : Bool */;
5095 int cltype15;
5096 int idtype16;
5097 const char* var_class_name17;
5098 short int var18 /* : Bool */;
5099 /* Covariant cast for argument 0 (other) <p0:Int32> isa OTHER */
5100 /* <p0:Int32> isa OTHER */
5101 var1 = 1; /* easy <p0:Int32> isa OTHER*/
5102 if (unlikely(!var1)) {
5103 var_class_name = type_core__Int32.name;
5104 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5105 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 538);
5106 fatal_exit(1);
5107 }
5108 var_other = p0;
5109 {
5110 { /* Inline fixed_ints$Int32$< (self,var_other) on <self:Int32> */
5111 /* Covariant cast for argument 0 (i) <var_other:Int32> isa OTHER */
5112 /* <var_other:Int32> isa OTHER */
5113 var4 = 1; /* easy <var_other:Int32> isa OTHER*/
5114 if (unlikely(!var4)) {
5115 var_class_name7 = type_core__Int32.name;
5116 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5117 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
5118 fatal_exit(1);
5119 }
5120 var8 = self < var_other;
5121 var2 = var8;
5122 goto RET_LABEL3;
5123 RET_LABEL3:(void)0;
5124 }
5125 }
5126 if (var2){
5127 {
5128 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
5129 var11 = -1l;
5130 var9 = var11;
5131 goto RET_LABEL10;
5132 RET_LABEL10:(void)0;
5133 }
5134 }
5135 var = var9;
5136 goto RET_LABEL;
5137 } else {
5138 {
5139 { /* Inline fixed_ints$Int32$< (var_other,self) on <var_other:Int32> */
5140 /* Covariant cast for argument 0 (i) <self:Int32> isa OTHER */
5141 /* <self:Int32> isa OTHER */
5142 var14 = 1; /* easy <self:Int32> isa OTHER*/
5143 if (unlikely(!var14)) {
5144 var_class_name17 = type_core__Int32.name;
5145 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
5146 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
5147 fatal_exit(1);
5148 }
5149 var18 = var_other < self;
5150 var12 = var18;
5151 goto RET_LABEL13;
5152 RET_LABEL13:(void)0;
5153 }
5154 }
5155 if (var12){
5156 var = 1l;
5157 goto RET_LABEL;
5158 } else {
5159 var = 0l;
5160 goto RET_LABEL;
5161 }
5162 }
5163 RET_LABEL:;
5164 return var;
5165 }
5166 /* method fixed_ints$Int32$<=> for (self: Comparable, Comparable): Int */
5167 long VIRTUAL_core___core__Int32___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
5168 long var /* : Int */;
5169 long var1 /* : Int */;
5170 int32_t var2 /* : Int32 */;
5171 int32_t var3 /* : Int32 */;
5172 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
5173 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
5174 var1 = core___core__Int32___core__kernel__Comparable___60d_61d_62d(var2, var3);
5175 var = var1;
5176 RET_LABEL:;
5177 return var;
5178 }
5179 /* method fixed_ints$Int32$max for (self: Int32, Int32): Int32 */
5180 int32_t core___core__Int32___core__kernel__Comparable__max(int32_t self, int32_t p0) {
5181 int32_t var /* : Int32 */;
5182 short int var1 /* : Bool */;
5183 int cltype;
5184 int idtype;
5185 const char* var_class_name;
5186 int32_t var_other /* var other: Int32 */;
5187 short int var2 /* : Bool */;
5188 short int var4 /* : Bool */;
5189 int cltype5;
5190 int idtype6;
5191 const char* var_class_name7;
5192 short int var8 /* : Bool */;
5193 /* Covariant cast for argument 0 (other) <p0:Int32> isa OTHER */
5194 /* <p0:Int32> isa OTHER */
5195 var1 = 1; /* easy <p0:Int32> isa OTHER*/
5196 if (unlikely(!var1)) {
5197 var_class_name = type_core__Int32.name;
5198 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5199 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 558);
5200 fatal_exit(1);
5201 }
5202 var_other = p0;
5203 {
5204 { /* Inline fixed_ints$Int32$< (self,var_other) on <self:Int32> */
5205 /* Covariant cast for argument 0 (i) <var_other:Int32> isa OTHER */
5206 /* <var_other:Int32> isa OTHER */
5207 var4 = 1; /* easy <var_other:Int32> isa OTHER*/
5208 if (unlikely(!var4)) {
5209 var_class_name7 = type_core__Int32.name;
5210 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5211 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
5212 fatal_exit(1);
5213 }
5214 var8 = self < var_other;
5215 var2 = var8;
5216 goto RET_LABEL3;
5217 RET_LABEL3:(void)0;
5218 }
5219 }
5220 if (var2){
5221 var = var_other;
5222 goto RET_LABEL;
5223 } else {
5224 var = self;
5225 goto RET_LABEL;
5226 }
5227 RET_LABEL:;
5228 return var;
5229 }
5230 /* method fixed_ints$Int32$max for (self: Comparable, Comparable): Comparable */
5231 val* VIRTUAL_core___core__Int32___core__kernel__Comparable__max(val* self, val* p0) {
5232 val* var /* : Comparable */;
5233 int32_t var1 /* : Int32 */;
5234 int32_t var2 /* : Int32 */;
5235 int32_t var3 /* : Int32 */;
5236 val* var4 /* : Comparable */;
5237 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
5238 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
5239 var1 = core___core__Int32___core__kernel__Comparable__max(var2, var3);
5240 var4 = BOX_core__Int32(var1); /* autobox from Int32 to Comparable */
5241 var = var4;
5242 RET_LABEL:;
5243 return var;
5244 }
5245 /* method fixed_ints$Int32$min for (self: Int32, Int32): Int32 */
5246 int32_t core___core__Int32___core__kernel__Comparable__min(int32_t self, int32_t p0) {
5247 int32_t var /* : Int32 */;
5248 short int var1 /* : Bool */;
5249 int cltype;
5250 int idtype;
5251 const char* var_class_name;
5252 int32_t var_c /* var c: Int32 */;
5253 short int var2 /* : Bool */;
5254 short int var4 /* : Bool */;
5255 int cltype5;
5256 int idtype6;
5257 const char* var_class_name7;
5258 short int var8 /* : Bool */;
5259 /* Covariant cast for argument 0 (c) <p0:Int32> isa OTHER */
5260 /* <p0:Int32> isa OTHER */
5261 var1 = 1; /* easy <p0:Int32> isa OTHER*/
5262 if (unlikely(!var1)) {
5263 var_class_name = type_core__Int32.name;
5264 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5265 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 567);
5266 fatal_exit(1);
5267 }
5268 var_c = p0;
5269 {
5270 { /* Inline fixed_ints$Int32$< (var_c,self) on <var_c:Int32> */
5271 /* Covariant cast for argument 0 (i) <self:Int32> isa OTHER */
5272 /* <self:Int32> isa OTHER */
5273 var4 = 1; /* easy <self:Int32> isa OTHER*/
5274 if (unlikely(!var4)) {
5275 var_class_name7 = type_core__Int32.name;
5276 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5277 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 491);
5278 fatal_exit(1);
5279 }
5280 var8 = var_c < self;
5281 var2 = var8;
5282 goto RET_LABEL3;
5283 RET_LABEL3:(void)0;
5284 }
5285 }
5286 if (var2){
5287 var = var_c;
5288 goto RET_LABEL;
5289 } else {
5290 var = self;
5291 goto RET_LABEL;
5292 }
5293 RET_LABEL:;
5294 return var;
5295 }
5296 /* method fixed_ints$Int32$min for (self: Comparable, Comparable): Comparable */
5297 val* VIRTUAL_core___core__Int32___core__kernel__Comparable__min(val* self, val* p0) {
5298 val* var /* : Comparable */;
5299 int32_t var1 /* : Int32 */;
5300 int32_t var2 /* : Int32 */;
5301 int32_t var3 /* : Int32 */;
5302 val* var4 /* : Comparable */;
5303 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
5304 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
5305 var1 = core___core__Int32___core__kernel__Comparable__min(var2, var3);
5306 var4 = BOX_core__Int32(var1); /* autobox from Int32 to Comparable */
5307 var = var4;
5308 RET_LABEL:;
5309 return var;
5310 }
5311 /* method fixed_ints$UInt32$successor for (self: UInt32, Int): UInt32 */
5312 uint32_t core___core__UInt32___core__kernel__Discrete__successor(uint32_t self, long p0) {
5313 uint32_t var /* : UInt32 */;
5314 long var_i /* var i: Int */;
5315 uint32_t var1 /* : UInt32 */;
5316 uint32_t var3 /* : UInt32 */;
5317 uint32_t var4 /* : UInt32 */;
5318 short int var6 /* : Bool */;
5319 int cltype;
5320 int idtype;
5321 const char* var_class_name;
5322 uint32_t var7 /* : UInt32 */;
5323 var_i = p0;
5324 {
5325 { /* Inline fixed_ints$Int$to_u32 (var_i) on <var_i:Int> */
5326 var3 = (uint32_t)var_i;
5327 var1 = var3;
5328 goto RET_LABEL2;
5329 RET_LABEL2:(void)0;
5330 }
5331 }
5332 {
5333 { /* Inline fixed_ints$UInt32$+ (self,var1) on <self:UInt32> */
5334 /* Covariant cast for argument 0 (i) <var1:UInt32> isa OTHER */
5335 /* <var1:UInt32> isa OTHER */
5336 var6 = 1; /* easy <var1:UInt32> isa OTHER*/
5337 if (unlikely(!var6)) {
5338 var_class_name = type_core__UInt32.name;
5339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5340 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 618);
5341 fatal_exit(1);
5342 }
5343 var7 = self + var1;
5344 var4 = var7;
5345 goto RET_LABEL5;
5346 RET_LABEL5:(void)0;
5347 }
5348 }
5349 var = var4;
5350 goto RET_LABEL;
5351 RET_LABEL:;
5352 return var;
5353 }
5354 /* method fixed_ints$UInt32$successor for (self: Discrete, Int): Discrete */
5355 val* VIRTUAL_core___core__UInt32___core__kernel__Discrete__successor(val* self, long p0) {
5356 val* var /* : Discrete */;
5357 uint32_t var1 /* : UInt32 */;
5358 uint32_t var2 /* : UInt32 */;
5359 val* var3 /* : Discrete */;
5360 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Discrete to UInt32 */;
5361 var1 = core___core__UInt32___core__kernel__Discrete__successor(var2, p0);
5362 var3 = BOX_core__UInt32(var1); /* autobox from UInt32 to Discrete */
5363 var = var3;
5364 RET_LABEL:;
5365 return var;
5366 }
5367 /* method fixed_ints$UInt32$object_id for (self: UInt32): Int */
5368 long core___core__UInt32___core__kernel__Object__object_id(uint32_t self) {
5369 long var /* : Int */;
5370 long var1 /* : Int */;
5371 var1 = (long)self;
5372 var = var1;
5373 goto RET_LABEL;
5374 RET_LABEL:;
5375 return var;
5376 }
5377 /* method fixed_ints$UInt32$object_id for (self: Object): Int */
5378 long VIRTUAL_core___core__UInt32___core__kernel__Object__object_id(val* self) {
5379 long var /* : Int */;
5380 long var1 /* : Int */;
5381 uint32_t var3 /* : UInt32 */;
5382 long var4 /* : Int */;
5383 { /* Inline fixed_ints$UInt32$object_id (self) on <self:Object(UInt32)> */
5384 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
5385 var4 = (long)var3;
5386 var1 = var4;
5387 goto RET_LABEL2;
5388 RET_LABEL2:(void)0;
5389 }
5390 var = var1;
5391 RET_LABEL:;
5392 return var;
5393 }
5394 /* method fixed_ints$UInt32$hash for (self: UInt32): Int */
5395 long core___core__UInt32___core__kernel__Object__hash(uint32_t self) {
5396 long var /* : Int */;
5397 long var1 /* : Int */;
5398 long var3 /* : Int */;
5399 {
5400 { /* Inline fixed_ints$UInt32$to_i (self) on <self:UInt32> */
5401 var3 = (long)self;
5402 var1 = var3;
5403 goto RET_LABEL2;
5404 RET_LABEL2:(void)0;
5405 }
5406 }
5407 var = var1;
5408 goto RET_LABEL;
5409 RET_LABEL:;
5410 return var;
5411 }
5412 /* method fixed_ints$UInt32$hash for (self: Object): Int */
5413 long VIRTUAL_core___core__UInt32___core__kernel__Object__hash(val* self) {
5414 long var /* : Int */;
5415 long var1 /* : Int */;
5416 uint32_t var2 /* : UInt32 */;
5417 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
5418 var1 = core___core__UInt32___core__kernel__Object__hash(var2);
5419 var = var1;
5420 RET_LABEL:;
5421 return var;
5422 }
5423 /* method fixed_ints$UInt32$== for (self: UInt32, nullable Object): Bool */
5424 short int core___core__UInt32___core__kernel__Object___61d_61d(uint32_t self, val* p0) {
5425 short int var /* : Bool */;
5426 short int var1 /* : Bool */;
5427 uint32_t var2 /* : UInt32 */;
5428 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt32)) {
5429 var2 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from nullable Object to UInt32 */;
5430 var1 = var2 == self;
5431 } else var1 = 0;
5432 var = var1;
5433 goto RET_LABEL;
5434 RET_LABEL:;
5435 return var;
5436 }
5437 /* method fixed_ints$UInt32$== for (self: Object, nullable Object): Bool */
5438 short int VIRTUAL_core___core__UInt32___core__kernel__Object___61d_61d(val* self, val* p0) {
5439 short int var /* : Bool */;
5440 short int var1 /* : Bool */;
5441 short int var3 /* : Bool */;
5442 { /* Inline fixed_ints$UInt32$== (self,p0) on <self:Object(UInt32)> */
5443 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)p0)->value);
5444 var1 = var3;
5445 goto RET_LABEL2;
5446 RET_LABEL2:(void)0;
5447 }
5448 var = var1;
5449 RET_LABEL:;
5450 return var;
5451 }
5452 /* method fixed_ints$UInt32$!= for (self: UInt32, nullable Object): Bool */
5453 short int core___core__UInt32___core__kernel__Object___33d_61d(uint32_t self, val* p0) {
5454 short int var /* : Bool */;
5455 short int var1 /* : Bool */;
5456 uint32_t var2 /* : UInt32 */;
5457 short int var3 /* : Bool */;
5458 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt32)) {
5459 var2 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from nullable Object to UInt32 */;
5460 var1 = var2 == self;
5461 } else var1 = 0;
5462 var3 = !var1;
5463 var = var3;
5464 goto RET_LABEL;
5465 RET_LABEL:;
5466 return var;
5467 }
5468 /* method fixed_ints$UInt32$!= for (self: Object, nullable Object): Bool */
5469 short int VIRTUAL_core___core__UInt32___core__kernel__Object___33d_61d(val* self, val* p0) {
5470 short int var /* : Bool */;
5471 short int var1 /* : Bool */;
5472 short int var3 /* : Bool */;
5473 short int var4 /* : Bool */;
5474 { /* Inline fixed_ints$UInt32$!= (self,p0) on <self:Object(UInt32)> */
5475 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)p0)->value);
5476 var4 = !var3;
5477 var1 = var4;
5478 goto RET_LABEL2;
5479 RET_LABEL2:(void)0;
5480 }
5481 var = var1;
5482 RET_LABEL:;
5483 return var;
5484 }
5485 /* method fixed_ints$UInt32$<= for (self: UInt32, UInt32): Bool */
5486 short int core___core__UInt32___core__kernel__Comparable___60d_61d(uint32_t self, uint32_t p0) {
5487 short int var /* : Bool */;
5488 short int var1 /* : Bool */;
5489 int cltype;
5490 int idtype;
5491 const char* var_class_name;
5492 short int var2 /* : Bool */;
5493 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5494 /* <p0:UInt32> isa OTHER */
5495 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5496 if (unlikely(!var1)) {
5497 var_class_name = type_core__UInt32.name;
5498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5499 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 614);
5500 fatal_exit(1);
5501 }
5502 var2 = self <= p0;
5503 var = var2;
5504 goto RET_LABEL;
5505 RET_LABEL:;
5506 return var;
5507 }
5508 /* method fixed_ints$UInt32$<= for (self: Comparable, Comparable): Bool */
5509 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d_61d(val* self, val* p0) {
5510 short int var /* : Bool */;
5511 short int var1 /* : Bool */;
5512 short int var3 /* : Bool */;
5513 int cltype;
5514 int idtype;
5515 const struct type* type_struct;
5516 const char* var_class_name;
5517 uint32_t var4 /* : UInt32 */;
5518 uint32_t var5 /* : UInt32 */;
5519 short int var6 /* : Bool */;
5520 { /* Inline fixed_ints$UInt32$<= (self,p0) on <self:Comparable(UInt32)> */
5521 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5522 /* <p0:Comparable> isa OTHER */
5523 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5524 cltype = type_struct->color;
5525 idtype = type_struct->id;
5526 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5527 var3 = 0;
5528 } else {
5529 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5530 }
5531 if (unlikely(!var3)) {
5532 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5533 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5534 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 614);
5535 fatal_exit(1);
5536 }
5537 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5538 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5539 var6 = var4 <= var5;
5540 var1 = var6;
5541 goto RET_LABEL2;
5542 RET_LABEL2:(void)0;
5543 }
5544 var = var1;
5545 RET_LABEL:;
5546 return var;
5547 }
5548 /* method fixed_ints$UInt32$< for (self: UInt32, UInt32): Bool */
5549 short int core___core__UInt32___core__kernel__Comparable___60d(uint32_t self, uint32_t p0) {
5550 short int var /* : Bool */;
5551 short int var1 /* : Bool */;
5552 int cltype;
5553 int idtype;
5554 const char* var_class_name;
5555 short int var2 /* : Bool */;
5556 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5557 /* <p0:UInt32> isa OTHER */
5558 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5559 if (unlikely(!var1)) {
5560 var_class_name = type_core__UInt32.name;
5561 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5562 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
5563 fatal_exit(1);
5564 }
5565 var2 = self < p0;
5566 var = var2;
5567 goto RET_LABEL;
5568 RET_LABEL:;
5569 return var;
5570 }
5571 /* method fixed_ints$UInt32$< for (self: Comparable, Comparable): Bool */
5572 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d(val* self, val* p0) {
5573 short int var /* : Bool */;
5574 short int var1 /* : Bool */;
5575 short int var3 /* : Bool */;
5576 int cltype;
5577 int idtype;
5578 const struct type* type_struct;
5579 const char* var_class_name;
5580 uint32_t var4 /* : UInt32 */;
5581 uint32_t var5 /* : UInt32 */;
5582 short int var6 /* : Bool */;
5583 { /* Inline fixed_ints$UInt32$< (self,p0) on <self:Comparable(UInt32)> */
5584 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5585 /* <p0:Comparable> isa OTHER */
5586 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5587 cltype = type_struct->color;
5588 idtype = type_struct->id;
5589 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5590 var3 = 0;
5591 } else {
5592 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5593 }
5594 if (unlikely(!var3)) {
5595 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5597 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
5598 fatal_exit(1);
5599 }
5600 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5601 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5602 var6 = var4 < var5;
5603 var1 = var6;
5604 goto RET_LABEL2;
5605 RET_LABEL2:(void)0;
5606 }
5607 var = var1;
5608 RET_LABEL:;
5609 return var;
5610 }
5611 /* method fixed_ints$UInt32$>= for (self: UInt32, UInt32): Bool */
5612 short int core___core__UInt32___core__kernel__Comparable___62d_61d(uint32_t self, uint32_t p0) {
5613 short int var /* : Bool */;
5614 short int var1 /* : Bool */;
5615 int cltype;
5616 int idtype;
5617 const char* var_class_name;
5618 short int var2 /* : Bool */;
5619 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5620 /* <p0:UInt32> isa OTHER */
5621 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5622 if (unlikely(!var1)) {
5623 var_class_name = type_core__UInt32.name;
5624 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5625 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 616);
5626 fatal_exit(1);
5627 }
5628 var2 = self >= p0;
5629 var = var2;
5630 goto RET_LABEL;
5631 RET_LABEL:;
5632 return var;
5633 }
5634 /* method fixed_ints$UInt32$>= for (self: Comparable, Comparable): Bool */
5635 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___62d_61d(val* self, val* p0) {
5636 short int var /* : Bool */;
5637 short int var1 /* : Bool */;
5638 short int var3 /* : Bool */;
5639 int cltype;
5640 int idtype;
5641 const struct type* type_struct;
5642 const char* var_class_name;
5643 uint32_t var4 /* : UInt32 */;
5644 uint32_t var5 /* : UInt32 */;
5645 short int var6 /* : Bool */;
5646 { /* Inline fixed_ints$UInt32$>= (self,p0) on <self:Comparable(UInt32)> */
5647 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5648 /* <p0:Comparable> isa OTHER */
5649 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5650 cltype = type_struct->color;
5651 idtype = type_struct->id;
5652 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5653 var3 = 0;
5654 } else {
5655 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5656 }
5657 if (unlikely(!var3)) {
5658 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5659 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5660 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 616);
5661 fatal_exit(1);
5662 }
5663 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5664 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5665 var6 = var4 >= var5;
5666 var1 = var6;
5667 goto RET_LABEL2;
5668 RET_LABEL2:(void)0;
5669 }
5670 var = var1;
5671 RET_LABEL:;
5672 return var;
5673 }
5674 /* method fixed_ints$UInt32$> for (self: UInt32, UInt32): Bool */
5675 short int core___core__UInt32___core__kernel__Comparable___62d(uint32_t self, uint32_t p0) {
5676 short int var /* : Bool */;
5677 short int var1 /* : Bool */;
5678 int cltype;
5679 int idtype;
5680 const char* var_class_name;
5681 short int var2 /* : Bool */;
5682 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5683 /* <p0:UInt32> isa OTHER */
5684 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5685 if (unlikely(!var1)) {
5686 var_class_name = type_core__UInt32.name;
5687 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5688 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 617);
5689 fatal_exit(1);
5690 }
5691 var2 = self > p0;
5692 var = var2;
5693 goto RET_LABEL;
5694 RET_LABEL:;
5695 return var;
5696 }
5697 /* method fixed_ints$UInt32$> for (self: Comparable, Comparable): Bool */
5698 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___62d(val* self, val* p0) {
5699 short int var /* : Bool */;
5700 short int var1 /* : Bool */;
5701 short int var3 /* : Bool */;
5702 int cltype;
5703 int idtype;
5704 const struct type* type_struct;
5705 const char* var_class_name;
5706 uint32_t var4 /* : UInt32 */;
5707 uint32_t var5 /* : UInt32 */;
5708 short int var6 /* : Bool */;
5709 { /* Inline fixed_ints$UInt32$> (self,p0) on <self:Comparable(UInt32)> */
5710 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5711 /* <p0:Comparable> isa OTHER */
5712 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5713 cltype = type_struct->color;
5714 idtype = type_struct->id;
5715 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5716 var3 = 0;
5717 } else {
5718 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5719 }
5720 if (unlikely(!var3)) {
5721 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5723 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 617);
5724 fatal_exit(1);
5725 }
5726 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5727 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5728 var6 = var4 > var5;
5729 var1 = var6;
5730 goto RET_LABEL2;
5731 RET_LABEL2:(void)0;
5732 }
5733 var = var1;
5734 RET_LABEL:;
5735 return var;
5736 }
5737 /* method fixed_ints$UInt32$+ for (self: UInt32, UInt32): UInt32 */
5738 uint32_t core___core__UInt32___core__kernel__Numeric___43d(uint32_t self, uint32_t p0) {
5739 uint32_t var /* : UInt32 */;
5740 short int var1 /* : Bool */;
5741 int cltype;
5742 int idtype;
5743 const char* var_class_name;
5744 uint32_t var2 /* : UInt32 */;
5745 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5746 /* <p0:UInt32> isa OTHER */
5747 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5748 if (unlikely(!var1)) {
5749 var_class_name = type_core__UInt32.name;
5750 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5751 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 618);
5752 fatal_exit(1);
5753 }
5754 var2 = self + p0;
5755 var = var2;
5756 goto RET_LABEL;
5757 RET_LABEL:;
5758 return var;
5759 }
5760 /* method fixed_ints$UInt32$+ for (self: Numeric, Numeric): Numeric */
5761 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___43d(val* self, val* p0) {
5762 val* var /* : Numeric */;
5763 uint32_t var1 /* : UInt32 */;
5764 short int var3 /* : Bool */;
5765 int cltype;
5766 int idtype;
5767 const struct type* type_struct;
5768 const char* var_class_name;
5769 uint32_t var4 /* : UInt32 */;
5770 uint32_t var5 /* : UInt32 */;
5771 uint32_t var6 /* : UInt32 */;
5772 val* var7 /* : Numeric */;
5773 { /* Inline fixed_ints$UInt32$+ (self,p0) on <self:Numeric(UInt32)> */
5774 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5775 /* <p0:Numeric> isa OTHER */
5776 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5777 cltype = type_struct->color;
5778 idtype = type_struct->id;
5779 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5780 var3 = 0;
5781 } else {
5782 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5783 }
5784 if (unlikely(!var3)) {
5785 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5786 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5787 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 618);
5788 fatal_exit(1);
5789 }
5790 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5791 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5792 var6 = var4 + var5;
5793 var1 = var6;
5794 goto RET_LABEL2;
5795 RET_LABEL2:(void)0;
5796 }
5797 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5798 var = var7;
5799 RET_LABEL:;
5800 return var;
5801 }
5802 /* method fixed_ints$UInt32$unary - for (self: UInt32): UInt32 */
5803 uint32_t core___core__UInt32___core__kernel__Numeric__unary_32d_45d(uint32_t self) {
5804 uint32_t var /* : UInt32 */;
5805 uint32_t var1 /* : UInt32 */;
5806 var1 = -self;
5807 var = var1;
5808 goto RET_LABEL;
5809 RET_LABEL:;
5810 return var;
5811 }
5812 /* method fixed_ints$UInt32$unary - for (self: Numeric): Numeric */
5813 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric__unary_32d_45d(val* self) {
5814 val* var /* : Numeric */;
5815 uint32_t var1 /* : UInt32 */;
5816 uint32_t var3 /* : UInt32 */;
5817 uint32_t var4 /* : UInt32 */;
5818 val* var5 /* : Numeric */;
5819 { /* Inline fixed_ints$UInt32$unary - (self) on <self:Numeric(UInt32)> */
5820 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5821 var4 = -var3;
5822 var1 = var4;
5823 goto RET_LABEL2;
5824 RET_LABEL2:(void)0;
5825 }
5826 var5 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5827 var = var5;
5828 RET_LABEL:;
5829 return var;
5830 }
5831 /* method fixed_ints$UInt32$- for (self: UInt32, UInt32): UInt32 */
5832 uint32_t core___core__UInt32___core__kernel__Numeric___45d(uint32_t self, uint32_t p0) {
5833 uint32_t var /* : UInt32 */;
5834 short int var1 /* : Bool */;
5835 int cltype;
5836 int idtype;
5837 const char* var_class_name;
5838 uint32_t var2 /* : UInt32 */;
5839 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5840 /* <p0:UInt32> isa OTHER */
5841 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5842 if (unlikely(!var1)) {
5843 var_class_name = type_core__UInt32.name;
5844 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5845 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 623);
5846 fatal_exit(1);
5847 }
5848 var2 = self - p0;
5849 var = var2;
5850 goto RET_LABEL;
5851 RET_LABEL:;
5852 return var;
5853 }
5854 /* method fixed_ints$UInt32$- for (self: Numeric, Numeric): Numeric */
5855 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___45d(val* self, val* p0) {
5856 val* var /* : Numeric */;
5857 uint32_t var1 /* : UInt32 */;
5858 short int var3 /* : Bool */;
5859 int cltype;
5860 int idtype;
5861 const struct type* type_struct;
5862 const char* var_class_name;
5863 uint32_t var4 /* : UInt32 */;
5864 uint32_t var5 /* : UInt32 */;
5865 uint32_t var6 /* : UInt32 */;
5866 val* var7 /* : Numeric */;
5867 { /* Inline fixed_ints$UInt32$- (self,p0) on <self:Numeric(UInt32)> */
5868 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5869 /* <p0:Numeric> isa OTHER */
5870 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5871 cltype = type_struct->color;
5872 idtype = type_struct->id;
5873 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5874 var3 = 0;
5875 } else {
5876 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5877 }
5878 if (unlikely(!var3)) {
5879 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5880 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5881 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 623);
5882 fatal_exit(1);
5883 }
5884 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5885 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5886 var6 = var4 - var5;
5887 var1 = var6;
5888 goto RET_LABEL2;
5889 RET_LABEL2:(void)0;
5890 }
5891 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5892 var = var7;
5893 RET_LABEL:;
5894 return var;
5895 }
5896 /* method fixed_ints$UInt32$* for (self: UInt32, UInt32): UInt32 */
5897 uint32_t core___core__UInt32___core__kernel__Numeric___42d(uint32_t self, uint32_t p0) {
5898 uint32_t var /* : UInt32 */;
5899 short int var1 /* : Bool */;
5900 int cltype;
5901 int idtype;
5902 const char* var_class_name;
5903 uint32_t var2 /* : UInt32 */;
5904 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5905 /* <p0:UInt32> isa OTHER */
5906 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5907 if (unlikely(!var1)) {
5908 var_class_name = type_core__UInt32.name;
5909 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5910 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 624);
5911 fatal_exit(1);
5912 }
5913 var2 = self * p0;
5914 var = var2;
5915 goto RET_LABEL;
5916 RET_LABEL:;
5917 return var;
5918 }
5919 /* method fixed_ints$UInt32$* for (self: Numeric, Numeric): Numeric */
5920 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___42d(val* self, val* p0) {
5921 val* var /* : Numeric */;
5922 uint32_t var1 /* : UInt32 */;
5923 short int var3 /* : Bool */;
5924 int cltype;
5925 int idtype;
5926 const struct type* type_struct;
5927 const char* var_class_name;
5928 uint32_t var4 /* : UInt32 */;
5929 uint32_t var5 /* : UInt32 */;
5930 uint32_t var6 /* : UInt32 */;
5931 val* var7 /* : Numeric */;
5932 { /* Inline fixed_ints$UInt32$* (self,p0) on <self:Numeric(UInt32)> */
5933 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5934 /* <p0:Numeric> isa OTHER */
5935 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5936 cltype = type_struct->color;
5937 idtype = type_struct->id;
5938 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5939 var3 = 0;
5940 } else {
5941 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5942 }
5943 if (unlikely(!var3)) {
5944 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5945 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5946 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 624);
5947 fatal_exit(1);
5948 }
5949 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5950 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5951 var6 = var4 * var5;
5952 var1 = var6;
5953 goto RET_LABEL2;
5954 RET_LABEL2:(void)0;
5955 }
5956 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5957 var = var7;
5958 RET_LABEL:;
5959 return var;
5960 }
5961 /* method fixed_ints$UInt32$/ for (self: UInt32, UInt32): UInt32 */
5962 uint32_t core___core__UInt32___core__kernel__Numeric___47d(uint32_t self, uint32_t p0) {
5963 uint32_t var /* : UInt32 */;
5964 short int var1 /* : Bool */;
5965 int cltype;
5966 int idtype;
5967 const char* var_class_name;
5968 uint32_t var2 /* : UInt32 */;
5969 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5970 /* <p0:UInt32> isa OTHER */
5971 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5972 if (unlikely(!var1)) {
5973 var_class_name = type_core__UInt32.name;
5974 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5975 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 625);
5976 fatal_exit(1);
5977 }
5978 var2 = self / p0;
5979 var = var2;
5980 goto RET_LABEL;
5981 RET_LABEL:;
5982 return var;
5983 }
5984 /* method fixed_ints$UInt32$/ for (self: Numeric, Numeric): Numeric */
5985 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___47d(val* self, val* p0) {
5986 val* var /* : Numeric */;
5987 uint32_t var1 /* : UInt32 */;
5988 short int var3 /* : Bool */;
5989 int cltype;
5990 int idtype;
5991 const struct type* type_struct;
5992 const char* var_class_name;
5993 uint32_t var4 /* : UInt32 */;
5994 uint32_t var5 /* : UInt32 */;
5995 uint32_t var6 /* : UInt32 */;
5996 val* var7 /* : Numeric */;
5997 { /* Inline fixed_ints$UInt32$/ (self,p0) on <self:Numeric(UInt32)> */
5998 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5999 /* <p0:Numeric> isa OTHER */
6000 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
6001 cltype = type_struct->color;
6002 idtype = type_struct->id;
6003 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
6004 var3 = 0;
6005 } else {
6006 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
6007 }
6008 if (unlikely(!var3)) {
6009 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
6010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6011 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 625);
6012 fatal_exit(1);
6013 }
6014 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6015 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
6016 var6 = var4 / var5;
6017 var1 = var6;
6018 goto RET_LABEL2;
6019 RET_LABEL2:(void)0;
6020 }
6021 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
6022 var = var7;
6023 RET_LABEL:;
6024 return var;
6025 }
6026 /* method fixed_ints$UInt32$>> for (self: UInt32, Int): UInt32 */
6027 uint32_t core___core__UInt32____62d_62d(uint32_t self, long p0) {
6028 uint32_t var /* : UInt32 */;
6029 uint32_t var1 /* : UInt32 */;
6030 var1 = self >> p0;
6031 var = var1;
6032 goto RET_LABEL;
6033 RET_LABEL:;
6034 return var;
6035 }
6036 /* method fixed_ints$UInt32$to_i for (self: UInt32): Int */
6037 long core___core__UInt32___core__kernel__Numeric__to_i(uint32_t self) {
6038 long var /* : Int */;
6039 long var1 /* : Int */;
6040 var1 = (long)self;
6041 var = var1;
6042 goto RET_LABEL;
6043 RET_LABEL:;
6044 return var;
6045 }
6046 /* method fixed_ints$UInt32$to_i for (self: Numeric): Int */
6047 long VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_i(val* self) {
6048 long var /* : Int */;
6049 long var1 /* : Int */;
6050 uint32_t var3 /* : UInt32 */;
6051 long var4 /* : Int */;
6052 { /* Inline fixed_ints$UInt32$to_i (self) on <self:Numeric(UInt32)> */
6053 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6054 var4 = (long)var3;
6055 var1 = var4;
6056 goto RET_LABEL2;
6057 RET_LABEL2:(void)0;
6058 }
6059 var = var1;
6060 RET_LABEL:;
6061 return var;
6062 }
6063 /* method fixed_ints$UInt32$to_f for (self: UInt32): Float */
6064 double core___core__UInt32___core__kernel__Numeric__to_f(uint32_t self) {
6065 double var /* : Float */;
6066 double var1 /* : Float */;
6067 var1 = (double)self;
6068 var = var1;
6069 goto RET_LABEL;
6070 RET_LABEL:;
6071 return var;
6072 }
6073 /* method fixed_ints$UInt32$to_f for (self: Numeric): Float */
6074 double VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_f(val* self) {
6075 double var /* : Float */;
6076 double var1 /* : Float */;
6077 uint32_t var3 /* : UInt32 */;
6078 double var4 /* : Float */;
6079 { /* Inline fixed_ints$UInt32$to_f (self) on <self:Numeric(UInt32)> */
6080 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6081 var4 = (double)var3;
6082 var1 = var4;
6083 goto RET_LABEL2;
6084 RET_LABEL2:(void)0;
6085 }
6086 var = var1;
6087 RET_LABEL:;
6088 return var;
6089 }
6090 /* method fixed_ints$UInt32$to_b for (self: UInt32): Byte */
6091 unsigned char core___core__UInt32___core__kernel__Numeric__to_b(uint32_t self) {
6092 unsigned char var /* : Byte */;
6093 unsigned char var1 /* : Byte */;
6094 var1 = (unsigned char)self;
6095 var = var1;
6096 goto RET_LABEL;
6097 RET_LABEL:;
6098 return var;
6099 }
6100 /* method fixed_ints$UInt32$to_b for (self: Numeric): Byte */
6101 unsigned char VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_b(val* self) {
6102 unsigned char var /* : Byte */;
6103 unsigned char var1 /* : Byte */;
6104 uint32_t var3 /* : UInt32 */;
6105 unsigned char var4 /* : Byte */;
6106 { /* Inline fixed_ints$UInt32$to_b (self) on <self:Numeric(UInt32)> */
6107 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6108 var4 = (unsigned char)var3;
6109 var1 = var4;
6110 goto RET_LABEL2;
6111 RET_LABEL2:(void)0;
6112 }
6113 var = var1;
6114 RET_LABEL:;
6115 return var;
6116 }
6117 /* method fixed_ints$UInt32$to_i8 for (self: UInt32): Int8 */
6118 int8_t core___core__UInt32___Numeric__to_i8(uint32_t self) {
6119 int8_t var /* : Int8 */;
6120 int8_t var1 /* : Int8 */;
6121 var1 = (int8_t)self;
6122 var = var1;
6123 goto RET_LABEL;
6124 RET_LABEL:;
6125 return var;
6126 }
6127 /* method fixed_ints$UInt32$to_i8 for (self: Numeric): Int8 */
6128 int8_t VIRTUAL_core___core__UInt32___Numeric__to_i8(val* self) {
6129 int8_t var /* : Int8 */;
6130 int8_t var1 /* : Int8 */;
6131 uint32_t var3 /* : UInt32 */;
6132 int8_t var4 /* : Int8 */;
6133 { /* Inline fixed_ints$UInt32$to_i8 (self) on <self:Numeric(UInt32)> */
6134 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6135 var4 = (int8_t)var3;
6136 var1 = var4;
6137 goto RET_LABEL2;
6138 RET_LABEL2:(void)0;
6139 }
6140 var = var1;
6141 RET_LABEL:;
6142 return var;
6143 }
6144 /* method fixed_ints$UInt32$to_i16 for (self: UInt32): Int16 */
6145 int16_t core___core__UInt32___Numeric__to_i16(uint32_t self) {
6146 int16_t var /* : Int16 */;
6147 int16_t var1 /* : Int16 */;
6148 var1 = (int16_t)self;
6149 var = var1;
6150 goto RET_LABEL;
6151 RET_LABEL:;
6152 return var;
6153 }
6154 /* method fixed_ints$UInt32$to_i16 for (self: Numeric): Int16 */
6155 int16_t VIRTUAL_core___core__UInt32___Numeric__to_i16(val* self) {
6156 int16_t var /* : Int16 */;
6157 int16_t var1 /* : Int16 */;
6158 uint32_t var3 /* : UInt32 */;
6159 int16_t var4 /* : Int16 */;
6160 { /* Inline fixed_ints$UInt32$to_i16 (self) on <self:Numeric(UInt32)> */
6161 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6162 var4 = (int16_t)var3;
6163 var1 = var4;
6164 goto RET_LABEL2;
6165 RET_LABEL2:(void)0;
6166 }
6167 var = var1;
6168 RET_LABEL:;
6169 return var;
6170 }
6171 /* method fixed_ints$UInt32$to_u16 for (self: UInt32): UInt16 */
6172 uint16_t core___core__UInt32___Numeric__to_u16(uint32_t self) {
6173 uint16_t var /* : UInt16 */;
6174 uint16_t var1 /* : UInt16 */;
6175 var1 = (uint16_t)self;
6176 var = var1;
6177 goto RET_LABEL;
6178 RET_LABEL:;
6179 return var;
6180 }
6181 /* method fixed_ints$UInt32$to_u16 for (self: Numeric): UInt16 */
6182 uint16_t VIRTUAL_core___core__UInt32___Numeric__to_u16(val* self) {
6183 uint16_t var /* : UInt16 */;
6184 uint16_t var1 /* : UInt16 */;
6185 uint32_t var3 /* : UInt32 */;
6186 uint16_t var4 /* : UInt16 */;
6187 { /* Inline fixed_ints$UInt32$to_u16 (self) on <self:Numeric(UInt32)> */
6188 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6189 var4 = (uint16_t)var3;
6190 var1 = var4;
6191 goto RET_LABEL2;
6192 RET_LABEL2:(void)0;
6193 }
6194 var = var1;
6195 RET_LABEL:;
6196 return var;
6197 }
6198 /* method fixed_ints$UInt32$to_i32 for (self: UInt32): Int32 */
6199 int32_t core___core__UInt32___Numeric__to_i32(uint32_t self) {
6200 int32_t var /* : Int32 */;
6201 int32_t var1 /* : Int32 */;
6202 var1 = (int32_t)self;
6203 var = var1;
6204 goto RET_LABEL;
6205 RET_LABEL:;
6206 return var;
6207 }
6208 /* method fixed_ints$UInt32$to_i32 for (self: Numeric): Int32 */
6209 int32_t VIRTUAL_core___core__UInt32___Numeric__to_i32(val* self) {
6210 int32_t var /* : Int32 */;
6211 int32_t var1 /* : Int32 */;
6212 uint32_t var3 /* : UInt32 */;
6213 int32_t var4 /* : Int32 */;
6214 { /* Inline fixed_ints$UInt32$to_i32 (self) on <self:Numeric(UInt32)> */
6215 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6216 var4 = (int32_t)var3;
6217 var1 = var4;
6218 goto RET_LABEL2;
6219 RET_LABEL2:(void)0;
6220 }
6221 var = var1;
6222 RET_LABEL:;
6223 return var;
6224 }
6225 /* method fixed_ints$UInt32$to_u32 for (self: UInt32): UInt32 */
6226 uint32_t core___core__UInt32___Numeric__to_u32(uint32_t self) {
6227 uint32_t var /* : UInt32 */;
6228 var = self;
6229 goto RET_LABEL;
6230 RET_LABEL:;
6231 return var;
6232 }
6233 /* method fixed_ints$UInt32$to_u32 for (self: Numeric): UInt32 */
6234 uint32_t VIRTUAL_core___core__UInt32___Numeric__to_u32(val* self) {
6235 uint32_t var /* : UInt32 */;
6236 uint32_t var1 /* : UInt32 */;
6237 uint32_t var2 /* : UInt32 */;
6238 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6239 var1 = core___core__UInt32___Numeric__to_u32(var2);
6240 var = var1;
6241 RET_LABEL:;
6242 return var;
6243 }
6244 /* method fixed_ints$UInt32$distance for (self: UInt32, UInt32): Int */
6245 long core___core__UInt32___core__kernel__Discrete__distance(uint32_t self, uint32_t p0) {
6246 long var /* : Int */;
6247 short int var1 /* : Bool */;
6248 int cltype;
6249 int idtype;
6250 const char* var_class_name;
6251 uint32_t var_i /* var i: UInt32 */;
6252 uint32_t var2 /* : UInt32 */;
6253 short int var4 /* : Bool */;
6254 int cltype5;
6255 int idtype6;
6256 const char* var_class_name7;
6257 uint32_t var8 /* : UInt32 */;
6258 long var9 /* : Int */;
6259 long var11 /* : Int */;
6260 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
6261 /* <p0:UInt32> isa OTHER */
6262 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6263 if (unlikely(!var1)) {
6264 var_class_name = type_core__UInt32.name;
6265 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6266 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 660);
6267 fatal_exit(1);
6268 }
6269 var_i = p0;
6270 {
6271 { /* Inline fixed_ints$UInt32$- (self,var_i) on <self:UInt32> */
6272 /* Covariant cast for argument 0 (i) <var_i:UInt32> isa OTHER */
6273 /* <var_i:UInt32> isa OTHER */
6274 var4 = 1; /* easy <var_i:UInt32> isa OTHER*/
6275 if (unlikely(!var4)) {
6276 var_class_name7 = type_core__UInt32.name;
6277 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6278 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 623);
6279 fatal_exit(1);
6280 }
6281 var8 = self - var_i;
6282 var2 = var8;
6283 goto RET_LABEL3;
6284 RET_LABEL3:(void)0;
6285 }
6286 }
6287 {
6288 { /* Inline fixed_ints$UInt32$to_i (var2) on <var2:UInt32> */
6289 var11 = (long)var2;
6290 var9 = var11;
6291 goto RET_LABEL10;
6292 RET_LABEL10:(void)0;
6293 }
6294 }
6295 var = var9;
6296 goto RET_LABEL;
6297 RET_LABEL:;
6298 return var;
6299 }
6300 /* method fixed_ints$UInt32$distance for (self: Discrete, Discrete): Int */
6301 long VIRTUAL_core___core__UInt32___core__kernel__Discrete__distance(val* self, val* p0) {
6302 long var /* : Int */;
6303 long var1 /* : Int */;
6304 uint32_t var2 /* : UInt32 */;
6305 uint32_t var3 /* : UInt32 */;
6306 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Discrete to UInt32 */;
6307 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Discrete to UInt32 */;
6308 var1 = core___core__UInt32___core__kernel__Discrete__distance(var2, var3);
6309 var = var1;
6310 RET_LABEL:;
6311 return var;
6312 }
6313 /* method fixed_ints$UInt32$<=> for (self: UInt32, UInt32): Int */
6314 long core___core__UInt32___core__kernel__Comparable___60d_61d_62d(uint32_t self, uint32_t p0) {
6315 long var /* : Int */;
6316 short int var1 /* : Bool */;
6317 int cltype;
6318 int idtype;
6319 const char* var_class_name;
6320 uint32_t var_other /* var other: UInt32 */;
6321 short int var2 /* : Bool */;
6322 short int var4 /* : Bool */;
6323 int cltype5;
6324 int idtype6;
6325 const char* var_class_name7;
6326 short int var8 /* : Bool */;
6327 long var9 /* : Int */;
6328 long var11 /* : Int */;
6329 short int var12 /* : Bool */;
6330 short int var14 /* : Bool */;
6331 int cltype15;
6332 int idtype16;
6333 const char* var_class_name17;
6334 short int var18 /* : Bool */;
6335 /* Covariant cast for argument 0 (other) <p0:UInt32> isa OTHER */
6336 /* <p0:UInt32> isa OTHER */
6337 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6338 if (unlikely(!var1)) {
6339 var_class_name = type_core__UInt32.name;
6340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6341 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 662);
6342 fatal_exit(1);
6343 }
6344 var_other = p0;
6345 {
6346 { /* Inline fixed_ints$UInt32$< (self,var_other) on <self:UInt32> */
6347 /* Covariant cast for argument 0 (i) <var_other:UInt32> isa OTHER */
6348 /* <var_other:UInt32> isa OTHER */
6349 var4 = 1; /* easy <var_other:UInt32> isa OTHER*/
6350 if (unlikely(!var4)) {
6351 var_class_name7 = type_core__UInt32.name;
6352 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6353 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
6354 fatal_exit(1);
6355 }
6356 var8 = self < var_other;
6357 var2 = var8;
6358 goto RET_LABEL3;
6359 RET_LABEL3:(void)0;
6360 }
6361 }
6362 if (var2){
6363 {
6364 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
6365 var11 = -1l;
6366 var9 = var11;
6367 goto RET_LABEL10;
6368 RET_LABEL10:(void)0;
6369 }
6370 }
6371 var = var9;
6372 goto RET_LABEL;
6373 } else {
6374 {
6375 { /* Inline fixed_ints$UInt32$< (var_other,self) on <var_other:UInt32> */
6376 /* Covariant cast for argument 0 (i) <self:UInt32> isa OTHER */
6377 /* <self:UInt32> isa OTHER */
6378 var14 = 1; /* easy <self:UInt32> isa OTHER*/
6379 if (unlikely(!var14)) {
6380 var_class_name17 = type_core__UInt32.name;
6381 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
6382 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
6383 fatal_exit(1);
6384 }
6385 var18 = var_other < self;
6386 var12 = var18;
6387 goto RET_LABEL13;
6388 RET_LABEL13:(void)0;
6389 }
6390 }
6391 if (var12){
6392 var = 1l;
6393 goto RET_LABEL;
6394 } else {
6395 var = 0l;
6396 goto RET_LABEL;
6397 }
6398 }
6399 RET_LABEL:;
6400 return var;
6401 }
6402 /* method fixed_ints$UInt32$<=> for (self: Comparable, Comparable): Int */
6403 long VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
6404 long var /* : Int */;
6405 long var1 /* : Int */;
6406 uint32_t var2 /* : UInt32 */;
6407 uint32_t var3 /* : UInt32 */;
6408 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
6409 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
6410 var1 = core___core__UInt32___core__kernel__Comparable___60d_61d_62d(var2, var3);
6411 var = var1;
6412 RET_LABEL:;
6413 return var;
6414 }
6415 /* method fixed_ints$UInt32$max for (self: UInt32, UInt32): UInt32 */
6416 uint32_t core___core__UInt32___core__kernel__Comparable__max(uint32_t self, uint32_t p0) {
6417 uint32_t var /* : UInt32 */;
6418 short int var1 /* : Bool */;
6419 int cltype;
6420 int idtype;
6421 const char* var_class_name;
6422 uint32_t var_other /* var other: UInt32 */;
6423 short int var2 /* : Bool */;
6424 short int var4 /* : Bool */;
6425 int cltype5;
6426 int idtype6;
6427 const char* var_class_name7;
6428 short int var8 /* : Bool */;
6429 /* Covariant cast for argument 0 (other) <p0:UInt32> isa OTHER */
6430 /* <p0:UInt32> isa OTHER */
6431 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6432 if (unlikely(!var1)) {
6433 var_class_name = type_core__UInt32.name;
6434 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6435 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 682);
6436 fatal_exit(1);
6437 }
6438 var_other = p0;
6439 {
6440 { /* Inline fixed_ints$UInt32$< (self,var_other) on <self:UInt32> */
6441 /* Covariant cast for argument 0 (i) <var_other:UInt32> isa OTHER */
6442 /* <var_other:UInt32> isa OTHER */
6443 var4 = 1; /* easy <var_other:UInt32> isa OTHER*/
6444 if (unlikely(!var4)) {
6445 var_class_name7 = type_core__UInt32.name;
6446 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6447 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
6448 fatal_exit(1);
6449 }
6450 var8 = self < var_other;
6451 var2 = var8;
6452 goto RET_LABEL3;
6453 RET_LABEL3:(void)0;
6454 }
6455 }
6456 if (var2){
6457 var = var_other;
6458 goto RET_LABEL;
6459 } else {
6460 var = self;
6461 goto RET_LABEL;
6462 }
6463 RET_LABEL:;
6464 return var;
6465 }
6466 /* method fixed_ints$UInt32$max for (self: Comparable, Comparable): Comparable */
6467 val* VIRTUAL_core___core__UInt32___core__kernel__Comparable__max(val* self, val* p0) {
6468 val* var /* : Comparable */;
6469 uint32_t var1 /* : UInt32 */;
6470 uint32_t var2 /* : UInt32 */;
6471 uint32_t var3 /* : UInt32 */;
6472 val* var4 /* : Comparable */;
6473 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
6474 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
6475 var1 = core___core__UInt32___core__kernel__Comparable__max(var2, var3);
6476 var4 = BOX_core__UInt32(var1); /* autobox from UInt32 to Comparable */
6477 var = var4;
6478 RET_LABEL:;
6479 return var;
6480 }
6481 /* method fixed_ints$UInt32$min for (self: UInt32, UInt32): UInt32 */
6482 uint32_t core___core__UInt32___core__kernel__Comparable__min(uint32_t self, uint32_t p0) {
6483 uint32_t var /* : UInt32 */;
6484 short int var1 /* : Bool */;
6485 int cltype;
6486 int idtype;
6487 const char* var_class_name;
6488 uint32_t var_c /* var c: UInt32 */;
6489 short int var2 /* : Bool */;
6490 short int var4 /* : Bool */;
6491 int cltype5;
6492 int idtype6;
6493 const char* var_class_name7;
6494 short int var8 /* : Bool */;
6495 /* Covariant cast for argument 0 (c) <p0:UInt32> isa OTHER */
6496 /* <p0:UInt32> isa OTHER */
6497 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6498 if (unlikely(!var1)) {
6499 var_class_name = type_core__UInt32.name;
6500 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6501 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 691);
6502 fatal_exit(1);
6503 }
6504 var_c = p0;
6505 {
6506 { /* Inline fixed_ints$UInt32$< (var_c,self) on <var_c:UInt32> */
6507 /* Covariant cast for argument 0 (i) <self:UInt32> isa OTHER */
6508 /* <self:UInt32> isa OTHER */
6509 var4 = 1; /* easy <self:UInt32> isa OTHER*/
6510 if (unlikely(!var4)) {
6511 var_class_name7 = type_core__UInt32.name;
6512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6513 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 615);
6514 fatal_exit(1);
6515 }
6516 var8 = var_c < self;
6517 var2 = var8;
6518 goto RET_LABEL3;
6519 RET_LABEL3:(void)0;
6520 }
6521 }
6522 if (var2){
6523 var = var_c;
6524 goto RET_LABEL;
6525 } else {
6526 var = self;
6527 goto RET_LABEL;
6528 }
6529 RET_LABEL:;
6530 return var;
6531 }
6532 /* method fixed_ints$UInt32$min for (self: Comparable, Comparable): Comparable */
6533 val* VIRTUAL_core___core__UInt32___core__kernel__Comparable__min(val* self, val* p0) {
6534 val* var /* : Comparable */;
6535 uint32_t var1 /* : UInt32 */;
6536 uint32_t var2 /* : UInt32 */;
6537 uint32_t var3 /* : UInt32 */;
6538 val* var4 /* : Comparable */;
6539 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
6540 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
6541 var1 = core___core__UInt32___core__kernel__Comparable__min(var2, var3);
6542 var4 = BOX_core__UInt32(var1); /* autobox from UInt32 to Comparable */
6543 var = var4;
6544 RET_LABEL:;
6545 return var;
6546 }
6547 /* method fixed_ints$UInt32$& for (self: UInt32, UInt32): UInt32 */
6548 uint32_t core___core__UInt32____38d(uint32_t self, uint32_t p0) {
6549 uint32_t var /* : UInt32 */;
6550 uint32_t var1 /* : UInt32 */;
6551 var1 = self & p0;
6552 var = var1;
6553 goto RET_LABEL;
6554 RET_LABEL:;
6555 return var;
6556 }
6557 /* method fixed_ints$UInt32$| for (self: UInt32, UInt32): UInt32 */
6558 uint32_t core___core__UInt32____124d(uint32_t self, uint32_t p0) {
6559 uint32_t var /* : UInt32 */;
6560 uint32_t var1 /* : UInt32 */;
6561 var1 = self | p0;
6562 var = var1;
6563 goto RET_LABEL;
6564 RET_LABEL:;
6565 return var;
6566 }