NOTICE: Update author list and years
[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#to_s_len for (self: Int8): Int */
1502 long core___core__Int8___to_s_len(int8_t self) {
1503 long var /* : Int */;
1504 long var1 /* : Int */;
1505 var1 = fixed_ints___Int8_to_s_len___impl(self);
1506 var = var1;
1507 goto RET_LABEL;
1508 RET_LABEL:;
1509 return var;
1510 }
1511 /* method fixed_ints#Int8#native_to_s for (self: Int8, NativeString, Int) */
1512 void core___core__Int8___native_to_s(int8_t self, char* p0, long p1) {
1513 fixed_ints___Int8_native_to_s___impl(self, p0, p1);
1514 RET_LABEL:;
1515 }
1516 /* method fixed_ints#Int8#to_s for (self: Int8): String */
1517 val* core___core__Int8___core__abstract_text__Object__to_s(int8_t self) {
1518 val* var /* : String */;
1519 long var1 /* : Int */;
1520 long var3 /* : Int */;
1521 long var_nslen /* var nslen: Int */;
1522 char* var4 /* : NativeString */;
1523 long var5 /* : Int */;
1524 short int var7 /* : Bool */;
1525 int cltype;
1526 int idtype;
1527 const char* var_class_name;
1528 long var8 /* : Int */;
1529 char* var9 /* : NativeString */;
1530 char* var11 /* : NativeString */;
1531 char* var_ns /* var ns: NativeString */;
1532 long var13 /* : Int */;
1533 short int var15 /* : Bool */;
1534 int cltype16;
1535 int idtype17;
1536 const char* var_class_name18;
1537 long var19 /* : Int */;
1538 val* var21 /* : FlatString */;
1539 {
1540 { /* Inline fixed_ints#Int8#to_s_len (self) on <self:Int8> */
1541 var3 = fixed_ints___Int8_to_s_len___impl(self);
1542 var1 = var3;
1543 goto RET_LABEL2;
1544 RET_LABEL2:(void)0;
1545 }
1546 }
1547 var_nslen = var1;
1548 var4 = NULL/*special!*/;
1549 {
1550 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
1551 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1552 /* <1l:Int> isa OTHER */
1553 var7 = 1; /* easy <1l:Int> isa OTHER*/
1554 if (unlikely(!var7)) {
1555 var_class_name = type_core__Int.name;
1556 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1557 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1558 fatal_exit(1);
1559 }
1560 var8 = var_nslen + 1l;
1561 var5 = var8;
1562 goto RET_LABEL6;
1563 RET_LABEL6:(void)0;
1564 }
1565 }
1566 {
1567 { /* Inline native#NativeString#new (var4,var5) on <var4:NativeString> */
1568 var11 = (char*)nit_alloc(var5);
1569 var9 = var11;
1570 goto RET_LABEL10;
1571 RET_LABEL10:(void)0;
1572 }
1573 }
1574 var_ns = var9;
1575 {
1576 { /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:NativeString> */
1577 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
1578 RET_LABEL12:(void)0;
1579 }
1580 }
1581 {
1582 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
1583 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1584 /* <1l:Int> isa OTHER */
1585 var15 = 1; /* easy <1l:Int> isa OTHER*/
1586 if (unlikely(!var15)) {
1587 var_class_name18 = type_core__Int.name;
1588 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1589 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1590 fatal_exit(1);
1591 }
1592 var19 = var_nslen + 1l;
1593 var13 = var19;
1594 goto RET_LABEL14;
1595 RET_LABEL14:(void)0;
1596 }
1597 }
1598 {
1599 { /* Inline fixed_ints#Int8#native_to_s (self,var_ns,var13) on <self:Int8> */
1600 fixed_ints___Int8_native_to_s___impl(self, var_ns, var13);
1601 RET_LABEL20:(void)0;
1602 }
1603 }
1604 {
1605 var21 = core__flat___NativeString___to_s_with_length(var_ns, var_nslen);
1606 }
1607 var = var21;
1608 goto RET_LABEL;
1609 RET_LABEL:;
1610 return var;
1611 }
1612 /* method fixed_ints#Int8#to_s for (self: Object): String */
1613 val* VIRTUAL_core___core__Int8___core__abstract_text__Object__to_s(val* self) {
1614 val* var /* : String */;
1615 val* var1 /* : String */;
1616 int8_t var2 /* : Int8 */;
1617 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Object to Int8 */;
1618 var1 = core___core__Int8___core__abstract_text__Object__to_s(var2);
1619 var = var1;
1620 RET_LABEL:;
1621 return var;
1622 }
1623 /* method fixed_ints#Int16#successor for (self: Int16, Int): Int16 */
1624 int16_t core___core__Int16___core__kernel__Discrete__successor(int16_t self, long p0) {
1625 int16_t var /* : Int16 */;
1626 long var_i /* var i: Int */;
1627 int16_t var1 /* : Int16 */;
1628 int16_t var3 /* : Int16 */;
1629 int16_t var4 /* : Int16 */;
1630 short int var6 /* : Bool */;
1631 int cltype;
1632 int idtype;
1633 const char* var_class_name;
1634 int16_t var7 /* : Int16 */;
1635 var_i = p0;
1636 {
1637 { /* Inline fixed_ints#Int#to_i16 (var_i) on <var_i:Int> */
1638 var3 = (int16_t)var_i;
1639 var1 = var3;
1640 goto RET_LABEL2;
1641 RET_LABEL2:(void)0;
1642 }
1643 }
1644 {
1645 { /* Inline fixed_ints#Int16#+ (self,var1) on <self:Int16> */
1646 /* Covariant cast for argument 0 (i) <var1:Int16> isa OTHER */
1647 /* <var1:Int16> isa OTHER */
1648 var6 = 1; /* easy <var1:Int16> isa OTHER*/
1649 if (unlikely(!var6)) {
1650 var_class_name = type_core__Int16.name;
1651 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1652 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 268);
1653 fatal_exit(1);
1654 }
1655 var7 = self + var1;
1656 var4 = var7;
1657 goto RET_LABEL5;
1658 RET_LABEL5:(void)0;
1659 }
1660 }
1661 var = var4;
1662 goto RET_LABEL;
1663 RET_LABEL:;
1664 return var;
1665 }
1666 /* method fixed_ints#Int16#successor for (self: Discrete, Int): Discrete */
1667 val* VIRTUAL_core___core__Int16___core__kernel__Discrete__successor(val* self, long p0) {
1668 val* var /* : Discrete */;
1669 int16_t var1 /* : Int16 */;
1670 int16_t var2 /* : Int16 */;
1671 val* var3 /* : Discrete */;
1672 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Discrete to Int16 */;
1673 var1 = core___core__Int16___core__kernel__Discrete__successor(var2, p0);
1674 var3 = BOX_core__Int16(var1); /* autobox from Int16 to Discrete */
1675 var = var3;
1676 RET_LABEL:;
1677 return var;
1678 }
1679 /* method fixed_ints#Int16#object_id for (self: Int16): Int */
1680 long core___core__Int16___core__kernel__Object__object_id(int16_t self) {
1681 long var /* : Int */;
1682 long var1 /* : Int */;
1683 var1 = (long)self;
1684 var = var1;
1685 goto RET_LABEL;
1686 RET_LABEL:;
1687 return var;
1688 }
1689 /* method fixed_ints#Int16#object_id for (self: Object): Int */
1690 long VIRTUAL_core___core__Int16___core__kernel__Object__object_id(val* self) {
1691 long var /* : Int */;
1692 long var1 /* : Int */;
1693 int16_t var3 /* : Int16 */;
1694 long var4 /* : Int */;
1695 { /* Inline fixed_ints#Int16#object_id (self) on <self:Object(Int16)> */
1696 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
1697 var4 = (long)var3;
1698 var1 = var4;
1699 goto RET_LABEL2;
1700 RET_LABEL2:(void)0;
1701 }
1702 var = var1;
1703 RET_LABEL:;
1704 return var;
1705 }
1706 /* method fixed_ints#Int16#hash for (self: Int16): Int */
1707 long core___core__Int16___core__kernel__Object__hash(int16_t self) {
1708 long var /* : Int */;
1709 long var1 /* : Int */;
1710 long var3 /* : Int */;
1711 {
1712 { /* Inline fixed_ints#Int16#to_i (self) on <self:Int16> */
1713 var3 = (long)self;
1714 var1 = var3;
1715 goto RET_LABEL2;
1716 RET_LABEL2:(void)0;
1717 }
1718 }
1719 var = var1;
1720 goto RET_LABEL;
1721 RET_LABEL:;
1722 return var;
1723 }
1724 /* method fixed_ints#Int16#hash for (self: Object): Int */
1725 long VIRTUAL_core___core__Int16___core__kernel__Object__hash(val* self) {
1726 long var /* : Int */;
1727 long var1 /* : Int */;
1728 int16_t var2 /* : Int16 */;
1729 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
1730 var1 = core___core__Int16___core__kernel__Object__hash(var2);
1731 var = var1;
1732 RET_LABEL:;
1733 return var;
1734 }
1735 /* method fixed_ints#Int16#== for (self: Int16, nullable Object): Bool */
1736 short int core___core__Int16___core__kernel__Object___61d_61d(int16_t self, val* p0) {
1737 short int var /* : Bool */;
1738 short int var1 /* : Bool */;
1739 int16_t var2 /* : Int16 */;
1740 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int16)) {
1741 var2 = ((struct instance_core__Int16*)p0)->value; /* autounbox from nullable Object to Int16 */;
1742 var1 = var2 == self;
1743 } else var1 = 0;
1744 var = var1;
1745 goto RET_LABEL;
1746 RET_LABEL:;
1747 return var;
1748 }
1749 /* method fixed_ints#Int16#== for (self: Object, nullable Object): Bool */
1750 short int VIRTUAL_core___core__Int16___core__kernel__Object___61d_61d(val* self, val* p0) {
1751 short int var /* : Bool */;
1752 short int var1 /* : Bool */;
1753 short int var3 /* : Bool */;
1754 { /* Inline fixed_ints#Int16#== (self,p0) on <self:Object(Int16)> */
1755 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)p0)->value);
1756 var1 = var3;
1757 goto RET_LABEL2;
1758 RET_LABEL2:(void)0;
1759 }
1760 var = var1;
1761 RET_LABEL:;
1762 return var;
1763 }
1764 /* method fixed_ints#Int16#!= for (self: Int16, nullable Object): Bool */
1765 short int core___core__Int16___core__kernel__Object___33d_61d(int16_t self, val* p0) {
1766 short int var /* : Bool */;
1767 short int var1 /* : Bool */;
1768 int16_t var2 /* : Int16 */;
1769 short int var3 /* : Bool */;
1770 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int16)) {
1771 var2 = ((struct instance_core__Int16*)p0)->value; /* autounbox from nullable Object to Int16 */;
1772 var1 = var2 == self;
1773 } else var1 = 0;
1774 var3 = !var1;
1775 var = var3;
1776 goto RET_LABEL;
1777 RET_LABEL:;
1778 return var;
1779 }
1780 /* method fixed_ints#Int16#!= for (self: Object, nullable Object): Bool */
1781 short int VIRTUAL_core___core__Int16___core__kernel__Object___33d_61d(val* self, val* p0) {
1782 short int var /* : Bool */;
1783 short int var1 /* : Bool */;
1784 short int var3 /* : Bool */;
1785 short int var4 /* : Bool */;
1786 { /* Inline fixed_ints#Int16#!= (self,p0) on <self:Object(Int16)> */
1787 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)p0)->value);
1788 var4 = !var3;
1789 var1 = var4;
1790 goto RET_LABEL2;
1791 RET_LABEL2:(void)0;
1792 }
1793 var = var1;
1794 RET_LABEL:;
1795 return var;
1796 }
1797 /* method fixed_ints#Int16#<= for (self: Int16, Int16): Bool */
1798 short int core___core__Int16___core__kernel__Comparable___60d_61d(int16_t self, int16_t p0) {
1799 short int var /* : Bool */;
1800 short int var1 /* : Bool */;
1801 int cltype;
1802 int idtype;
1803 const char* var_class_name;
1804 short int var2 /* : Bool */;
1805 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1806 /* <p0:Int16> isa OTHER */
1807 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1808 if (unlikely(!var1)) {
1809 var_class_name = type_core__Int16.name;
1810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1811 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 264);
1812 fatal_exit(1);
1813 }
1814 var2 = self <= p0;
1815 var = var2;
1816 goto RET_LABEL;
1817 RET_LABEL:;
1818 return var;
1819 }
1820 /* method fixed_ints#Int16#<= for (self: Comparable, Comparable): Bool */
1821 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___60d_61d(val* self, val* p0) {
1822 short int var /* : Bool */;
1823 short int var1 /* : Bool */;
1824 short int var3 /* : Bool */;
1825 int cltype;
1826 int idtype;
1827 const struct type* type_struct;
1828 const char* var_class_name;
1829 int16_t var4 /* : Int16 */;
1830 int16_t var5 /* : Int16 */;
1831 short int var6 /* : Bool */;
1832 { /* Inline fixed_ints#Int16#<= (self,p0) on <self:Comparable(Int16)> */
1833 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1834 /* <p0:Comparable> isa OTHER */
1835 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1836 cltype = type_struct->color;
1837 idtype = type_struct->id;
1838 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1839 var3 = 0;
1840 } else {
1841 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1842 }
1843 if (unlikely(!var3)) {
1844 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1845 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1846 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 264);
1847 fatal_exit(1);
1848 }
1849 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1850 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1851 var6 = var4 <= var5;
1852 var1 = var6;
1853 goto RET_LABEL2;
1854 RET_LABEL2:(void)0;
1855 }
1856 var = var1;
1857 RET_LABEL:;
1858 return var;
1859 }
1860 /* method fixed_ints#Int16#< for (self: Int16, Int16): Bool */
1861 short int core___core__Int16___core__kernel__Comparable___60d(int16_t self, int16_t p0) {
1862 short int var /* : Bool */;
1863 short int var1 /* : Bool */;
1864 int cltype;
1865 int idtype;
1866 const char* var_class_name;
1867 short int var2 /* : Bool */;
1868 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1869 /* <p0:Int16> isa OTHER */
1870 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1871 if (unlikely(!var1)) {
1872 var_class_name = type_core__Int16.name;
1873 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1874 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 265);
1875 fatal_exit(1);
1876 }
1877 var2 = self < p0;
1878 var = var2;
1879 goto RET_LABEL;
1880 RET_LABEL:;
1881 return var;
1882 }
1883 /* method fixed_ints#Int16#< for (self: Comparable, Comparable): Bool */
1884 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___60d(val* self, val* p0) {
1885 short int var /* : Bool */;
1886 short int var1 /* : Bool */;
1887 short int var3 /* : Bool */;
1888 int cltype;
1889 int idtype;
1890 const struct type* type_struct;
1891 const char* var_class_name;
1892 int16_t var4 /* : Int16 */;
1893 int16_t var5 /* : Int16 */;
1894 short int var6 /* : Bool */;
1895 { /* Inline fixed_ints#Int16#< (self,p0) on <self:Comparable(Int16)> */
1896 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1897 /* <p0:Comparable> isa OTHER */
1898 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1899 cltype = type_struct->color;
1900 idtype = type_struct->id;
1901 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1902 var3 = 0;
1903 } else {
1904 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1905 }
1906 if (unlikely(!var3)) {
1907 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1908 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1909 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 265);
1910 fatal_exit(1);
1911 }
1912 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1913 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1914 var6 = var4 < var5;
1915 var1 = var6;
1916 goto RET_LABEL2;
1917 RET_LABEL2:(void)0;
1918 }
1919 var = var1;
1920 RET_LABEL:;
1921 return var;
1922 }
1923 /* method fixed_ints#Int16#>= for (self: Int16, Int16): Bool */
1924 short int core___core__Int16___core__kernel__Comparable___62d_61d(int16_t self, int16_t p0) {
1925 short int var /* : Bool */;
1926 short int var1 /* : Bool */;
1927 int cltype;
1928 int idtype;
1929 const char* var_class_name;
1930 short int var2 /* : Bool */;
1931 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1932 /* <p0:Int16> isa OTHER */
1933 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1934 if (unlikely(!var1)) {
1935 var_class_name = type_core__Int16.name;
1936 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1937 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 266);
1938 fatal_exit(1);
1939 }
1940 var2 = self >= p0;
1941 var = var2;
1942 goto RET_LABEL;
1943 RET_LABEL:;
1944 return var;
1945 }
1946 /* method fixed_ints#Int16#>= for (self: Comparable, Comparable): Bool */
1947 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___62d_61d(val* self, val* p0) {
1948 short int var /* : Bool */;
1949 short int var1 /* : Bool */;
1950 short int var3 /* : Bool */;
1951 int cltype;
1952 int idtype;
1953 const struct type* type_struct;
1954 const char* var_class_name;
1955 int16_t var4 /* : Int16 */;
1956 int16_t var5 /* : Int16 */;
1957 short int var6 /* : Bool */;
1958 { /* Inline fixed_ints#Int16#>= (self,p0) on <self:Comparable(Int16)> */
1959 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1960 /* <p0:Comparable> isa OTHER */
1961 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
1962 cltype = type_struct->color;
1963 idtype = type_struct->id;
1964 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1965 var3 = 0;
1966 } else {
1967 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1968 }
1969 if (unlikely(!var3)) {
1970 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1971 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1972 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 266);
1973 fatal_exit(1);
1974 }
1975 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
1976 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
1977 var6 = var4 >= var5;
1978 var1 = var6;
1979 goto RET_LABEL2;
1980 RET_LABEL2:(void)0;
1981 }
1982 var = var1;
1983 RET_LABEL:;
1984 return var;
1985 }
1986 /* method fixed_ints#Int16#> for (self: Int16, Int16): Bool */
1987 short int core___core__Int16___core__kernel__Comparable___62d(int16_t self, int16_t p0) {
1988 short int var /* : Bool */;
1989 short int var1 /* : Bool */;
1990 int cltype;
1991 int idtype;
1992 const char* var_class_name;
1993 short int var2 /* : Bool */;
1994 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
1995 /* <p0:Int16> isa OTHER */
1996 var1 = 1; /* easy <p0:Int16> isa OTHER*/
1997 if (unlikely(!var1)) {
1998 var_class_name = type_core__Int16.name;
1999 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2000 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 267);
2001 fatal_exit(1);
2002 }
2003 var2 = self > p0;
2004 var = var2;
2005 goto RET_LABEL;
2006 RET_LABEL:;
2007 return var;
2008 }
2009 /* method fixed_ints#Int16#> for (self: Comparable, Comparable): Bool */
2010 short int VIRTUAL_core___core__Int16___core__kernel__Comparable___62d(val* self, val* p0) {
2011 short int var /* : Bool */;
2012 short int var1 /* : Bool */;
2013 short int var3 /* : Bool */;
2014 int cltype;
2015 int idtype;
2016 const struct type* type_struct;
2017 const char* var_class_name;
2018 int16_t var4 /* : Int16 */;
2019 int16_t var5 /* : Int16 */;
2020 short int var6 /* : Bool */;
2021 { /* Inline fixed_ints#Int16#> (self,p0) on <self:Comparable(Int16)> */
2022 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2023 /* <p0:Comparable> isa OTHER */
2024 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2025 cltype = type_struct->color;
2026 idtype = type_struct->id;
2027 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2028 var3 = 0;
2029 } else {
2030 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2031 }
2032 if (unlikely(!var3)) {
2033 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2035 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 267);
2036 fatal_exit(1);
2037 }
2038 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2039 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2040 var6 = var4 > var5;
2041 var1 = var6;
2042 goto RET_LABEL2;
2043 RET_LABEL2:(void)0;
2044 }
2045 var = var1;
2046 RET_LABEL:;
2047 return var;
2048 }
2049 /* method fixed_ints#Int16#+ for (self: Int16, Int16): Int16 */
2050 int16_t core___core__Int16___core__kernel__Numeric___43d(int16_t self, int16_t p0) {
2051 int16_t var /* : Int16 */;
2052 short int var1 /* : Bool */;
2053 int cltype;
2054 int idtype;
2055 const char* var_class_name;
2056 int16_t var2 /* : Int16 */;
2057 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2058 /* <p0:Int16> isa OTHER */
2059 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2060 if (unlikely(!var1)) {
2061 var_class_name = type_core__Int16.name;
2062 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2063 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 268);
2064 fatal_exit(1);
2065 }
2066 var2 = self + p0;
2067 var = var2;
2068 goto RET_LABEL;
2069 RET_LABEL:;
2070 return var;
2071 }
2072 /* method fixed_ints#Int16#+ for (self: Numeric, Numeric): Numeric */
2073 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___43d(val* self, val* p0) {
2074 val* var /* : Numeric */;
2075 int16_t var1 /* : Int16 */;
2076 short int var3 /* : Bool */;
2077 int cltype;
2078 int idtype;
2079 const struct type* type_struct;
2080 const char* var_class_name;
2081 int16_t var4 /* : Int16 */;
2082 int16_t var5 /* : Int16 */;
2083 int16_t var6 /* : Int16 */;
2084 val* var7 /* : Numeric */;
2085 { /* Inline fixed_ints#Int16#+ (self,p0) on <self:Numeric(Int16)> */
2086 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2087 /* <p0:Numeric> isa OTHER */
2088 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2089 cltype = type_struct->color;
2090 idtype = type_struct->id;
2091 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2092 var3 = 0;
2093 } else {
2094 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2095 }
2096 if (unlikely(!var3)) {
2097 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2098 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2099 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 268);
2100 fatal_exit(1);
2101 }
2102 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2103 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2104 var6 = var4 + var5;
2105 var1 = var6;
2106 goto RET_LABEL2;
2107 RET_LABEL2:(void)0;
2108 }
2109 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2110 var = var7;
2111 RET_LABEL:;
2112 return var;
2113 }
2114 /* method fixed_ints#Int16#unary - for (self: Int16): Int16 */
2115 int16_t core___core__Int16___core__kernel__Numeric__unary_32d_45d(int16_t self) {
2116 int16_t var /* : Int16 */;
2117 int16_t var1 /* : Int16 */;
2118 var1 = -self;
2119 var = var1;
2120 goto RET_LABEL;
2121 RET_LABEL:;
2122 return var;
2123 }
2124 /* method fixed_ints#Int16#unary - for (self: Numeric): Numeric */
2125 val* VIRTUAL_core___core__Int16___core__kernel__Numeric__unary_32d_45d(val* self) {
2126 val* var /* : Numeric */;
2127 int16_t var1 /* : Int16 */;
2128 int16_t var3 /* : Int16 */;
2129 int16_t var4 /* : Int16 */;
2130 val* var5 /* : Numeric */;
2131 { /* Inline fixed_ints#Int16#unary - (self) on <self:Numeric(Int16)> */
2132 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2133 var4 = -var3;
2134 var1 = var4;
2135 goto RET_LABEL2;
2136 RET_LABEL2:(void)0;
2137 }
2138 var5 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2139 var = var5;
2140 RET_LABEL:;
2141 return var;
2142 }
2143 /* method fixed_ints#Int16#- for (self: Int16, Int16): Int16 */
2144 int16_t core___core__Int16___core__kernel__Numeric___45d(int16_t self, int16_t p0) {
2145 int16_t var /* : Int16 */;
2146 short int var1 /* : Bool */;
2147 int cltype;
2148 int idtype;
2149 const char* var_class_name;
2150 int16_t var2 /* : Int16 */;
2151 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2152 /* <p0:Int16> isa OTHER */
2153 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2154 if (unlikely(!var1)) {
2155 var_class_name = type_core__Int16.name;
2156 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2157 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 273);
2158 fatal_exit(1);
2159 }
2160 var2 = self - p0;
2161 var = var2;
2162 goto RET_LABEL;
2163 RET_LABEL:;
2164 return var;
2165 }
2166 /* method fixed_ints#Int16#- for (self: Numeric, Numeric): Numeric */
2167 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___45d(val* self, val* p0) {
2168 val* var /* : Numeric */;
2169 int16_t var1 /* : Int16 */;
2170 short int var3 /* : Bool */;
2171 int cltype;
2172 int idtype;
2173 const struct type* type_struct;
2174 const char* var_class_name;
2175 int16_t var4 /* : Int16 */;
2176 int16_t var5 /* : Int16 */;
2177 int16_t var6 /* : Int16 */;
2178 val* var7 /* : Numeric */;
2179 { /* Inline fixed_ints#Int16#- (self,p0) on <self:Numeric(Int16)> */
2180 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2181 /* <p0:Numeric> isa OTHER */
2182 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2183 cltype = type_struct->color;
2184 idtype = type_struct->id;
2185 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2186 var3 = 0;
2187 } else {
2188 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2189 }
2190 if (unlikely(!var3)) {
2191 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2192 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2193 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 273);
2194 fatal_exit(1);
2195 }
2196 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2197 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2198 var6 = var4 - var5;
2199 var1 = var6;
2200 goto RET_LABEL2;
2201 RET_LABEL2:(void)0;
2202 }
2203 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2204 var = var7;
2205 RET_LABEL:;
2206 return var;
2207 }
2208 /* method fixed_ints#Int16#* for (self: Int16, Int16): Int16 */
2209 int16_t core___core__Int16___core__kernel__Numeric___42d(int16_t self, int16_t p0) {
2210 int16_t var /* : Int16 */;
2211 short int var1 /* : Bool */;
2212 int cltype;
2213 int idtype;
2214 const char* var_class_name;
2215 int16_t var2 /* : Int16 */;
2216 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2217 /* <p0:Int16> isa OTHER */
2218 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2219 if (unlikely(!var1)) {
2220 var_class_name = type_core__Int16.name;
2221 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2222 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 274);
2223 fatal_exit(1);
2224 }
2225 var2 = self * p0;
2226 var = var2;
2227 goto RET_LABEL;
2228 RET_LABEL:;
2229 return var;
2230 }
2231 /* method fixed_ints#Int16#* for (self: Numeric, Numeric): Numeric */
2232 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___42d(val* self, val* p0) {
2233 val* var /* : Numeric */;
2234 int16_t var1 /* : Int16 */;
2235 short int var3 /* : Bool */;
2236 int cltype;
2237 int idtype;
2238 const struct type* type_struct;
2239 const char* var_class_name;
2240 int16_t var4 /* : Int16 */;
2241 int16_t var5 /* : Int16 */;
2242 int16_t var6 /* : Int16 */;
2243 val* var7 /* : Numeric */;
2244 { /* Inline fixed_ints#Int16#* (self,p0) on <self:Numeric(Int16)> */
2245 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2246 /* <p0:Numeric> isa OTHER */
2247 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2248 cltype = type_struct->color;
2249 idtype = type_struct->id;
2250 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2251 var3 = 0;
2252 } else {
2253 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2254 }
2255 if (unlikely(!var3)) {
2256 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2258 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 274);
2259 fatal_exit(1);
2260 }
2261 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2262 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2263 var6 = var4 * var5;
2264 var1 = var6;
2265 goto RET_LABEL2;
2266 RET_LABEL2:(void)0;
2267 }
2268 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2269 var = var7;
2270 RET_LABEL:;
2271 return var;
2272 }
2273 /* method fixed_ints#Int16#/ for (self: Int16, Int16): Int16 */
2274 int16_t core___core__Int16___core__kernel__Numeric___47d(int16_t self, int16_t p0) {
2275 int16_t var /* : Int16 */;
2276 short int var1 /* : Bool */;
2277 int cltype;
2278 int idtype;
2279 const char* var_class_name;
2280 int16_t var2 /* : Int16 */;
2281 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2282 /* <p0:Int16> isa OTHER */
2283 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2284 if (unlikely(!var1)) {
2285 var_class_name = type_core__Int16.name;
2286 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2287 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 275);
2288 fatal_exit(1);
2289 }
2290 var2 = self / p0;
2291 var = var2;
2292 goto RET_LABEL;
2293 RET_LABEL:;
2294 return var;
2295 }
2296 /* method fixed_ints#Int16#/ for (self: Numeric, Numeric): Numeric */
2297 val* VIRTUAL_core___core__Int16___core__kernel__Numeric___47d(val* self, val* p0) {
2298 val* var /* : Numeric */;
2299 int16_t var1 /* : Int16 */;
2300 short int var3 /* : Bool */;
2301 int cltype;
2302 int idtype;
2303 const struct type* type_struct;
2304 const char* var_class_name;
2305 int16_t var4 /* : Int16 */;
2306 int16_t var5 /* : Int16 */;
2307 int16_t var6 /* : Int16 */;
2308 val* var7 /* : Numeric */;
2309 { /* Inline fixed_ints#Int16#/ (self,p0) on <self:Numeric(Int16)> */
2310 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2311 /* <p0:Numeric> isa OTHER */
2312 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
2313 cltype = type_struct->color;
2314 idtype = type_struct->id;
2315 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2316 var3 = 0;
2317 } else {
2318 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2319 }
2320 if (unlikely(!var3)) {
2321 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2322 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2323 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 275);
2324 fatal_exit(1);
2325 }
2326 var4 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2327 var5 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Numeric to Int16 */;
2328 var6 = var4 / var5;
2329 var1 = var6;
2330 goto RET_LABEL2;
2331 RET_LABEL2:(void)0;
2332 }
2333 var7 = BOX_core__Int16(var1); /* autobox from Int16 to Numeric */
2334 var = var7;
2335 RET_LABEL:;
2336 return var;
2337 }
2338 /* method fixed_ints#Int16#to_i for (self: Int16): Int */
2339 long core___core__Int16___core__kernel__Numeric__to_i(int16_t self) {
2340 long var /* : Int */;
2341 long var1 /* : Int */;
2342 var1 = (long)self;
2343 var = var1;
2344 goto RET_LABEL;
2345 RET_LABEL:;
2346 return var;
2347 }
2348 /* method fixed_ints#Int16#to_i for (self: Numeric): Int */
2349 long VIRTUAL_core___core__Int16___core__kernel__Numeric__to_i(val* self) {
2350 long var /* : Int */;
2351 long var1 /* : Int */;
2352 int16_t var3 /* : Int16 */;
2353 long var4 /* : Int */;
2354 { /* Inline fixed_ints#Int16#to_i (self) on <self:Numeric(Int16)> */
2355 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2356 var4 = (long)var3;
2357 var1 = var4;
2358 goto RET_LABEL2;
2359 RET_LABEL2:(void)0;
2360 }
2361 var = var1;
2362 RET_LABEL:;
2363 return var;
2364 }
2365 /* method fixed_ints#Int16#to_f for (self: Int16): Float */
2366 double core___core__Int16___core__kernel__Numeric__to_f(int16_t self) {
2367 double var /* : Float */;
2368 double var1 /* : Float */;
2369 var1 = (double)self;
2370 var = var1;
2371 goto RET_LABEL;
2372 RET_LABEL:;
2373 return var;
2374 }
2375 /* method fixed_ints#Int16#to_f for (self: Numeric): Float */
2376 double VIRTUAL_core___core__Int16___core__kernel__Numeric__to_f(val* self) {
2377 double var /* : Float */;
2378 double var1 /* : Float */;
2379 int16_t var3 /* : Int16 */;
2380 double var4 /* : Float */;
2381 { /* Inline fixed_ints#Int16#to_f (self) on <self:Numeric(Int16)> */
2382 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2383 var4 = (double)var3;
2384 var1 = var4;
2385 goto RET_LABEL2;
2386 RET_LABEL2:(void)0;
2387 }
2388 var = var1;
2389 RET_LABEL:;
2390 return var;
2391 }
2392 /* method fixed_ints#Int16#to_b for (self: Int16): Byte */
2393 unsigned char core___core__Int16___core__kernel__Numeric__to_b(int16_t self) {
2394 unsigned char var /* : Byte */;
2395 unsigned char var1 /* : Byte */;
2396 var1 = (unsigned char)self;
2397 var = var1;
2398 goto RET_LABEL;
2399 RET_LABEL:;
2400 return var;
2401 }
2402 /* method fixed_ints#Int16#to_b for (self: Numeric): Byte */
2403 unsigned char VIRTUAL_core___core__Int16___core__kernel__Numeric__to_b(val* self) {
2404 unsigned char var /* : Byte */;
2405 unsigned char var1 /* : Byte */;
2406 int16_t var3 /* : Int16 */;
2407 unsigned char var4 /* : Byte */;
2408 { /* Inline fixed_ints#Int16#to_b (self) on <self:Numeric(Int16)> */
2409 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2410 var4 = (unsigned char)var3;
2411 var1 = var4;
2412 goto RET_LABEL2;
2413 RET_LABEL2:(void)0;
2414 }
2415 var = var1;
2416 RET_LABEL:;
2417 return var;
2418 }
2419 /* method fixed_ints#Int16#to_i8 for (self: Int16): Int8 */
2420 int8_t core___core__Int16___Numeric__to_i8(int16_t self) {
2421 int8_t var /* : Int8 */;
2422 int8_t var1 /* : Int8 */;
2423 var1 = (int8_t)self;
2424 var = var1;
2425 goto RET_LABEL;
2426 RET_LABEL:;
2427 return var;
2428 }
2429 /* method fixed_ints#Int16#to_i8 for (self: Numeric): Int8 */
2430 int8_t VIRTUAL_core___core__Int16___Numeric__to_i8(val* self) {
2431 int8_t var /* : Int8 */;
2432 int8_t var1 /* : Int8 */;
2433 int16_t var3 /* : Int16 */;
2434 int8_t var4 /* : Int8 */;
2435 { /* Inline fixed_ints#Int16#to_i8 (self) on <self:Numeric(Int16)> */
2436 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2437 var4 = (int8_t)var3;
2438 var1 = var4;
2439 goto RET_LABEL2;
2440 RET_LABEL2:(void)0;
2441 }
2442 var = var1;
2443 RET_LABEL:;
2444 return var;
2445 }
2446 /* method fixed_ints#Int16#to_i16 for (self: Int16): Int16 */
2447 int16_t core___core__Int16___Numeric__to_i16(int16_t self) {
2448 int16_t var /* : Int16 */;
2449 var = self;
2450 goto RET_LABEL;
2451 RET_LABEL:;
2452 return var;
2453 }
2454 /* method fixed_ints#Int16#to_i16 for (self: Numeric): Int16 */
2455 int16_t VIRTUAL_core___core__Int16___Numeric__to_i16(val* self) {
2456 int16_t var /* : Int16 */;
2457 int16_t var1 /* : Int16 */;
2458 int16_t var2 /* : Int16 */;
2459 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2460 var1 = core___core__Int16___Numeric__to_i16(var2);
2461 var = var1;
2462 RET_LABEL:;
2463 return var;
2464 }
2465 /* method fixed_ints#Int16#to_u16 for (self: Int16): UInt16 */
2466 uint16_t core___core__Int16___Numeric__to_u16(int16_t self) {
2467 uint16_t var /* : UInt16 */;
2468 uint16_t var1 /* : UInt16 */;
2469 var1 = (uint16_t)self;
2470 var = var1;
2471 goto RET_LABEL;
2472 RET_LABEL:;
2473 return var;
2474 }
2475 /* method fixed_ints#Int16#to_u16 for (self: Numeric): UInt16 */
2476 uint16_t VIRTUAL_core___core__Int16___Numeric__to_u16(val* self) {
2477 uint16_t var /* : UInt16 */;
2478 uint16_t var1 /* : UInt16 */;
2479 int16_t var3 /* : Int16 */;
2480 uint16_t var4 /* : UInt16 */;
2481 { /* Inline fixed_ints#Int16#to_u16 (self) on <self:Numeric(Int16)> */
2482 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2483 var4 = (uint16_t)var3;
2484 var1 = var4;
2485 goto RET_LABEL2;
2486 RET_LABEL2:(void)0;
2487 }
2488 var = var1;
2489 RET_LABEL:;
2490 return var;
2491 }
2492 /* method fixed_ints#Int16#to_i32 for (self: Int16): Int32 */
2493 int32_t core___core__Int16___Numeric__to_i32(int16_t self) {
2494 int32_t var /* : Int32 */;
2495 int32_t var1 /* : Int32 */;
2496 var1 = (int32_t)self;
2497 var = var1;
2498 goto RET_LABEL;
2499 RET_LABEL:;
2500 return var;
2501 }
2502 /* method fixed_ints#Int16#to_i32 for (self: Numeric): Int32 */
2503 int32_t VIRTUAL_core___core__Int16___Numeric__to_i32(val* self) {
2504 int32_t var /* : Int32 */;
2505 int32_t var1 /* : Int32 */;
2506 int16_t var3 /* : Int16 */;
2507 int32_t var4 /* : Int32 */;
2508 { /* Inline fixed_ints#Int16#to_i32 (self) on <self:Numeric(Int16)> */
2509 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2510 var4 = (int32_t)var3;
2511 var1 = var4;
2512 goto RET_LABEL2;
2513 RET_LABEL2:(void)0;
2514 }
2515 var = var1;
2516 RET_LABEL:;
2517 return var;
2518 }
2519 /* method fixed_ints#Int16#to_u32 for (self: Int16): UInt32 */
2520 uint32_t core___core__Int16___Numeric__to_u32(int16_t self) {
2521 uint32_t var /* : UInt32 */;
2522 uint32_t var1 /* : UInt32 */;
2523 var1 = (uint32_t)self;
2524 var = var1;
2525 goto RET_LABEL;
2526 RET_LABEL:;
2527 return var;
2528 }
2529 /* method fixed_ints#Int16#to_u32 for (self: Numeric): UInt32 */
2530 uint32_t VIRTUAL_core___core__Int16___Numeric__to_u32(val* self) {
2531 uint32_t var /* : UInt32 */;
2532 uint32_t var1 /* : UInt32 */;
2533 int16_t var3 /* : Int16 */;
2534 uint32_t var4 /* : UInt32 */;
2535 { /* Inline fixed_ints#Int16#to_u32 (self) on <self:Numeric(Int16)> */
2536 var3 = ((struct instance_core__Int16*)self)->value; /* autounbox from Numeric to Int16 */;
2537 var4 = (uint32_t)var3;
2538 var1 = var4;
2539 goto RET_LABEL2;
2540 RET_LABEL2:(void)0;
2541 }
2542 var = var1;
2543 RET_LABEL:;
2544 return var;
2545 }
2546 /* method fixed_ints#Int16#distance for (self: Int16, Int16): Int */
2547 long core___core__Int16___core__kernel__Discrete__distance(int16_t self, int16_t p0) {
2548 long var /* : Int */;
2549 short int var1 /* : Bool */;
2550 int cltype;
2551 int idtype;
2552 const char* var_class_name;
2553 int16_t var_i /* var i: Int16 */;
2554 int16_t var2 /* : Int16 */;
2555 short int var4 /* : Bool */;
2556 int cltype5;
2557 int idtype6;
2558 const char* var_class_name7;
2559 int16_t var8 /* : Int16 */;
2560 long var9 /* : Int */;
2561 long var11 /* : Int */;
2562 /* Covariant cast for argument 0 (i) <p0:Int16> isa OTHER */
2563 /* <p0:Int16> isa OTHER */
2564 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2565 if (unlikely(!var1)) {
2566 var_class_name = type_core__Int16.name;
2567 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2568 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 310);
2569 fatal_exit(1);
2570 }
2571 var_i = p0;
2572 {
2573 { /* Inline fixed_ints#Int16#- (self,var_i) on <self:Int16> */
2574 /* Covariant cast for argument 0 (i) <var_i:Int16> isa OTHER */
2575 /* <var_i:Int16> isa OTHER */
2576 var4 = 1; /* easy <var_i:Int16> isa OTHER*/
2577 if (unlikely(!var4)) {
2578 var_class_name7 = type_core__Int16.name;
2579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2580 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 273);
2581 fatal_exit(1);
2582 }
2583 var8 = self - var_i;
2584 var2 = var8;
2585 goto RET_LABEL3;
2586 RET_LABEL3:(void)0;
2587 }
2588 }
2589 {
2590 { /* Inline fixed_ints#Int16#to_i (var2) on <var2:Int16> */
2591 var11 = (long)var2;
2592 var9 = var11;
2593 goto RET_LABEL10;
2594 RET_LABEL10:(void)0;
2595 }
2596 }
2597 var = var9;
2598 goto RET_LABEL;
2599 RET_LABEL:;
2600 return var;
2601 }
2602 /* method fixed_ints#Int16#distance for (self: Discrete, Discrete): Int */
2603 long VIRTUAL_core___core__Int16___core__kernel__Discrete__distance(val* self, val* p0) {
2604 long var /* : Int */;
2605 long var1 /* : Int */;
2606 int16_t var2 /* : Int16 */;
2607 int16_t var3 /* : Int16 */;
2608 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Discrete to Int16 */;
2609 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Discrete to Int16 */;
2610 var1 = core___core__Int16___core__kernel__Discrete__distance(var2, var3);
2611 var = var1;
2612 RET_LABEL:;
2613 return var;
2614 }
2615 /* method fixed_ints#Int16#<=> for (self: Int16, Int16): Int */
2616 long core___core__Int16___core__kernel__Comparable___60d_61d_62d(int16_t self, int16_t p0) {
2617 long var /* : Int */;
2618 short int var1 /* : Bool */;
2619 int cltype;
2620 int idtype;
2621 const char* var_class_name;
2622 int16_t var_other /* var other: Int16 */;
2623 short int var2 /* : Bool */;
2624 short int var4 /* : Bool */;
2625 int cltype5;
2626 int idtype6;
2627 const char* var_class_name7;
2628 short int var8 /* : Bool */;
2629 long var9 /* : Int */;
2630 long var11 /* : Int */;
2631 short int var12 /* : Bool */;
2632 short int var14 /* : Bool */;
2633 int cltype15;
2634 int idtype16;
2635 const char* var_class_name17;
2636 short int var18 /* : Bool */;
2637 /* Covariant cast for argument 0 (other) <p0:Int16> isa OTHER */
2638 /* <p0:Int16> isa OTHER */
2639 var1 = 1; /* easy <p0:Int16> isa OTHER*/
2640 if (unlikely(!var1)) {
2641 var_class_name = type_core__Int16.name;
2642 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2643 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 312);
2644 fatal_exit(1);
2645 }
2646 var_other = p0;
2647 {
2648 { /* Inline fixed_ints#Int16#< (self,var_other) on <self:Int16> */
2649 /* Covariant cast for argument 0 (i) <var_other:Int16> isa OTHER */
2650 /* <var_other:Int16> isa OTHER */
2651 var4 = 1; /* easy <var_other:Int16> isa OTHER*/
2652 if (unlikely(!var4)) {
2653 var_class_name7 = type_core__Int16.name;
2654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2655 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 265);
2656 fatal_exit(1);
2657 }
2658 var8 = self < var_other;
2659 var2 = var8;
2660 goto RET_LABEL3;
2661 RET_LABEL3:(void)0;
2662 }
2663 }
2664 if (var2){
2665 {
2666 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
2667 var11 = -1l;
2668 var9 = var11;
2669 goto RET_LABEL10;
2670 RET_LABEL10:(void)0;
2671 }
2672 }
2673 var = var9;
2674 goto RET_LABEL;
2675 } else {
2676 {
2677 { /* Inline fixed_ints#Int16#< (var_other,self) on <var_other:Int16> */
2678 /* Covariant cast for argument 0 (i) <self:Int16> isa OTHER */
2679 /* <self:Int16> isa OTHER */
2680 var14 = 1; /* easy <self:Int16> isa OTHER*/
2681 if (unlikely(!var14)) {
2682 var_class_name17 = type_core__Int16.name;
2683 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2684 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 265);
2685 fatal_exit(1);
2686 }
2687 var18 = var_other < self;
2688 var12 = var18;
2689 goto RET_LABEL13;
2690 RET_LABEL13:(void)0;
2691 }
2692 }
2693 if (var12){
2694 var = 1l;
2695 goto RET_LABEL;
2696 } else {
2697 var = 0l;
2698 goto RET_LABEL;
2699 }
2700 }
2701 RET_LABEL:;
2702 return var;
2703 }
2704 /* method fixed_ints#Int16#<=> for (self: Comparable, Comparable): Int */
2705 long VIRTUAL_core___core__Int16___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
2706 long var /* : Int */;
2707 long var1 /* : Int */;
2708 int16_t var2 /* : Int16 */;
2709 int16_t var3 /* : Int16 */;
2710 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Comparable to Int16 */;
2711 var3 = ((struct instance_core__Int16*)p0)->value; /* autounbox from Comparable to Int16 */;
2712 var1 = core___core__Int16___core__kernel__Comparable___60d_61d_62d(var2, var3);
2713 var = var1;
2714 RET_LABEL:;
2715 return var;
2716 }
2717 /* method fixed_ints#Int16#to_s_len for (self: Int16): Int */
2718 long core___core__Int16___to_s_len(int16_t self) {
2719 long var /* : Int */;
2720 long var1 /* : Int */;
2721 var1 = fixed_ints___Int16_to_s_len___impl(self);
2722 var = var1;
2723 goto RET_LABEL;
2724 RET_LABEL:;
2725 return var;
2726 }
2727 /* method fixed_ints#Int16#native_to_s for (self: Int16, NativeString, Int) */
2728 void core___core__Int16___native_to_s(int16_t self, char* p0, long p1) {
2729 fixed_ints___Int16_native_to_s___impl(self, p0, p1);
2730 RET_LABEL:;
2731 }
2732 /* method fixed_ints#Int16#to_s for (self: Int16): String */
2733 val* core___core__Int16___core__abstract_text__Object__to_s(int16_t self) {
2734 val* var /* : String */;
2735 long var1 /* : Int */;
2736 long var3 /* : Int */;
2737 long var_nslen /* var nslen: Int */;
2738 char* var4 /* : NativeString */;
2739 long var5 /* : Int */;
2740 short int var7 /* : Bool */;
2741 int cltype;
2742 int idtype;
2743 const char* var_class_name;
2744 long var8 /* : Int */;
2745 char* var9 /* : NativeString */;
2746 char* var11 /* : NativeString */;
2747 char* var_ns /* var ns: NativeString */;
2748 long var13 /* : Int */;
2749 short int var15 /* : Bool */;
2750 int cltype16;
2751 int idtype17;
2752 const char* var_class_name18;
2753 long var19 /* : Int */;
2754 val* var21 /* : FlatString */;
2755 {
2756 { /* Inline fixed_ints#Int16#to_s_len (self) on <self:Int16> */
2757 var3 = fixed_ints___Int16_to_s_len___impl(self);
2758 var1 = var3;
2759 goto RET_LABEL2;
2760 RET_LABEL2:(void)0;
2761 }
2762 }
2763 var_nslen = var1;
2764 var4 = NULL/*special!*/;
2765 {
2766 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
2767 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2768 /* <1l:Int> isa OTHER */
2769 var7 = 1; /* easy <1l:Int> isa OTHER*/
2770 if (unlikely(!var7)) {
2771 var_class_name = type_core__Int.name;
2772 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2773 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2774 fatal_exit(1);
2775 }
2776 var8 = var_nslen + 1l;
2777 var5 = var8;
2778 goto RET_LABEL6;
2779 RET_LABEL6:(void)0;
2780 }
2781 }
2782 {
2783 { /* Inline native#NativeString#new (var4,var5) on <var4:NativeString> */
2784 var11 = (char*)nit_alloc(var5);
2785 var9 = var11;
2786 goto RET_LABEL10;
2787 RET_LABEL10:(void)0;
2788 }
2789 }
2790 var_ns = var9;
2791 {
2792 { /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:NativeString> */
2793 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
2794 RET_LABEL12:(void)0;
2795 }
2796 }
2797 {
2798 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
2799 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2800 /* <1l:Int> isa OTHER */
2801 var15 = 1; /* easy <1l:Int> isa OTHER*/
2802 if (unlikely(!var15)) {
2803 var_class_name18 = type_core__Int.name;
2804 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
2805 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2806 fatal_exit(1);
2807 }
2808 var19 = var_nslen + 1l;
2809 var13 = var19;
2810 goto RET_LABEL14;
2811 RET_LABEL14:(void)0;
2812 }
2813 }
2814 {
2815 { /* Inline fixed_ints#Int16#native_to_s (self,var_ns,var13) on <self:Int16> */
2816 fixed_ints___Int16_native_to_s___impl(self, var_ns, var13);
2817 RET_LABEL20:(void)0;
2818 }
2819 }
2820 {
2821 var21 = core__flat___NativeString___to_s_with_length(var_ns, var_nslen);
2822 }
2823 var = var21;
2824 goto RET_LABEL;
2825 RET_LABEL:;
2826 return var;
2827 }
2828 /* method fixed_ints#Int16#to_s for (self: Object): String */
2829 val* VIRTUAL_core___core__Int16___core__abstract_text__Object__to_s(val* self) {
2830 val* var /* : String */;
2831 val* var1 /* : String */;
2832 int16_t var2 /* : Int16 */;
2833 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
2834 var1 = core___core__Int16___core__abstract_text__Object__to_s(var2);
2835 var = var1;
2836 RET_LABEL:;
2837 return var;
2838 }
2839 /* method fixed_ints#UInt16#successor for (self: UInt16, Int): UInt16 */
2840 uint16_t core___core__UInt16___core__kernel__Discrete__successor(uint16_t self, long p0) {
2841 uint16_t var /* : UInt16 */;
2842 long var_i /* var i: Int */;
2843 uint16_t var1 /* : UInt16 */;
2844 uint16_t var3 /* : UInt16 */;
2845 uint16_t var4 /* : UInt16 */;
2846 short int var6 /* : Bool */;
2847 int cltype;
2848 int idtype;
2849 const char* var_class_name;
2850 uint16_t var7 /* : UInt16 */;
2851 var_i = p0;
2852 {
2853 { /* Inline fixed_ints#Int#to_u16 (var_i) on <var_i:Int> */
2854 var3 = (uint16_t)var_i;
2855 var1 = var3;
2856 goto RET_LABEL2;
2857 RET_LABEL2:(void)0;
2858 }
2859 }
2860 {
2861 { /* Inline fixed_ints#UInt16#+ (self,var1) on <self:UInt16> */
2862 /* Covariant cast for argument 0 (i) <var1:UInt16> isa OTHER */
2863 /* <var1:UInt16> isa OTHER */
2864 var6 = 1; /* easy <var1:UInt16> isa OTHER*/
2865 if (unlikely(!var6)) {
2866 var_class_name = type_core__UInt16.name;
2867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2868 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 414);
2869 fatal_exit(1);
2870 }
2871 var7 = self + var1;
2872 var4 = var7;
2873 goto RET_LABEL5;
2874 RET_LABEL5:(void)0;
2875 }
2876 }
2877 var = var4;
2878 goto RET_LABEL;
2879 RET_LABEL:;
2880 return var;
2881 }
2882 /* method fixed_ints#UInt16#successor for (self: Discrete, Int): Discrete */
2883 val* VIRTUAL_core___core__UInt16___core__kernel__Discrete__successor(val* self, long p0) {
2884 val* var /* : Discrete */;
2885 uint16_t var1 /* : UInt16 */;
2886 uint16_t var2 /* : UInt16 */;
2887 val* var3 /* : Discrete */;
2888 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Discrete to UInt16 */;
2889 var1 = core___core__UInt16___core__kernel__Discrete__successor(var2, p0);
2890 var3 = BOX_core__UInt16(var1); /* autobox from UInt16 to Discrete */
2891 var = var3;
2892 RET_LABEL:;
2893 return var;
2894 }
2895 /* method fixed_ints#UInt16#object_id for (self: UInt16): Int */
2896 long core___core__UInt16___core__kernel__Object__object_id(uint16_t self) {
2897 long var /* : Int */;
2898 long var1 /* : Int */;
2899 var1 = (long)self;
2900 var = var1;
2901 goto RET_LABEL;
2902 RET_LABEL:;
2903 return var;
2904 }
2905 /* method fixed_ints#UInt16#object_id for (self: Object): Int */
2906 long VIRTUAL_core___core__UInt16___core__kernel__Object__object_id(val* self) {
2907 long var /* : Int */;
2908 long var1 /* : Int */;
2909 uint16_t var3 /* : UInt16 */;
2910 long var4 /* : Int */;
2911 { /* Inline fixed_ints#UInt16#object_id (self) on <self:Object(UInt16)> */
2912 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
2913 var4 = (long)var3;
2914 var1 = var4;
2915 goto RET_LABEL2;
2916 RET_LABEL2:(void)0;
2917 }
2918 var = var1;
2919 RET_LABEL:;
2920 return var;
2921 }
2922 /* method fixed_ints#UInt16#hash for (self: UInt16): Int */
2923 long core___core__UInt16___core__kernel__Object__hash(uint16_t self) {
2924 long var /* : Int */;
2925 long var1 /* : Int */;
2926 long var3 /* : Int */;
2927 {
2928 { /* Inline fixed_ints#UInt16#to_i (self) on <self:UInt16> */
2929 var3 = (long)self;
2930 var1 = var3;
2931 goto RET_LABEL2;
2932 RET_LABEL2:(void)0;
2933 }
2934 }
2935 var = var1;
2936 goto RET_LABEL;
2937 RET_LABEL:;
2938 return var;
2939 }
2940 /* method fixed_ints#UInt16#hash for (self: Object): Int */
2941 long VIRTUAL_core___core__UInt16___core__kernel__Object__hash(val* self) {
2942 long var /* : Int */;
2943 long var1 /* : Int */;
2944 uint16_t var2 /* : UInt16 */;
2945 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
2946 var1 = core___core__UInt16___core__kernel__Object__hash(var2);
2947 var = var1;
2948 RET_LABEL:;
2949 return var;
2950 }
2951 /* method fixed_ints#UInt16#== for (self: UInt16, nullable Object): Bool */
2952 short int core___core__UInt16___core__kernel__Object___61d_61d(uint16_t self, val* p0) {
2953 short int var /* : Bool */;
2954 short int var1 /* : Bool */;
2955 uint16_t var2 /* : UInt16 */;
2956 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt16)) {
2957 var2 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from nullable Object to UInt16 */;
2958 var1 = var2 == self;
2959 } else var1 = 0;
2960 var = var1;
2961 goto RET_LABEL;
2962 RET_LABEL:;
2963 return var;
2964 }
2965 /* method fixed_ints#UInt16#== for (self: Object, nullable Object): Bool */
2966 short int VIRTUAL_core___core__UInt16___core__kernel__Object___61d_61d(val* self, val* p0) {
2967 short int var /* : Bool */;
2968 short int var1 /* : Bool */;
2969 short int var3 /* : Bool */;
2970 { /* Inline fixed_ints#UInt16#== (self,p0) on <self:Object(UInt16)> */
2971 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)p0)->value);
2972 var1 = var3;
2973 goto RET_LABEL2;
2974 RET_LABEL2:(void)0;
2975 }
2976 var = var1;
2977 RET_LABEL:;
2978 return var;
2979 }
2980 /* method fixed_ints#UInt16#!= for (self: UInt16, nullable Object): Bool */
2981 short int core___core__UInt16___core__kernel__Object___33d_61d(uint16_t self, val* p0) {
2982 short int var /* : Bool */;
2983 short int var1 /* : Bool */;
2984 uint16_t var2 /* : UInt16 */;
2985 short int var3 /* : Bool */;
2986 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt16)) {
2987 var2 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from nullable Object to UInt16 */;
2988 var1 = var2 == self;
2989 } else var1 = 0;
2990 var3 = !var1;
2991 var = var3;
2992 goto RET_LABEL;
2993 RET_LABEL:;
2994 return var;
2995 }
2996 /* method fixed_ints#UInt16#!= for (self: Object, nullable Object): Bool */
2997 short int VIRTUAL_core___core__UInt16___core__kernel__Object___33d_61d(val* self, val* p0) {
2998 short int var /* : Bool */;
2999 short int var1 /* : Bool */;
3000 short int var3 /* : Bool */;
3001 short int var4 /* : Bool */;
3002 { /* Inline fixed_ints#UInt16#!= (self,p0) on <self:Object(UInt16)> */
3003 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)p0)->value);
3004 var4 = !var3;
3005 var1 = var4;
3006 goto RET_LABEL2;
3007 RET_LABEL2:(void)0;
3008 }
3009 var = var1;
3010 RET_LABEL:;
3011 return var;
3012 }
3013 /* method fixed_ints#UInt16#<= for (self: UInt16, UInt16): Bool */
3014 short int core___core__UInt16___core__kernel__Comparable___60d_61d(uint16_t self, uint16_t p0) {
3015 short int var /* : Bool */;
3016 short int var1 /* : Bool */;
3017 int cltype;
3018 int idtype;
3019 const char* var_class_name;
3020 short int var2 /* : Bool */;
3021 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3022 /* <p0:UInt16> isa OTHER */
3023 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3024 if (unlikely(!var1)) {
3025 var_class_name = type_core__UInt16.name;
3026 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3027 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 410);
3028 fatal_exit(1);
3029 }
3030 var2 = self <= p0;
3031 var = var2;
3032 goto RET_LABEL;
3033 RET_LABEL:;
3034 return var;
3035 }
3036 /* method fixed_ints#UInt16#<= for (self: Comparable, Comparable): Bool */
3037 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d_61d(val* self, val* p0) {
3038 short int var /* : Bool */;
3039 short int var1 /* : Bool */;
3040 short int var3 /* : Bool */;
3041 int cltype;
3042 int idtype;
3043 const struct type* type_struct;
3044 const char* var_class_name;
3045 uint16_t var4 /* : UInt16 */;
3046 uint16_t var5 /* : UInt16 */;
3047 short int var6 /* : Bool */;
3048 { /* Inline fixed_ints#UInt16#<= (self,p0) on <self:Comparable(UInt16)> */
3049 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3050 /* <p0:Comparable> isa OTHER */
3051 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3052 cltype = type_struct->color;
3053 idtype = type_struct->id;
3054 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3055 var3 = 0;
3056 } else {
3057 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3058 }
3059 if (unlikely(!var3)) {
3060 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3061 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3062 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 410);
3063 fatal_exit(1);
3064 }
3065 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3066 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3067 var6 = var4 <= var5;
3068 var1 = var6;
3069 goto RET_LABEL2;
3070 RET_LABEL2:(void)0;
3071 }
3072 var = var1;
3073 RET_LABEL:;
3074 return var;
3075 }
3076 /* method fixed_ints#UInt16#< for (self: UInt16, UInt16): Bool */
3077 short int core___core__UInt16___core__kernel__Comparable___60d(uint16_t self, uint16_t p0) {
3078 short int var /* : Bool */;
3079 short int var1 /* : Bool */;
3080 int cltype;
3081 int idtype;
3082 const char* var_class_name;
3083 short int var2 /* : Bool */;
3084 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3085 /* <p0:UInt16> isa OTHER */
3086 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3087 if (unlikely(!var1)) {
3088 var_class_name = type_core__UInt16.name;
3089 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3090 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 411);
3091 fatal_exit(1);
3092 }
3093 var2 = self < p0;
3094 var = var2;
3095 goto RET_LABEL;
3096 RET_LABEL:;
3097 return var;
3098 }
3099 /* method fixed_ints#UInt16#< for (self: Comparable, Comparable): Bool */
3100 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d(val* self, val* p0) {
3101 short int var /* : Bool */;
3102 short int var1 /* : Bool */;
3103 short int var3 /* : Bool */;
3104 int cltype;
3105 int idtype;
3106 const struct type* type_struct;
3107 const char* var_class_name;
3108 uint16_t var4 /* : UInt16 */;
3109 uint16_t var5 /* : UInt16 */;
3110 short int var6 /* : Bool */;
3111 { /* Inline fixed_ints#UInt16#< (self,p0) on <self:Comparable(UInt16)> */
3112 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3113 /* <p0:Comparable> isa OTHER */
3114 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3115 cltype = type_struct->color;
3116 idtype = type_struct->id;
3117 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3118 var3 = 0;
3119 } else {
3120 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3121 }
3122 if (unlikely(!var3)) {
3123 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3124 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3125 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 411);
3126 fatal_exit(1);
3127 }
3128 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3129 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3130 var6 = var4 < var5;
3131 var1 = var6;
3132 goto RET_LABEL2;
3133 RET_LABEL2:(void)0;
3134 }
3135 var = var1;
3136 RET_LABEL:;
3137 return var;
3138 }
3139 /* method fixed_ints#UInt16#>= for (self: UInt16, UInt16): Bool */
3140 short int core___core__UInt16___core__kernel__Comparable___62d_61d(uint16_t self, uint16_t p0) {
3141 short int var /* : Bool */;
3142 short int var1 /* : Bool */;
3143 int cltype;
3144 int idtype;
3145 const char* var_class_name;
3146 short int var2 /* : Bool */;
3147 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3148 /* <p0:UInt16> isa OTHER */
3149 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3150 if (unlikely(!var1)) {
3151 var_class_name = type_core__UInt16.name;
3152 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3153 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 412);
3154 fatal_exit(1);
3155 }
3156 var2 = self >= p0;
3157 var = var2;
3158 goto RET_LABEL;
3159 RET_LABEL:;
3160 return var;
3161 }
3162 /* method fixed_ints#UInt16#>= for (self: Comparable, Comparable): Bool */
3163 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___62d_61d(val* self, val* p0) {
3164 short int var /* : Bool */;
3165 short int var1 /* : Bool */;
3166 short int var3 /* : Bool */;
3167 int cltype;
3168 int idtype;
3169 const struct type* type_struct;
3170 const char* var_class_name;
3171 uint16_t var4 /* : UInt16 */;
3172 uint16_t var5 /* : UInt16 */;
3173 short int var6 /* : Bool */;
3174 { /* Inline fixed_ints#UInt16#>= (self,p0) on <self:Comparable(UInt16)> */
3175 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3176 /* <p0:Comparable> isa OTHER */
3177 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3178 cltype = type_struct->color;
3179 idtype = type_struct->id;
3180 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3181 var3 = 0;
3182 } else {
3183 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3184 }
3185 if (unlikely(!var3)) {
3186 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3187 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3188 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 412);
3189 fatal_exit(1);
3190 }
3191 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3192 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3193 var6 = var4 >= var5;
3194 var1 = var6;
3195 goto RET_LABEL2;
3196 RET_LABEL2:(void)0;
3197 }
3198 var = var1;
3199 RET_LABEL:;
3200 return var;
3201 }
3202 /* method fixed_ints#UInt16#> for (self: UInt16, UInt16): Bool */
3203 short int core___core__UInt16___core__kernel__Comparable___62d(uint16_t self, uint16_t p0) {
3204 short int var /* : Bool */;
3205 short int var1 /* : Bool */;
3206 int cltype;
3207 int idtype;
3208 const char* var_class_name;
3209 short int var2 /* : Bool */;
3210 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3211 /* <p0:UInt16> isa OTHER */
3212 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3213 if (unlikely(!var1)) {
3214 var_class_name = type_core__UInt16.name;
3215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3216 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 413);
3217 fatal_exit(1);
3218 }
3219 var2 = self > p0;
3220 var = var2;
3221 goto RET_LABEL;
3222 RET_LABEL:;
3223 return var;
3224 }
3225 /* method fixed_ints#UInt16#> for (self: Comparable, Comparable): Bool */
3226 short int VIRTUAL_core___core__UInt16___core__kernel__Comparable___62d(val* self, val* p0) {
3227 short int var /* : Bool */;
3228 short int var1 /* : Bool */;
3229 short int var3 /* : Bool */;
3230 int cltype;
3231 int idtype;
3232 const struct type* type_struct;
3233 const char* var_class_name;
3234 uint16_t var4 /* : UInt16 */;
3235 uint16_t var5 /* : UInt16 */;
3236 short int var6 /* : Bool */;
3237 { /* Inline fixed_ints#UInt16#> (self,p0) on <self:Comparable(UInt16)> */
3238 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3239 /* <p0:Comparable> isa OTHER */
3240 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3241 cltype = type_struct->color;
3242 idtype = type_struct->id;
3243 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3244 var3 = 0;
3245 } else {
3246 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3247 }
3248 if (unlikely(!var3)) {
3249 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3250 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3251 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 413);
3252 fatal_exit(1);
3253 }
3254 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3255 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3256 var6 = var4 > var5;
3257 var1 = var6;
3258 goto RET_LABEL2;
3259 RET_LABEL2:(void)0;
3260 }
3261 var = var1;
3262 RET_LABEL:;
3263 return var;
3264 }
3265 /* method fixed_ints#UInt16#+ for (self: UInt16, UInt16): UInt16 */
3266 uint16_t core___core__UInt16___core__kernel__Numeric___43d(uint16_t self, uint16_t p0) {
3267 uint16_t var /* : UInt16 */;
3268 short int var1 /* : Bool */;
3269 int cltype;
3270 int idtype;
3271 const char* var_class_name;
3272 uint16_t var2 /* : UInt16 */;
3273 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3274 /* <p0:UInt16> isa OTHER */
3275 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3276 if (unlikely(!var1)) {
3277 var_class_name = type_core__UInt16.name;
3278 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3279 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 414);
3280 fatal_exit(1);
3281 }
3282 var2 = self + p0;
3283 var = var2;
3284 goto RET_LABEL;
3285 RET_LABEL:;
3286 return var;
3287 }
3288 /* method fixed_ints#UInt16#+ for (self: Numeric, Numeric): Numeric */
3289 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___43d(val* self, val* p0) {
3290 val* var /* : Numeric */;
3291 uint16_t var1 /* : UInt16 */;
3292 short int var3 /* : Bool */;
3293 int cltype;
3294 int idtype;
3295 const struct type* type_struct;
3296 const char* var_class_name;
3297 uint16_t var4 /* : UInt16 */;
3298 uint16_t var5 /* : UInt16 */;
3299 uint16_t var6 /* : UInt16 */;
3300 val* var7 /* : Numeric */;
3301 { /* Inline fixed_ints#UInt16#+ (self,p0) on <self:Numeric(UInt16)> */
3302 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3303 /* <p0:Numeric> isa OTHER */
3304 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3305 cltype = type_struct->color;
3306 idtype = type_struct->id;
3307 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3308 var3 = 0;
3309 } else {
3310 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3311 }
3312 if (unlikely(!var3)) {
3313 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3315 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 414);
3316 fatal_exit(1);
3317 }
3318 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3319 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3320 var6 = var4 + var5;
3321 var1 = var6;
3322 goto RET_LABEL2;
3323 RET_LABEL2:(void)0;
3324 }
3325 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3326 var = var7;
3327 RET_LABEL:;
3328 return var;
3329 }
3330 /* method fixed_ints#UInt16#unary - for (self: UInt16): UInt16 */
3331 uint16_t core___core__UInt16___core__kernel__Numeric__unary_32d_45d(uint16_t self) {
3332 uint16_t var /* : UInt16 */;
3333 uint16_t var1 /* : UInt16 */;
3334 var1 = -self;
3335 var = var1;
3336 goto RET_LABEL;
3337 RET_LABEL:;
3338 return var;
3339 }
3340 /* method fixed_ints#UInt16#unary - for (self: Numeric): Numeric */
3341 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric__unary_32d_45d(val* self) {
3342 val* var /* : Numeric */;
3343 uint16_t var1 /* : UInt16 */;
3344 uint16_t var3 /* : UInt16 */;
3345 uint16_t var4 /* : UInt16 */;
3346 val* var5 /* : Numeric */;
3347 { /* Inline fixed_ints#UInt16#unary - (self) on <self:Numeric(UInt16)> */
3348 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3349 var4 = -var3;
3350 var1 = var4;
3351 goto RET_LABEL2;
3352 RET_LABEL2:(void)0;
3353 }
3354 var5 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3355 var = var5;
3356 RET_LABEL:;
3357 return var;
3358 }
3359 /* method fixed_ints#UInt16#- for (self: UInt16, UInt16): UInt16 */
3360 uint16_t core___core__UInt16___core__kernel__Numeric___45d(uint16_t self, uint16_t p0) {
3361 uint16_t var /* : UInt16 */;
3362 short int var1 /* : Bool */;
3363 int cltype;
3364 int idtype;
3365 const char* var_class_name;
3366 uint16_t var2 /* : UInt16 */;
3367 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3368 /* <p0:UInt16> isa OTHER */
3369 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3370 if (unlikely(!var1)) {
3371 var_class_name = type_core__UInt16.name;
3372 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3373 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 419);
3374 fatal_exit(1);
3375 }
3376 var2 = self - p0;
3377 var = var2;
3378 goto RET_LABEL;
3379 RET_LABEL:;
3380 return var;
3381 }
3382 /* method fixed_ints#UInt16#- for (self: Numeric, Numeric): Numeric */
3383 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___45d(val* self, val* p0) {
3384 val* var /* : Numeric */;
3385 uint16_t var1 /* : UInt16 */;
3386 short int var3 /* : Bool */;
3387 int cltype;
3388 int idtype;
3389 const struct type* type_struct;
3390 const char* var_class_name;
3391 uint16_t var4 /* : UInt16 */;
3392 uint16_t var5 /* : UInt16 */;
3393 uint16_t var6 /* : UInt16 */;
3394 val* var7 /* : Numeric */;
3395 { /* Inline fixed_ints#UInt16#- (self,p0) on <self:Numeric(UInt16)> */
3396 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3397 /* <p0:Numeric> isa OTHER */
3398 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3399 cltype = type_struct->color;
3400 idtype = type_struct->id;
3401 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3402 var3 = 0;
3403 } else {
3404 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3405 }
3406 if (unlikely(!var3)) {
3407 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3409 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 419);
3410 fatal_exit(1);
3411 }
3412 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3413 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3414 var6 = var4 - var5;
3415 var1 = var6;
3416 goto RET_LABEL2;
3417 RET_LABEL2:(void)0;
3418 }
3419 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3420 var = var7;
3421 RET_LABEL:;
3422 return var;
3423 }
3424 /* method fixed_ints#UInt16#* for (self: UInt16, UInt16): UInt16 */
3425 uint16_t core___core__UInt16___core__kernel__Numeric___42d(uint16_t self, uint16_t p0) {
3426 uint16_t var /* : UInt16 */;
3427 short int var1 /* : Bool */;
3428 int cltype;
3429 int idtype;
3430 const char* var_class_name;
3431 uint16_t var2 /* : UInt16 */;
3432 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3433 /* <p0:UInt16> isa OTHER */
3434 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3435 if (unlikely(!var1)) {
3436 var_class_name = type_core__UInt16.name;
3437 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3438 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 420);
3439 fatal_exit(1);
3440 }
3441 var2 = self * p0;
3442 var = var2;
3443 goto RET_LABEL;
3444 RET_LABEL:;
3445 return var;
3446 }
3447 /* method fixed_ints#UInt16#* for (self: Numeric, Numeric): Numeric */
3448 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___42d(val* self, val* p0) {
3449 val* var /* : Numeric */;
3450 uint16_t var1 /* : UInt16 */;
3451 short int var3 /* : Bool */;
3452 int cltype;
3453 int idtype;
3454 const struct type* type_struct;
3455 const char* var_class_name;
3456 uint16_t var4 /* : UInt16 */;
3457 uint16_t var5 /* : UInt16 */;
3458 uint16_t var6 /* : UInt16 */;
3459 val* var7 /* : Numeric */;
3460 { /* Inline fixed_ints#UInt16#* (self,p0) on <self:Numeric(UInt16)> */
3461 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3462 /* <p0:Numeric> isa OTHER */
3463 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3464 cltype = type_struct->color;
3465 idtype = type_struct->id;
3466 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3467 var3 = 0;
3468 } else {
3469 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3470 }
3471 if (unlikely(!var3)) {
3472 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3473 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3474 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 420);
3475 fatal_exit(1);
3476 }
3477 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3478 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3479 var6 = var4 * var5;
3480 var1 = var6;
3481 goto RET_LABEL2;
3482 RET_LABEL2:(void)0;
3483 }
3484 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3485 var = var7;
3486 RET_LABEL:;
3487 return var;
3488 }
3489 /* method fixed_ints#UInt16#/ for (self: UInt16, UInt16): UInt16 */
3490 uint16_t core___core__UInt16___core__kernel__Numeric___47d(uint16_t self, uint16_t p0) {
3491 uint16_t var /* : UInt16 */;
3492 short int var1 /* : Bool */;
3493 int cltype;
3494 int idtype;
3495 const char* var_class_name;
3496 uint16_t var2 /* : UInt16 */;
3497 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3498 /* <p0:UInt16> isa OTHER */
3499 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3500 if (unlikely(!var1)) {
3501 var_class_name = type_core__UInt16.name;
3502 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3503 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 421);
3504 fatal_exit(1);
3505 }
3506 var2 = self / p0;
3507 var = var2;
3508 goto RET_LABEL;
3509 RET_LABEL:;
3510 return var;
3511 }
3512 /* method fixed_ints#UInt16#/ for (self: Numeric, Numeric): Numeric */
3513 val* VIRTUAL_core___core__UInt16___core__kernel__Numeric___47d(val* self, val* p0) {
3514 val* var /* : Numeric */;
3515 uint16_t var1 /* : UInt16 */;
3516 short int var3 /* : Bool */;
3517 int cltype;
3518 int idtype;
3519 const struct type* type_struct;
3520 const char* var_class_name;
3521 uint16_t var4 /* : UInt16 */;
3522 uint16_t var5 /* : UInt16 */;
3523 uint16_t var6 /* : UInt16 */;
3524 val* var7 /* : Numeric */;
3525 { /* Inline fixed_ints#UInt16#/ (self,p0) on <self:Numeric(UInt16)> */
3526 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
3527 /* <p0:Numeric> isa OTHER */
3528 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
3529 cltype = type_struct->color;
3530 idtype = type_struct->id;
3531 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
3532 var3 = 0;
3533 } else {
3534 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
3535 }
3536 if (unlikely(!var3)) {
3537 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
3538 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3539 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 421);
3540 fatal_exit(1);
3541 }
3542 var4 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3543 var5 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Numeric to UInt16 */;
3544 var6 = var4 / var5;
3545 var1 = var6;
3546 goto RET_LABEL2;
3547 RET_LABEL2:(void)0;
3548 }
3549 var7 = BOX_core__UInt16(var1); /* autobox from UInt16 to Numeric */
3550 var = var7;
3551 RET_LABEL:;
3552 return var;
3553 }
3554 /* method fixed_ints#UInt16#to_i for (self: UInt16): Int */
3555 long core___core__UInt16___core__kernel__Numeric__to_i(uint16_t self) {
3556 long var /* : Int */;
3557 long var1 /* : Int */;
3558 var1 = (long)self;
3559 var = var1;
3560 goto RET_LABEL;
3561 RET_LABEL:;
3562 return var;
3563 }
3564 /* method fixed_ints#UInt16#to_i for (self: Numeric): Int */
3565 long VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_i(val* self) {
3566 long var /* : Int */;
3567 long var1 /* : Int */;
3568 uint16_t var3 /* : UInt16 */;
3569 long var4 /* : Int */;
3570 { /* Inline fixed_ints#UInt16#to_i (self) on <self:Numeric(UInt16)> */
3571 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3572 var4 = (long)var3;
3573 var1 = var4;
3574 goto RET_LABEL2;
3575 RET_LABEL2:(void)0;
3576 }
3577 var = var1;
3578 RET_LABEL:;
3579 return var;
3580 }
3581 /* method fixed_ints#UInt16#to_f for (self: UInt16): Float */
3582 double core___core__UInt16___core__kernel__Numeric__to_f(uint16_t self) {
3583 double var /* : Float */;
3584 double var1 /* : Float */;
3585 var1 = (double)self;
3586 var = var1;
3587 goto RET_LABEL;
3588 RET_LABEL:;
3589 return var;
3590 }
3591 /* method fixed_ints#UInt16#to_f for (self: Numeric): Float */
3592 double VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_f(val* self) {
3593 double var /* : Float */;
3594 double var1 /* : Float */;
3595 uint16_t var3 /* : UInt16 */;
3596 double var4 /* : Float */;
3597 { /* Inline fixed_ints#UInt16#to_f (self) on <self:Numeric(UInt16)> */
3598 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3599 var4 = (double)var3;
3600 var1 = var4;
3601 goto RET_LABEL2;
3602 RET_LABEL2:(void)0;
3603 }
3604 var = var1;
3605 RET_LABEL:;
3606 return var;
3607 }
3608 /* method fixed_ints#UInt16#to_b for (self: UInt16): Byte */
3609 unsigned char core___core__UInt16___core__kernel__Numeric__to_b(uint16_t self) {
3610 unsigned char var /* : Byte */;
3611 unsigned char var1 /* : Byte */;
3612 var1 = (unsigned char)self;
3613 var = var1;
3614 goto RET_LABEL;
3615 RET_LABEL:;
3616 return var;
3617 }
3618 /* method fixed_ints#UInt16#to_b for (self: Numeric): Byte */
3619 unsigned char VIRTUAL_core___core__UInt16___core__kernel__Numeric__to_b(val* self) {
3620 unsigned char var /* : Byte */;
3621 unsigned char var1 /* : Byte */;
3622 uint16_t var3 /* : UInt16 */;
3623 unsigned char var4 /* : Byte */;
3624 { /* Inline fixed_ints#UInt16#to_b (self) on <self:Numeric(UInt16)> */
3625 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3626 var4 = (unsigned char)var3;
3627 var1 = var4;
3628 goto RET_LABEL2;
3629 RET_LABEL2:(void)0;
3630 }
3631 var = var1;
3632 RET_LABEL:;
3633 return var;
3634 }
3635 /* method fixed_ints#UInt16#to_i8 for (self: UInt16): Int8 */
3636 int8_t core___core__UInt16___Numeric__to_i8(uint16_t self) {
3637 int8_t var /* : Int8 */;
3638 int8_t var1 /* : Int8 */;
3639 var1 = (int8_t)self;
3640 var = var1;
3641 goto RET_LABEL;
3642 RET_LABEL:;
3643 return var;
3644 }
3645 /* method fixed_ints#UInt16#to_i8 for (self: Numeric): Int8 */
3646 int8_t VIRTUAL_core___core__UInt16___Numeric__to_i8(val* self) {
3647 int8_t var /* : Int8 */;
3648 int8_t var1 /* : Int8 */;
3649 uint16_t var3 /* : UInt16 */;
3650 int8_t var4 /* : Int8 */;
3651 { /* Inline fixed_ints#UInt16#to_i8 (self) on <self:Numeric(UInt16)> */
3652 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3653 var4 = (int8_t)var3;
3654 var1 = var4;
3655 goto RET_LABEL2;
3656 RET_LABEL2:(void)0;
3657 }
3658 var = var1;
3659 RET_LABEL:;
3660 return var;
3661 }
3662 /* method fixed_ints#UInt16#to_i16 for (self: UInt16): Int16 */
3663 int16_t core___core__UInt16___Numeric__to_i16(uint16_t self) {
3664 int16_t var /* : Int16 */;
3665 int16_t var1 /* : Int16 */;
3666 var1 = (int16_t)self;
3667 var = var1;
3668 goto RET_LABEL;
3669 RET_LABEL:;
3670 return var;
3671 }
3672 /* method fixed_ints#UInt16#to_i16 for (self: Numeric): Int16 */
3673 int16_t VIRTUAL_core___core__UInt16___Numeric__to_i16(val* self) {
3674 int16_t var /* : Int16 */;
3675 int16_t var1 /* : Int16 */;
3676 uint16_t var3 /* : UInt16 */;
3677 int16_t var4 /* : Int16 */;
3678 { /* Inline fixed_ints#UInt16#to_i16 (self) on <self:Numeric(UInt16)> */
3679 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3680 var4 = (int16_t)var3;
3681 var1 = var4;
3682 goto RET_LABEL2;
3683 RET_LABEL2:(void)0;
3684 }
3685 var = var1;
3686 RET_LABEL:;
3687 return var;
3688 }
3689 /* method fixed_ints#UInt16#to_u16 for (self: UInt16): UInt16 */
3690 uint16_t core___core__UInt16___Numeric__to_u16(uint16_t self) {
3691 uint16_t var /* : UInt16 */;
3692 var = self;
3693 goto RET_LABEL;
3694 RET_LABEL:;
3695 return var;
3696 }
3697 /* method fixed_ints#UInt16#to_u16 for (self: Numeric): UInt16 */
3698 uint16_t VIRTUAL_core___core__UInt16___Numeric__to_u16(val* self) {
3699 uint16_t var /* : UInt16 */;
3700 uint16_t var1 /* : UInt16 */;
3701 uint16_t var2 /* : UInt16 */;
3702 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3703 var1 = core___core__UInt16___Numeric__to_u16(var2);
3704 var = var1;
3705 RET_LABEL:;
3706 return var;
3707 }
3708 /* method fixed_ints#UInt16#to_i32 for (self: UInt16): Int32 */
3709 int32_t core___core__UInt16___Numeric__to_i32(uint16_t self) {
3710 int32_t var /* : Int32 */;
3711 int32_t var1 /* : Int32 */;
3712 var1 = (int32_t)self;
3713 var = var1;
3714 goto RET_LABEL;
3715 RET_LABEL:;
3716 return var;
3717 }
3718 /* method fixed_ints#UInt16#to_i32 for (self: Numeric): Int32 */
3719 int32_t VIRTUAL_core___core__UInt16___Numeric__to_i32(val* self) {
3720 int32_t var /* : Int32 */;
3721 int32_t var1 /* : Int32 */;
3722 uint16_t var3 /* : UInt16 */;
3723 int32_t var4 /* : Int32 */;
3724 { /* Inline fixed_ints#UInt16#to_i32 (self) on <self:Numeric(UInt16)> */
3725 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3726 var4 = (int32_t)var3;
3727 var1 = var4;
3728 goto RET_LABEL2;
3729 RET_LABEL2:(void)0;
3730 }
3731 var = var1;
3732 RET_LABEL:;
3733 return var;
3734 }
3735 /* method fixed_ints#UInt16#to_u32 for (self: UInt16): UInt32 */
3736 uint32_t core___core__UInt16___Numeric__to_u32(uint16_t self) {
3737 uint32_t var /* : UInt32 */;
3738 uint32_t var1 /* : UInt32 */;
3739 var1 = (uint32_t)self;
3740 var = var1;
3741 goto RET_LABEL;
3742 RET_LABEL:;
3743 return var;
3744 }
3745 /* method fixed_ints#UInt16#to_u32 for (self: Numeric): UInt32 */
3746 uint32_t VIRTUAL_core___core__UInt16___Numeric__to_u32(val* self) {
3747 uint32_t var /* : UInt32 */;
3748 uint32_t var1 /* : UInt32 */;
3749 uint16_t var3 /* : UInt16 */;
3750 uint32_t var4 /* : UInt32 */;
3751 { /* Inline fixed_ints#UInt16#to_u32 (self) on <self:Numeric(UInt16)> */
3752 var3 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Numeric to UInt16 */;
3753 var4 = (uint32_t)var3;
3754 var1 = var4;
3755 goto RET_LABEL2;
3756 RET_LABEL2:(void)0;
3757 }
3758 var = var1;
3759 RET_LABEL:;
3760 return var;
3761 }
3762 /* method fixed_ints#UInt16#distance for (self: UInt16, UInt16): Int */
3763 long core___core__UInt16___core__kernel__Discrete__distance(uint16_t self, uint16_t p0) {
3764 long var /* : Int */;
3765 short int var1 /* : Bool */;
3766 int cltype;
3767 int idtype;
3768 const char* var_class_name;
3769 uint16_t var_i /* var i: UInt16 */;
3770 uint16_t var2 /* : UInt16 */;
3771 short int var4 /* : Bool */;
3772 int cltype5;
3773 int idtype6;
3774 const char* var_class_name7;
3775 uint16_t var8 /* : UInt16 */;
3776 long var9 /* : Int */;
3777 long var11 /* : Int */;
3778 /* Covariant cast for argument 0 (i) <p0:UInt16> isa OTHER */
3779 /* <p0:UInt16> isa OTHER */
3780 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3781 if (unlikely(!var1)) {
3782 var_class_name = type_core__UInt16.name;
3783 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3784 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 456);
3785 fatal_exit(1);
3786 }
3787 var_i = p0;
3788 {
3789 { /* Inline fixed_ints#UInt16#- (self,var_i) on <self:UInt16> */
3790 /* Covariant cast for argument 0 (i) <var_i:UInt16> isa OTHER */
3791 /* <var_i:UInt16> isa OTHER */
3792 var4 = 1; /* easy <var_i:UInt16> isa OTHER*/
3793 if (unlikely(!var4)) {
3794 var_class_name7 = type_core__UInt16.name;
3795 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3796 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 419);
3797 fatal_exit(1);
3798 }
3799 var8 = self - var_i;
3800 var2 = var8;
3801 goto RET_LABEL3;
3802 RET_LABEL3:(void)0;
3803 }
3804 }
3805 {
3806 { /* Inline fixed_ints#UInt16#to_i (var2) on <var2:UInt16> */
3807 var11 = (long)var2;
3808 var9 = var11;
3809 goto RET_LABEL10;
3810 RET_LABEL10:(void)0;
3811 }
3812 }
3813 var = var9;
3814 goto RET_LABEL;
3815 RET_LABEL:;
3816 return var;
3817 }
3818 /* method fixed_ints#UInt16#distance for (self: Discrete, Discrete): Int */
3819 long VIRTUAL_core___core__UInt16___core__kernel__Discrete__distance(val* self, val* p0) {
3820 long var /* : Int */;
3821 long var1 /* : Int */;
3822 uint16_t var2 /* : UInt16 */;
3823 uint16_t var3 /* : UInt16 */;
3824 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Discrete to UInt16 */;
3825 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Discrete to UInt16 */;
3826 var1 = core___core__UInt16___core__kernel__Discrete__distance(var2, var3);
3827 var = var1;
3828 RET_LABEL:;
3829 return var;
3830 }
3831 /* method fixed_ints#UInt16#<=> for (self: UInt16, UInt16): Int */
3832 long core___core__UInt16___core__kernel__Comparable___60d_61d_62d(uint16_t self, uint16_t p0) {
3833 long var /* : Int */;
3834 short int var1 /* : Bool */;
3835 int cltype;
3836 int idtype;
3837 const char* var_class_name;
3838 uint16_t var_other /* var other: UInt16 */;
3839 short int var2 /* : Bool */;
3840 short int var4 /* : Bool */;
3841 int cltype5;
3842 int idtype6;
3843 const char* var_class_name7;
3844 short int var8 /* : Bool */;
3845 long var9 /* : Int */;
3846 long var11 /* : Int */;
3847 short int var12 /* : Bool */;
3848 short int var14 /* : Bool */;
3849 int cltype15;
3850 int idtype16;
3851 const char* var_class_name17;
3852 short int var18 /* : Bool */;
3853 /* Covariant cast for argument 0 (other) <p0:UInt16> isa OTHER */
3854 /* <p0:UInt16> isa OTHER */
3855 var1 = 1; /* easy <p0:UInt16> isa OTHER*/
3856 if (unlikely(!var1)) {
3857 var_class_name = type_core__UInt16.name;
3858 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3859 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 458);
3860 fatal_exit(1);
3861 }
3862 var_other = p0;
3863 {
3864 { /* Inline fixed_ints#UInt16#< (self,var_other) on <self:UInt16> */
3865 /* Covariant cast for argument 0 (i) <var_other:UInt16> isa OTHER */
3866 /* <var_other:UInt16> isa OTHER */
3867 var4 = 1; /* easy <var_other:UInt16> isa OTHER*/
3868 if (unlikely(!var4)) {
3869 var_class_name7 = type_core__UInt16.name;
3870 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3871 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 411);
3872 fatal_exit(1);
3873 }
3874 var8 = self < var_other;
3875 var2 = var8;
3876 goto RET_LABEL3;
3877 RET_LABEL3:(void)0;
3878 }
3879 }
3880 if (var2){
3881 {
3882 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
3883 var11 = -1l;
3884 var9 = var11;
3885 goto RET_LABEL10;
3886 RET_LABEL10:(void)0;
3887 }
3888 }
3889 var = var9;
3890 goto RET_LABEL;
3891 } else {
3892 {
3893 { /* Inline fixed_ints#UInt16#< (var_other,self) on <var_other:UInt16> */
3894 /* Covariant cast for argument 0 (i) <self:UInt16> isa OTHER */
3895 /* <self:UInt16> isa OTHER */
3896 var14 = 1; /* easy <self:UInt16> isa OTHER*/
3897 if (unlikely(!var14)) {
3898 var_class_name17 = type_core__UInt16.name;
3899 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
3900 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 411);
3901 fatal_exit(1);
3902 }
3903 var18 = var_other < self;
3904 var12 = var18;
3905 goto RET_LABEL13;
3906 RET_LABEL13:(void)0;
3907 }
3908 }
3909 if (var12){
3910 var = 1l;
3911 goto RET_LABEL;
3912 } else {
3913 var = 0l;
3914 goto RET_LABEL;
3915 }
3916 }
3917 RET_LABEL:;
3918 return var;
3919 }
3920 /* method fixed_ints#UInt16#<=> for (self: Comparable, Comparable): Int */
3921 long VIRTUAL_core___core__UInt16___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
3922 long var /* : Int */;
3923 long var1 /* : Int */;
3924 uint16_t var2 /* : UInt16 */;
3925 uint16_t var3 /* : UInt16 */;
3926 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Comparable to UInt16 */;
3927 var3 = ((struct instance_core__UInt16*)p0)->value; /* autounbox from Comparable to UInt16 */;
3928 var1 = core___core__UInt16___core__kernel__Comparable___60d_61d_62d(var2, var3);
3929 var = var1;
3930 RET_LABEL:;
3931 return var;
3932 }
3933 /* method fixed_ints#UInt16#to_s_len for (self: UInt16): Int */
3934 long core___core__UInt16___to_s_len(uint16_t self) {
3935 long var /* : Int */;
3936 long var1 /* : Int */;
3937 var1 = fixed_ints___UInt16_to_s_len___impl(self);
3938 var = var1;
3939 goto RET_LABEL;
3940 RET_LABEL:;
3941 return var;
3942 }
3943 /* method fixed_ints#UInt16#native_to_s for (self: UInt16, NativeString, Int) */
3944 void core___core__UInt16___native_to_s(uint16_t self, char* p0, long p1) {
3945 fixed_ints___UInt16_native_to_s___impl(self, p0, p1);
3946 RET_LABEL:;
3947 }
3948 /* method fixed_ints#UInt16#to_s for (self: UInt16): String */
3949 val* core___core__UInt16___core__abstract_text__Object__to_s(uint16_t self) {
3950 val* var /* : String */;
3951 long var1 /* : Int */;
3952 long var3 /* : Int */;
3953 long var_nslen /* var nslen: Int */;
3954 char* var4 /* : NativeString */;
3955 long var5 /* : Int */;
3956 short int var7 /* : Bool */;
3957 int cltype;
3958 int idtype;
3959 const char* var_class_name;
3960 long var8 /* : Int */;
3961 char* var9 /* : NativeString */;
3962 char* var11 /* : NativeString */;
3963 char* var_ns /* var ns: NativeString */;
3964 long var13 /* : Int */;
3965 short int var15 /* : Bool */;
3966 int cltype16;
3967 int idtype17;
3968 const char* var_class_name18;
3969 long var19 /* : Int */;
3970 val* var21 /* : FlatString */;
3971 {
3972 { /* Inline fixed_ints#UInt16#to_s_len (self) on <self:UInt16> */
3973 var3 = fixed_ints___UInt16_to_s_len___impl(self);
3974 var1 = var3;
3975 goto RET_LABEL2;
3976 RET_LABEL2:(void)0;
3977 }
3978 }
3979 var_nslen = var1;
3980 var4 = NULL/*special!*/;
3981 {
3982 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
3983 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3984 /* <1l:Int> isa OTHER */
3985 var7 = 1; /* easy <1l:Int> isa OTHER*/
3986 if (unlikely(!var7)) {
3987 var_class_name = type_core__Int.name;
3988 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3989 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3990 fatal_exit(1);
3991 }
3992 var8 = var_nslen + 1l;
3993 var5 = var8;
3994 goto RET_LABEL6;
3995 RET_LABEL6:(void)0;
3996 }
3997 }
3998 {
3999 { /* Inline native#NativeString#new (var4,var5) on <var4:NativeString> */
4000 var11 = (char*)nit_alloc(var5);
4001 var9 = var11;
4002 goto RET_LABEL10;
4003 RET_LABEL10:(void)0;
4004 }
4005 }
4006 var_ns = var9;
4007 {
4008 { /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:NativeString> */
4009 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
4010 RET_LABEL12:(void)0;
4011 }
4012 }
4013 {
4014 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
4015 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4016 /* <1l:Int> isa OTHER */
4017 var15 = 1; /* easy <1l:Int> isa OTHER*/
4018 if (unlikely(!var15)) {
4019 var_class_name18 = type_core__Int.name;
4020 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
4021 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
4022 fatal_exit(1);
4023 }
4024 var19 = var_nslen + 1l;
4025 var13 = var19;
4026 goto RET_LABEL14;
4027 RET_LABEL14:(void)0;
4028 }
4029 }
4030 {
4031 { /* Inline fixed_ints#UInt16#native_to_s (self,var_ns,var13) on <self:UInt16> */
4032 fixed_ints___UInt16_native_to_s___impl(self, var_ns, var13);
4033 RET_LABEL20:(void)0;
4034 }
4035 }
4036 {
4037 var21 = core__flat___NativeString___to_s_with_length(var_ns, var_nslen);
4038 }
4039 var = var21;
4040 goto RET_LABEL;
4041 RET_LABEL:;
4042 return var;
4043 }
4044 /* method fixed_ints#UInt16#to_s for (self: Object): String */
4045 val* VIRTUAL_core___core__UInt16___core__abstract_text__Object__to_s(val* self) {
4046 val* var /* : String */;
4047 val* var1 /* : String */;
4048 uint16_t var2 /* : UInt16 */;
4049 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
4050 var1 = core___core__UInt16___core__abstract_text__Object__to_s(var2);
4051 var = var1;
4052 RET_LABEL:;
4053 return var;
4054 }
4055 /* method fixed_ints#Int32#successor for (self: Int32, Int): Int32 */
4056 int32_t core___core__Int32___core__kernel__Discrete__successor(int32_t self, long p0) {
4057 int32_t var /* : Int32 */;
4058 long var_i /* var i: Int */;
4059 int32_t var1 /* : Int32 */;
4060 int32_t var3 /* : Int32 */;
4061 int32_t var4 /* : Int32 */;
4062 short int var6 /* : Bool */;
4063 int cltype;
4064 int idtype;
4065 const char* var_class_name;
4066 int32_t var7 /* : Int32 */;
4067 var_i = p0;
4068 {
4069 { /* Inline fixed_ints#Int#to_i32 (var_i) on <var_i:Int> */
4070 var3 = (int32_t)var_i;
4071 var1 = var3;
4072 goto RET_LABEL2;
4073 RET_LABEL2:(void)0;
4074 }
4075 }
4076 {
4077 { /* Inline fixed_ints#Int32#+ (self,var1) on <self:Int32> */
4078 /* Covariant cast for argument 0 (i) <var1:Int32> isa OTHER */
4079 /* <var1:Int32> isa OTHER */
4080 var6 = 1; /* easy <var1:Int32> isa OTHER*/
4081 if (unlikely(!var6)) {
4082 var_class_name = type_core__Int32.name;
4083 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4084 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 561);
4085 fatal_exit(1);
4086 }
4087 var7 = self + var1;
4088 var4 = var7;
4089 goto RET_LABEL5;
4090 RET_LABEL5:(void)0;
4091 }
4092 }
4093 var = var4;
4094 goto RET_LABEL;
4095 RET_LABEL:;
4096 return var;
4097 }
4098 /* method fixed_ints#Int32#successor for (self: Discrete, Int): Discrete */
4099 val* VIRTUAL_core___core__Int32___core__kernel__Discrete__successor(val* self, long p0) {
4100 val* var /* : Discrete */;
4101 int32_t var1 /* : Int32 */;
4102 int32_t var2 /* : Int32 */;
4103 val* var3 /* : Discrete */;
4104 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Discrete to Int32 */;
4105 var1 = core___core__Int32___core__kernel__Discrete__successor(var2, p0);
4106 var3 = BOX_core__Int32(var1); /* autobox from Int32 to Discrete */
4107 var = var3;
4108 RET_LABEL:;
4109 return var;
4110 }
4111 /* method fixed_ints#Int32#object_id for (self: Int32): Int */
4112 long core___core__Int32___core__kernel__Object__object_id(int32_t self) {
4113 long var /* : Int */;
4114 long var1 /* : Int */;
4115 var1 = (long)self;
4116 var = var1;
4117 goto RET_LABEL;
4118 RET_LABEL:;
4119 return var;
4120 }
4121 /* method fixed_ints#Int32#object_id for (self: Object): Int */
4122 long VIRTUAL_core___core__Int32___core__kernel__Object__object_id(val* self) {
4123 long var /* : Int */;
4124 long var1 /* : Int */;
4125 int32_t var3 /* : Int32 */;
4126 long var4 /* : Int */;
4127 { /* Inline fixed_ints#Int32#object_id (self) on <self:Object(Int32)> */
4128 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
4129 var4 = (long)var3;
4130 var1 = var4;
4131 goto RET_LABEL2;
4132 RET_LABEL2:(void)0;
4133 }
4134 var = var1;
4135 RET_LABEL:;
4136 return var;
4137 }
4138 /* method fixed_ints#Int32#hash for (self: Int32): Int */
4139 long core___core__Int32___core__kernel__Object__hash(int32_t self) {
4140 long var /* : Int */;
4141 long var1 /* : Int */;
4142 long var3 /* : Int */;
4143 {
4144 { /* Inline fixed_ints#Int32#to_i (self) on <self:Int32> */
4145 var3 = (long)self;
4146 var1 = var3;
4147 goto RET_LABEL2;
4148 RET_LABEL2:(void)0;
4149 }
4150 }
4151 var = var1;
4152 goto RET_LABEL;
4153 RET_LABEL:;
4154 return var;
4155 }
4156 /* method fixed_ints#Int32#hash for (self: Object): Int */
4157 long VIRTUAL_core___core__Int32___core__kernel__Object__hash(val* self) {
4158 long var /* : Int */;
4159 long var1 /* : Int */;
4160 int32_t var2 /* : Int32 */;
4161 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
4162 var1 = core___core__Int32___core__kernel__Object__hash(var2);
4163 var = var1;
4164 RET_LABEL:;
4165 return var;
4166 }
4167 /* method fixed_ints#Int32#== for (self: Int32, nullable Object): Bool */
4168 short int core___core__Int32___core__kernel__Object___61d_61d(int32_t self, val* p0) {
4169 short int var /* : Bool */;
4170 short int var1 /* : Bool */;
4171 int32_t var2 /* : Int32 */;
4172 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Int32)) {
4173 var2 = ((struct instance_core__Int32*)p0)->value; /* autounbox from nullable Object to Int32 */;
4174 var1 = var2 == self;
4175 } else var1 = 0;
4176 var = var1;
4177 goto RET_LABEL;
4178 RET_LABEL:;
4179 return var;
4180 }
4181 /* method fixed_ints#Int32#== for (self: Object, nullable Object): Bool */
4182 short int VIRTUAL_core___core__Int32___core__kernel__Object___61d_61d(val* self, val* p0) {
4183 short int var /* : Bool */;
4184 short int var1 /* : Bool */;
4185 short int var3 /* : Bool */;
4186 { /* Inline fixed_ints#Int32#== (self,p0) on <self:Object(Int32)> */
4187 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)p0)->value);
4188 var1 = var3;
4189 goto RET_LABEL2;
4190 RET_LABEL2:(void)0;
4191 }
4192 var = var1;
4193 RET_LABEL:;
4194 return var;
4195 }
4196 /* method fixed_ints#Int32#!= for (self: Int32, nullable Object): Bool */
4197 short int core___core__Int32___core__kernel__Object___33d_61d(int32_t self, val* p0) {
4198 short int var /* : Bool */;
4199 short int var1 /* : Bool */;
4200 int32_t var2 /* : Int32 */;
4201 short int var3 /* : Bool */;
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 var3 = !var1;
4207 var = var3;
4208 goto RET_LABEL;
4209 RET_LABEL:;
4210 return var;
4211 }
4212 /* method fixed_ints#Int32#!= for (self: Object, nullable Object): Bool */
4213 short int VIRTUAL_core___core__Int32___core__kernel__Object___33d_61d(val* self, val* p0) {
4214 short int var /* : Bool */;
4215 short int var1 /* : Bool */;
4216 short int var3 /* : Bool */;
4217 short int var4 /* : Bool */;
4218 { /* Inline fixed_ints#Int32#!= (self,p0) on <self:Object(Int32)> */
4219 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)p0)->value);
4220 var4 = !var3;
4221 var1 = var4;
4222 goto RET_LABEL2;
4223 RET_LABEL2:(void)0;
4224 }
4225 var = var1;
4226 RET_LABEL:;
4227 return var;
4228 }
4229 /* method fixed_ints#Int32#<= for (self: Int32, Int32): Bool */
4230 short int core___core__Int32___core__kernel__Comparable___60d_61d(int32_t self, int32_t p0) {
4231 short int var /* : Bool */;
4232 short int var1 /* : Bool */;
4233 int cltype;
4234 int idtype;
4235 const char* var_class_name;
4236 short int var2 /* : Bool */;
4237 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4238 /* <p0:Int32> isa OTHER */
4239 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4240 if (unlikely(!var1)) {
4241 var_class_name = type_core__Int32.name;
4242 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4243 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 557);
4244 fatal_exit(1);
4245 }
4246 var2 = self <= p0;
4247 var = var2;
4248 goto RET_LABEL;
4249 RET_LABEL:;
4250 return var;
4251 }
4252 /* method fixed_ints#Int32#<= for (self: Comparable, Comparable): Bool */
4253 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___60d_61d(val* self, val* p0) {
4254 short int var /* : Bool */;
4255 short int var1 /* : Bool */;
4256 short int var3 /* : Bool */;
4257 int cltype;
4258 int idtype;
4259 const struct type* type_struct;
4260 const char* var_class_name;
4261 int32_t var4 /* : Int32 */;
4262 int32_t var5 /* : Int32 */;
4263 short int var6 /* : Bool */;
4264 { /* Inline fixed_ints#Int32#<= (self,p0) on <self:Comparable(Int32)> */
4265 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4266 /* <p0:Comparable> isa OTHER */
4267 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4268 cltype = type_struct->color;
4269 idtype = type_struct->id;
4270 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4271 var3 = 0;
4272 } else {
4273 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4274 }
4275 if (unlikely(!var3)) {
4276 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4277 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4278 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 557);
4279 fatal_exit(1);
4280 }
4281 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4282 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4283 var6 = var4 <= var5;
4284 var1 = var6;
4285 goto RET_LABEL2;
4286 RET_LABEL2:(void)0;
4287 }
4288 var = var1;
4289 RET_LABEL:;
4290 return var;
4291 }
4292 /* method fixed_ints#Int32#< for (self: Int32, Int32): Bool */
4293 short int core___core__Int32___core__kernel__Comparable___60d(int32_t self, int32_t p0) {
4294 short int var /* : Bool */;
4295 short int var1 /* : Bool */;
4296 int cltype;
4297 int idtype;
4298 const char* var_class_name;
4299 short int var2 /* : Bool */;
4300 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4301 /* <p0:Int32> isa OTHER */
4302 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4303 if (unlikely(!var1)) {
4304 var_class_name = type_core__Int32.name;
4305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4306 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 558);
4307 fatal_exit(1);
4308 }
4309 var2 = self < p0;
4310 var = var2;
4311 goto RET_LABEL;
4312 RET_LABEL:;
4313 return var;
4314 }
4315 /* method fixed_ints#Int32#< for (self: Comparable, Comparable): Bool */
4316 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___60d(val* self, val* p0) {
4317 short int var /* : Bool */;
4318 short int var1 /* : Bool */;
4319 short int var3 /* : Bool */;
4320 int cltype;
4321 int idtype;
4322 const struct type* type_struct;
4323 const char* var_class_name;
4324 int32_t var4 /* : Int32 */;
4325 int32_t var5 /* : Int32 */;
4326 short int var6 /* : Bool */;
4327 { /* Inline fixed_ints#Int32#< (self,p0) on <self:Comparable(Int32)> */
4328 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4329 /* <p0:Comparable> isa OTHER */
4330 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4331 cltype = type_struct->color;
4332 idtype = type_struct->id;
4333 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4334 var3 = 0;
4335 } else {
4336 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4337 }
4338 if (unlikely(!var3)) {
4339 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4341 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 558);
4342 fatal_exit(1);
4343 }
4344 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4345 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4346 var6 = var4 < var5;
4347 var1 = var6;
4348 goto RET_LABEL2;
4349 RET_LABEL2:(void)0;
4350 }
4351 var = var1;
4352 RET_LABEL:;
4353 return var;
4354 }
4355 /* method fixed_ints#Int32#>= for (self: Int32, Int32): Bool */
4356 short int core___core__Int32___core__kernel__Comparable___62d_61d(int32_t self, int32_t p0) {
4357 short int var /* : Bool */;
4358 short int var1 /* : Bool */;
4359 int cltype;
4360 int idtype;
4361 const char* var_class_name;
4362 short int var2 /* : Bool */;
4363 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4364 /* <p0:Int32> isa OTHER */
4365 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4366 if (unlikely(!var1)) {
4367 var_class_name = type_core__Int32.name;
4368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4369 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 559);
4370 fatal_exit(1);
4371 }
4372 var2 = self >= p0;
4373 var = var2;
4374 goto RET_LABEL;
4375 RET_LABEL:;
4376 return var;
4377 }
4378 /* method fixed_ints#Int32#>= for (self: Comparable, Comparable): Bool */
4379 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___62d_61d(val* self, val* p0) {
4380 short int var /* : Bool */;
4381 short int var1 /* : Bool */;
4382 short int var3 /* : Bool */;
4383 int cltype;
4384 int idtype;
4385 const struct type* type_struct;
4386 const char* var_class_name;
4387 int32_t var4 /* : Int32 */;
4388 int32_t var5 /* : Int32 */;
4389 short int var6 /* : Bool */;
4390 { /* Inline fixed_ints#Int32#>= (self,p0) on <self:Comparable(Int32)> */
4391 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4392 /* <p0:Comparable> isa OTHER */
4393 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4394 cltype = type_struct->color;
4395 idtype = type_struct->id;
4396 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4397 var3 = 0;
4398 } else {
4399 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4400 }
4401 if (unlikely(!var3)) {
4402 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4403 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4404 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 559);
4405 fatal_exit(1);
4406 }
4407 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4408 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4409 var6 = var4 >= var5;
4410 var1 = var6;
4411 goto RET_LABEL2;
4412 RET_LABEL2:(void)0;
4413 }
4414 var = var1;
4415 RET_LABEL:;
4416 return var;
4417 }
4418 /* method fixed_ints#Int32#> for (self: Int32, Int32): Bool */
4419 short int core___core__Int32___core__kernel__Comparable___62d(int32_t self, int32_t p0) {
4420 short int var /* : Bool */;
4421 short int var1 /* : Bool */;
4422 int cltype;
4423 int idtype;
4424 const char* var_class_name;
4425 short int var2 /* : Bool */;
4426 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4427 /* <p0:Int32> isa OTHER */
4428 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4429 if (unlikely(!var1)) {
4430 var_class_name = type_core__Int32.name;
4431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4432 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 560);
4433 fatal_exit(1);
4434 }
4435 var2 = self > p0;
4436 var = var2;
4437 goto RET_LABEL;
4438 RET_LABEL:;
4439 return var;
4440 }
4441 /* method fixed_ints#Int32#> for (self: Comparable, Comparable): Bool */
4442 short int VIRTUAL_core___core__Int32___core__kernel__Comparable___62d(val* self, val* p0) {
4443 short int var /* : Bool */;
4444 short int var1 /* : Bool */;
4445 short int var3 /* : Bool */;
4446 int cltype;
4447 int idtype;
4448 const struct type* type_struct;
4449 const char* var_class_name;
4450 int32_t var4 /* : Int32 */;
4451 int32_t var5 /* : Int32 */;
4452 short int var6 /* : Bool */;
4453 { /* Inline fixed_ints#Int32#> (self,p0) on <self:Comparable(Int32)> */
4454 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4455 /* <p0:Comparable> isa OTHER */
4456 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4457 cltype = type_struct->color;
4458 idtype = type_struct->id;
4459 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4460 var3 = 0;
4461 } else {
4462 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4463 }
4464 if (unlikely(!var3)) {
4465 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4467 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 560);
4468 fatal_exit(1);
4469 }
4470 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
4471 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
4472 var6 = var4 > var5;
4473 var1 = var6;
4474 goto RET_LABEL2;
4475 RET_LABEL2:(void)0;
4476 }
4477 var = var1;
4478 RET_LABEL:;
4479 return var;
4480 }
4481 /* method fixed_ints#Int32#+ for (self: Int32, Int32): Int32 */
4482 int32_t core___core__Int32___core__kernel__Numeric___43d(int32_t self, int32_t p0) {
4483 int32_t var /* : Int32 */;
4484 short int var1 /* : Bool */;
4485 int cltype;
4486 int idtype;
4487 const char* var_class_name;
4488 int32_t var2 /* : Int32 */;
4489 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4490 /* <p0:Int32> isa OTHER */
4491 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4492 if (unlikely(!var1)) {
4493 var_class_name = type_core__Int32.name;
4494 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4495 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 561);
4496 fatal_exit(1);
4497 }
4498 var2 = self + p0;
4499 var = var2;
4500 goto RET_LABEL;
4501 RET_LABEL:;
4502 return var;
4503 }
4504 /* method fixed_ints#Int32#+ for (self: Numeric, Numeric): Numeric */
4505 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___43d(val* self, val* p0) {
4506 val* var /* : Numeric */;
4507 int32_t var1 /* : Int32 */;
4508 short int var3 /* : Bool */;
4509 int cltype;
4510 int idtype;
4511 const struct type* type_struct;
4512 const char* var_class_name;
4513 int32_t var4 /* : Int32 */;
4514 int32_t var5 /* : Int32 */;
4515 int32_t var6 /* : Int32 */;
4516 val* var7 /* : Numeric */;
4517 { /* Inline fixed_ints#Int32#+ (self,p0) on <self:Numeric(Int32)> */
4518 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4519 /* <p0:Numeric> isa OTHER */
4520 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4521 cltype = type_struct->color;
4522 idtype = type_struct->id;
4523 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4524 var3 = 0;
4525 } else {
4526 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4527 }
4528 if (unlikely(!var3)) {
4529 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4530 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4531 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 561);
4532 fatal_exit(1);
4533 }
4534 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4535 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4536 var6 = var4 + var5;
4537 var1 = var6;
4538 goto RET_LABEL2;
4539 RET_LABEL2:(void)0;
4540 }
4541 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4542 var = var7;
4543 RET_LABEL:;
4544 return var;
4545 }
4546 /* method fixed_ints#Int32#unary - for (self: Int32): Int32 */
4547 int32_t core___core__Int32___core__kernel__Numeric__unary_32d_45d(int32_t self) {
4548 int32_t var /* : Int32 */;
4549 int32_t var1 /* : Int32 */;
4550 var1 = -self;
4551 var = var1;
4552 goto RET_LABEL;
4553 RET_LABEL:;
4554 return var;
4555 }
4556 /* method fixed_ints#Int32#unary - for (self: Numeric): Numeric */
4557 val* VIRTUAL_core___core__Int32___core__kernel__Numeric__unary_32d_45d(val* self) {
4558 val* var /* : Numeric */;
4559 int32_t var1 /* : Int32 */;
4560 int32_t var3 /* : Int32 */;
4561 int32_t var4 /* : Int32 */;
4562 val* var5 /* : Numeric */;
4563 { /* Inline fixed_ints#Int32#unary - (self) on <self:Numeric(Int32)> */
4564 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4565 var4 = -var3;
4566 var1 = var4;
4567 goto RET_LABEL2;
4568 RET_LABEL2:(void)0;
4569 }
4570 var5 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4571 var = var5;
4572 RET_LABEL:;
4573 return var;
4574 }
4575 /* method fixed_ints#Int32#- for (self: Int32, Int32): Int32 */
4576 int32_t core___core__Int32___core__kernel__Numeric___45d(int32_t self, int32_t p0) {
4577 int32_t var /* : Int32 */;
4578 short int var1 /* : Bool */;
4579 int cltype;
4580 int idtype;
4581 const char* var_class_name;
4582 int32_t var2 /* : Int32 */;
4583 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4584 /* <p0:Int32> isa OTHER */
4585 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4586 if (unlikely(!var1)) {
4587 var_class_name = type_core__Int32.name;
4588 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4589 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 566);
4590 fatal_exit(1);
4591 }
4592 var2 = self - p0;
4593 var = var2;
4594 goto RET_LABEL;
4595 RET_LABEL:;
4596 return var;
4597 }
4598 /* method fixed_ints#Int32#- for (self: Numeric, Numeric): Numeric */
4599 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___45d(val* self, val* p0) {
4600 val* var /* : Numeric */;
4601 int32_t var1 /* : Int32 */;
4602 short int var3 /* : Bool */;
4603 int cltype;
4604 int idtype;
4605 const struct type* type_struct;
4606 const char* var_class_name;
4607 int32_t var4 /* : Int32 */;
4608 int32_t var5 /* : Int32 */;
4609 int32_t var6 /* : Int32 */;
4610 val* var7 /* : Numeric */;
4611 { /* Inline fixed_ints#Int32#- (self,p0) on <self:Numeric(Int32)> */
4612 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4613 /* <p0:Numeric> isa OTHER */
4614 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4615 cltype = type_struct->color;
4616 idtype = type_struct->id;
4617 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4618 var3 = 0;
4619 } else {
4620 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4621 }
4622 if (unlikely(!var3)) {
4623 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4624 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4625 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 566);
4626 fatal_exit(1);
4627 }
4628 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4629 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4630 var6 = var4 - var5;
4631 var1 = var6;
4632 goto RET_LABEL2;
4633 RET_LABEL2:(void)0;
4634 }
4635 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4636 var = var7;
4637 RET_LABEL:;
4638 return var;
4639 }
4640 /* method fixed_ints#Int32#* for (self: Int32, Int32): Int32 */
4641 int32_t core___core__Int32___core__kernel__Numeric___42d(int32_t self, int32_t p0) {
4642 int32_t var /* : Int32 */;
4643 short int var1 /* : Bool */;
4644 int cltype;
4645 int idtype;
4646 const char* var_class_name;
4647 int32_t var2 /* : Int32 */;
4648 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4649 /* <p0:Int32> isa OTHER */
4650 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4651 if (unlikely(!var1)) {
4652 var_class_name = type_core__Int32.name;
4653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4654 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 567);
4655 fatal_exit(1);
4656 }
4657 var2 = self * p0;
4658 var = var2;
4659 goto RET_LABEL;
4660 RET_LABEL:;
4661 return var;
4662 }
4663 /* method fixed_ints#Int32#* for (self: Numeric, Numeric): Numeric */
4664 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___42d(val* self, val* p0) {
4665 val* var /* : Numeric */;
4666 int32_t var1 /* : Int32 */;
4667 short int var3 /* : Bool */;
4668 int cltype;
4669 int idtype;
4670 const struct type* type_struct;
4671 const char* var_class_name;
4672 int32_t var4 /* : Int32 */;
4673 int32_t var5 /* : Int32 */;
4674 int32_t var6 /* : Int32 */;
4675 val* var7 /* : Numeric */;
4676 { /* Inline fixed_ints#Int32#* (self,p0) on <self:Numeric(Int32)> */
4677 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4678 /* <p0:Numeric> isa OTHER */
4679 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4680 cltype = type_struct->color;
4681 idtype = type_struct->id;
4682 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4683 var3 = 0;
4684 } else {
4685 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4686 }
4687 if (unlikely(!var3)) {
4688 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4689 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4690 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 567);
4691 fatal_exit(1);
4692 }
4693 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4694 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4695 var6 = var4 * var5;
4696 var1 = var6;
4697 goto RET_LABEL2;
4698 RET_LABEL2:(void)0;
4699 }
4700 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4701 var = var7;
4702 RET_LABEL:;
4703 return var;
4704 }
4705 /* method fixed_ints#Int32#/ for (self: Int32, Int32): Int32 */
4706 int32_t core___core__Int32___core__kernel__Numeric___47d(int32_t self, int32_t p0) {
4707 int32_t var /* : Int32 */;
4708 short int var1 /* : Bool */;
4709 int cltype;
4710 int idtype;
4711 const char* var_class_name;
4712 int32_t var2 /* : Int32 */;
4713 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4714 /* <p0:Int32> isa OTHER */
4715 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4716 if (unlikely(!var1)) {
4717 var_class_name = type_core__Int32.name;
4718 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4719 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 568);
4720 fatal_exit(1);
4721 }
4722 var2 = self / p0;
4723 var = var2;
4724 goto RET_LABEL;
4725 RET_LABEL:;
4726 return var;
4727 }
4728 /* method fixed_ints#Int32#/ for (self: Numeric, Numeric): Numeric */
4729 val* VIRTUAL_core___core__Int32___core__kernel__Numeric___47d(val* self, val* p0) {
4730 val* var /* : Numeric */;
4731 int32_t var1 /* : Int32 */;
4732 short int var3 /* : Bool */;
4733 int cltype;
4734 int idtype;
4735 const struct type* type_struct;
4736 const char* var_class_name;
4737 int32_t var4 /* : Int32 */;
4738 int32_t var5 /* : Int32 */;
4739 int32_t var6 /* : Int32 */;
4740 val* var7 /* : Numeric */;
4741 { /* Inline fixed_ints#Int32#/ (self,p0) on <self:Numeric(Int32)> */
4742 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
4743 /* <p0:Numeric> isa OTHER */
4744 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4745 cltype = type_struct->color;
4746 idtype = type_struct->id;
4747 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4748 var3 = 0;
4749 } else {
4750 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4751 }
4752 if (unlikely(!var3)) {
4753 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4754 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4755 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 568);
4756 fatal_exit(1);
4757 }
4758 var4 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4759 var5 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Numeric to Int32 */;
4760 var6 = var4 / var5;
4761 var1 = var6;
4762 goto RET_LABEL2;
4763 RET_LABEL2:(void)0;
4764 }
4765 var7 = BOX_core__Int32(var1); /* autobox from Int32 to Numeric */
4766 var = var7;
4767 RET_LABEL:;
4768 return var;
4769 }
4770 /* method fixed_ints#Int32#to_i for (self: Int32): Int */
4771 long core___core__Int32___core__kernel__Numeric__to_i(int32_t self) {
4772 long var /* : Int */;
4773 long var1 /* : Int */;
4774 var1 = (long)self;
4775 var = var1;
4776 goto RET_LABEL;
4777 RET_LABEL:;
4778 return var;
4779 }
4780 /* method fixed_ints#Int32#to_i for (self: Numeric): Int */
4781 long VIRTUAL_core___core__Int32___core__kernel__Numeric__to_i(val* self) {
4782 long var /* : Int */;
4783 long var1 /* : Int */;
4784 int32_t var3 /* : Int32 */;
4785 long var4 /* : Int */;
4786 { /* Inline fixed_ints#Int32#to_i (self) on <self:Numeric(Int32)> */
4787 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4788 var4 = (long)var3;
4789 var1 = var4;
4790 goto RET_LABEL2;
4791 RET_LABEL2:(void)0;
4792 }
4793 var = var1;
4794 RET_LABEL:;
4795 return var;
4796 }
4797 /* method fixed_ints#Int32#to_f for (self: Int32): Float */
4798 double core___core__Int32___core__kernel__Numeric__to_f(int32_t self) {
4799 double var /* : Float */;
4800 double var1 /* : Float */;
4801 var1 = (double)self;
4802 var = var1;
4803 goto RET_LABEL;
4804 RET_LABEL:;
4805 return var;
4806 }
4807 /* method fixed_ints#Int32#to_f for (self: Numeric): Float */
4808 double VIRTUAL_core___core__Int32___core__kernel__Numeric__to_f(val* self) {
4809 double var /* : Float */;
4810 double var1 /* : Float */;
4811 int32_t var3 /* : Int32 */;
4812 double var4 /* : Float */;
4813 { /* Inline fixed_ints#Int32#to_f (self) on <self:Numeric(Int32)> */
4814 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4815 var4 = (double)var3;
4816 var1 = var4;
4817 goto RET_LABEL2;
4818 RET_LABEL2:(void)0;
4819 }
4820 var = var1;
4821 RET_LABEL:;
4822 return var;
4823 }
4824 /* method fixed_ints#Int32#to_b for (self: Int32): Byte */
4825 unsigned char core___core__Int32___core__kernel__Numeric__to_b(int32_t self) {
4826 unsigned char var /* : Byte */;
4827 unsigned char var1 /* : Byte */;
4828 var1 = (unsigned char)self;
4829 var = var1;
4830 goto RET_LABEL;
4831 RET_LABEL:;
4832 return var;
4833 }
4834 /* method fixed_ints#Int32#to_b for (self: Numeric): Byte */
4835 unsigned char VIRTUAL_core___core__Int32___core__kernel__Numeric__to_b(val* self) {
4836 unsigned char var /* : Byte */;
4837 unsigned char var1 /* : Byte */;
4838 int32_t var3 /* : Int32 */;
4839 unsigned char var4 /* : Byte */;
4840 { /* Inline fixed_ints#Int32#to_b (self) on <self:Numeric(Int32)> */
4841 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4842 var4 = (unsigned char)var3;
4843 var1 = var4;
4844 goto RET_LABEL2;
4845 RET_LABEL2:(void)0;
4846 }
4847 var = var1;
4848 RET_LABEL:;
4849 return var;
4850 }
4851 /* method fixed_ints#Int32#to_i8 for (self: Int32): Int8 */
4852 int8_t core___core__Int32___Numeric__to_i8(int32_t self) {
4853 int8_t var /* : Int8 */;
4854 int8_t var1 /* : Int8 */;
4855 var1 = (int8_t)self;
4856 var = var1;
4857 goto RET_LABEL;
4858 RET_LABEL:;
4859 return var;
4860 }
4861 /* method fixed_ints#Int32#to_i8 for (self: Numeric): Int8 */
4862 int8_t VIRTUAL_core___core__Int32___Numeric__to_i8(val* self) {
4863 int8_t var /* : Int8 */;
4864 int8_t var1 /* : Int8 */;
4865 int32_t var3 /* : Int32 */;
4866 int8_t var4 /* : Int8 */;
4867 { /* Inline fixed_ints#Int32#to_i8 (self) on <self:Numeric(Int32)> */
4868 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4869 var4 = (int8_t)var3;
4870 var1 = var4;
4871 goto RET_LABEL2;
4872 RET_LABEL2:(void)0;
4873 }
4874 var = var1;
4875 RET_LABEL:;
4876 return var;
4877 }
4878 /* method fixed_ints#Int32#to_i16 for (self: Int32): Int16 */
4879 int16_t core___core__Int32___Numeric__to_i16(int32_t self) {
4880 int16_t var /* : Int16 */;
4881 int16_t var1 /* : Int16 */;
4882 var1 = (int16_t)self;
4883 var = var1;
4884 goto RET_LABEL;
4885 RET_LABEL:;
4886 return var;
4887 }
4888 /* method fixed_ints#Int32#to_i16 for (self: Numeric): Int16 */
4889 int16_t VIRTUAL_core___core__Int32___Numeric__to_i16(val* self) {
4890 int16_t var /* : Int16 */;
4891 int16_t var1 /* : Int16 */;
4892 int32_t var3 /* : Int32 */;
4893 int16_t var4 /* : Int16 */;
4894 { /* Inline fixed_ints#Int32#to_i16 (self) on <self:Numeric(Int32)> */
4895 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4896 var4 = (int16_t)var3;
4897 var1 = var4;
4898 goto RET_LABEL2;
4899 RET_LABEL2:(void)0;
4900 }
4901 var = var1;
4902 RET_LABEL:;
4903 return var;
4904 }
4905 /* method fixed_ints#Int32#to_u16 for (self: Int32): UInt16 */
4906 uint16_t core___core__Int32___Numeric__to_u16(int32_t self) {
4907 uint16_t var /* : UInt16 */;
4908 uint16_t var1 /* : UInt16 */;
4909 var1 = (uint16_t)self;
4910 var = var1;
4911 goto RET_LABEL;
4912 RET_LABEL:;
4913 return var;
4914 }
4915 /* method fixed_ints#Int32#to_u16 for (self: Numeric): UInt16 */
4916 uint16_t VIRTUAL_core___core__Int32___Numeric__to_u16(val* self) {
4917 uint16_t var /* : UInt16 */;
4918 uint16_t var1 /* : UInt16 */;
4919 int32_t var3 /* : Int32 */;
4920 uint16_t var4 /* : UInt16 */;
4921 { /* Inline fixed_ints#Int32#to_u16 (self) on <self:Numeric(Int32)> */
4922 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4923 var4 = (uint16_t)var3;
4924 var1 = var4;
4925 goto RET_LABEL2;
4926 RET_LABEL2:(void)0;
4927 }
4928 var = var1;
4929 RET_LABEL:;
4930 return var;
4931 }
4932 /* method fixed_ints#Int32#to_i32 for (self: Int32): Int32 */
4933 int32_t core___core__Int32___Numeric__to_i32(int32_t self) {
4934 int32_t var /* : Int32 */;
4935 var = self;
4936 goto RET_LABEL;
4937 RET_LABEL:;
4938 return var;
4939 }
4940 /* method fixed_ints#Int32#to_i32 for (self: Numeric): Int32 */
4941 int32_t VIRTUAL_core___core__Int32___Numeric__to_i32(val* self) {
4942 int32_t var /* : Int32 */;
4943 int32_t var1 /* : Int32 */;
4944 int32_t var2 /* : Int32 */;
4945 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4946 var1 = core___core__Int32___Numeric__to_i32(var2);
4947 var = var1;
4948 RET_LABEL:;
4949 return var;
4950 }
4951 /* method fixed_ints#Int32#to_u32 for (self: Int32): UInt32 */
4952 uint32_t core___core__Int32___Numeric__to_u32(int32_t self) {
4953 uint32_t var /* : UInt32 */;
4954 uint32_t var1 /* : UInt32 */;
4955 var1 = (uint32_t)self;
4956 var = var1;
4957 goto RET_LABEL;
4958 RET_LABEL:;
4959 return var;
4960 }
4961 /* method fixed_ints#Int32#to_u32 for (self: Numeric): UInt32 */
4962 uint32_t VIRTUAL_core___core__Int32___Numeric__to_u32(val* self) {
4963 uint32_t var /* : UInt32 */;
4964 uint32_t var1 /* : UInt32 */;
4965 int32_t var3 /* : Int32 */;
4966 uint32_t var4 /* : UInt32 */;
4967 { /* Inline fixed_ints#Int32#to_u32 (self) on <self:Numeric(Int32)> */
4968 var3 = ((struct instance_core__Int32*)self)->value; /* autounbox from Numeric to Int32 */;
4969 var4 = (uint32_t)var3;
4970 var1 = var4;
4971 goto RET_LABEL2;
4972 RET_LABEL2:(void)0;
4973 }
4974 var = var1;
4975 RET_LABEL:;
4976 return var;
4977 }
4978 /* method fixed_ints#Int32#distance for (self: Int32, Int32): Int */
4979 long core___core__Int32___core__kernel__Discrete__distance(int32_t self, int32_t p0) {
4980 long var /* : Int */;
4981 short int var1 /* : Bool */;
4982 int cltype;
4983 int idtype;
4984 const char* var_class_name;
4985 int32_t var_i /* var i: Int32 */;
4986 int32_t var2 /* : Int32 */;
4987 short int var4 /* : Bool */;
4988 int cltype5;
4989 int idtype6;
4990 const char* var_class_name7;
4991 int32_t var8 /* : Int32 */;
4992 long var9 /* : Int */;
4993 long var11 /* : Int */;
4994 /* Covariant cast for argument 0 (i) <p0:Int32> isa OTHER */
4995 /* <p0:Int32> isa OTHER */
4996 var1 = 1; /* easy <p0:Int32> isa OTHER*/
4997 if (unlikely(!var1)) {
4998 var_class_name = type_core__Int32.name;
4999 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5000 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 603);
5001 fatal_exit(1);
5002 }
5003 var_i = p0;
5004 {
5005 { /* Inline fixed_ints#Int32#- (self,var_i) on <self:Int32> */
5006 /* Covariant cast for argument 0 (i) <var_i:Int32> isa OTHER */
5007 /* <var_i:Int32> isa OTHER */
5008 var4 = 1; /* easy <var_i:Int32> isa OTHER*/
5009 if (unlikely(!var4)) {
5010 var_class_name7 = type_core__Int32.name;
5011 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5012 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 566);
5013 fatal_exit(1);
5014 }
5015 var8 = self - var_i;
5016 var2 = var8;
5017 goto RET_LABEL3;
5018 RET_LABEL3:(void)0;
5019 }
5020 }
5021 {
5022 { /* Inline fixed_ints#Int32#to_i (var2) on <var2:Int32> */
5023 var11 = (long)var2;
5024 var9 = var11;
5025 goto RET_LABEL10;
5026 RET_LABEL10:(void)0;
5027 }
5028 }
5029 var = var9;
5030 goto RET_LABEL;
5031 RET_LABEL:;
5032 return var;
5033 }
5034 /* method fixed_ints#Int32#distance for (self: Discrete, Discrete): Int */
5035 long VIRTUAL_core___core__Int32___core__kernel__Discrete__distance(val* self, val* p0) {
5036 long var /* : Int */;
5037 long var1 /* : Int */;
5038 int32_t var2 /* : Int32 */;
5039 int32_t var3 /* : Int32 */;
5040 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Discrete to Int32 */;
5041 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Discrete to Int32 */;
5042 var1 = core___core__Int32___core__kernel__Discrete__distance(var2, var3);
5043 var = var1;
5044 RET_LABEL:;
5045 return var;
5046 }
5047 /* method fixed_ints#Int32#<=> for (self: Int32, Int32): Int */
5048 long core___core__Int32___core__kernel__Comparable___60d_61d_62d(int32_t self, int32_t p0) {
5049 long var /* : Int */;
5050 short int var1 /* : Bool */;
5051 int cltype;
5052 int idtype;
5053 const char* var_class_name;
5054 int32_t var_other /* var other: Int32 */;
5055 short int var2 /* : Bool */;
5056 short int var4 /* : Bool */;
5057 int cltype5;
5058 int idtype6;
5059 const char* var_class_name7;
5060 short int var8 /* : Bool */;
5061 long var9 /* : Int */;
5062 long var11 /* : Int */;
5063 short int var12 /* : Bool */;
5064 short int var14 /* : Bool */;
5065 int cltype15;
5066 int idtype16;
5067 const char* var_class_name17;
5068 short int var18 /* : Bool */;
5069 /* Covariant cast for argument 0 (other) <p0:Int32> isa OTHER */
5070 /* <p0:Int32> isa OTHER */
5071 var1 = 1; /* easy <p0:Int32> isa OTHER*/
5072 if (unlikely(!var1)) {
5073 var_class_name = type_core__Int32.name;
5074 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5075 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 605);
5076 fatal_exit(1);
5077 }
5078 var_other = p0;
5079 {
5080 { /* Inline fixed_ints#Int32#< (self,var_other) on <self:Int32> */
5081 /* Covariant cast for argument 0 (i) <var_other:Int32> isa OTHER */
5082 /* <var_other:Int32> isa OTHER */
5083 var4 = 1; /* easy <var_other:Int32> isa OTHER*/
5084 if (unlikely(!var4)) {
5085 var_class_name7 = type_core__Int32.name;
5086 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
5087 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 558);
5088 fatal_exit(1);
5089 }
5090 var8 = self < var_other;
5091 var2 = var8;
5092 goto RET_LABEL3;
5093 RET_LABEL3:(void)0;
5094 }
5095 }
5096 if (var2){
5097 {
5098 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
5099 var11 = -1l;
5100 var9 = var11;
5101 goto RET_LABEL10;
5102 RET_LABEL10:(void)0;
5103 }
5104 }
5105 var = var9;
5106 goto RET_LABEL;
5107 } else {
5108 {
5109 { /* Inline fixed_ints#Int32#< (var_other,self) on <var_other:Int32> */
5110 /* Covariant cast for argument 0 (i) <self:Int32> isa OTHER */
5111 /* <self:Int32> isa OTHER */
5112 var14 = 1; /* easy <self:Int32> isa OTHER*/
5113 if (unlikely(!var14)) {
5114 var_class_name17 = type_core__Int32.name;
5115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
5116 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 558);
5117 fatal_exit(1);
5118 }
5119 var18 = var_other < self;
5120 var12 = var18;
5121 goto RET_LABEL13;
5122 RET_LABEL13:(void)0;
5123 }
5124 }
5125 if (var12){
5126 var = 1l;
5127 goto RET_LABEL;
5128 } else {
5129 var = 0l;
5130 goto RET_LABEL;
5131 }
5132 }
5133 RET_LABEL:;
5134 return var;
5135 }
5136 /* method fixed_ints#Int32#<=> for (self: Comparable, Comparable): Int */
5137 long VIRTUAL_core___core__Int32___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
5138 long var /* : Int */;
5139 long var1 /* : Int */;
5140 int32_t var2 /* : Int32 */;
5141 int32_t var3 /* : Int32 */;
5142 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Comparable to Int32 */;
5143 var3 = ((struct instance_core__Int32*)p0)->value; /* autounbox from Comparable to Int32 */;
5144 var1 = core___core__Int32___core__kernel__Comparable___60d_61d_62d(var2, var3);
5145 var = var1;
5146 RET_LABEL:;
5147 return var;
5148 }
5149 /* method fixed_ints#Int32#to_s_len for (self: Int32): Int */
5150 long core___core__Int32___to_s_len(int32_t self) {
5151 long var /* : Int */;
5152 long var1 /* : Int */;
5153 var1 = fixed_ints___Int32_to_s_len___impl(self);
5154 var = var1;
5155 goto RET_LABEL;
5156 RET_LABEL:;
5157 return var;
5158 }
5159 /* method fixed_ints#Int32#native_to_s for (self: Int32, NativeString, Int) */
5160 void core___core__Int32___native_to_s(int32_t self, char* p0, long p1) {
5161 fixed_ints___Int32_native_to_s___impl(self, p0, p1);
5162 RET_LABEL:;
5163 }
5164 /* method fixed_ints#Int32#to_s for (self: Int32): String */
5165 val* core___core__Int32___core__abstract_text__Object__to_s(int32_t self) {
5166 val* var /* : String */;
5167 long var1 /* : Int */;
5168 long var3 /* : Int */;
5169 long var_nslen /* var nslen: Int */;
5170 char* var4 /* : NativeString */;
5171 long var5 /* : Int */;
5172 short int var7 /* : Bool */;
5173 int cltype;
5174 int idtype;
5175 const char* var_class_name;
5176 long var8 /* : Int */;
5177 char* var9 /* : NativeString */;
5178 char* var11 /* : NativeString */;
5179 char* var_ns /* var ns: NativeString */;
5180 long var13 /* : Int */;
5181 short int var15 /* : Bool */;
5182 int cltype16;
5183 int idtype17;
5184 const char* var_class_name18;
5185 long var19 /* : Int */;
5186 val* var21 /* : FlatString */;
5187 {
5188 { /* Inline fixed_ints#Int32#to_s_len (self) on <self:Int32> */
5189 var3 = fixed_ints___Int32_to_s_len___impl(self);
5190 var1 = var3;
5191 goto RET_LABEL2;
5192 RET_LABEL2:(void)0;
5193 }
5194 }
5195 var_nslen = var1;
5196 var4 = NULL/*special!*/;
5197 {
5198 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
5199 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5200 /* <1l:Int> isa OTHER */
5201 var7 = 1; /* easy <1l:Int> isa OTHER*/
5202 if (unlikely(!var7)) {
5203 var_class_name = type_core__Int.name;
5204 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5205 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5206 fatal_exit(1);
5207 }
5208 var8 = var_nslen + 1l;
5209 var5 = var8;
5210 goto RET_LABEL6;
5211 RET_LABEL6:(void)0;
5212 }
5213 }
5214 {
5215 { /* Inline native#NativeString#new (var4,var5) on <var4:NativeString> */
5216 var11 = (char*)nit_alloc(var5);
5217 var9 = var11;
5218 goto RET_LABEL10;
5219 RET_LABEL10:(void)0;
5220 }
5221 }
5222 var_ns = var9;
5223 {
5224 { /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:NativeString> */
5225 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
5226 RET_LABEL12:(void)0;
5227 }
5228 }
5229 {
5230 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
5231 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5232 /* <1l:Int> isa OTHER */
5233 var15 = 1; /* easy <1l:Int> isa OTHER*/
5234 if (unlikely(!var15)) {
5235 var_class_name18 = type_core__Int.name;
5236 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
5237 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5238 fatal_exit(1);
5239 }
5240 var19 = var_nslen + 1l;
5241 var13 = var19;
5242 goto RET_LABEL14;
5243 RET_LABEL14:(void)0;
5244 }
5245 }
5246 {
5247 { /* Inline fixed_ints#Int32#native_to_s (self,var_ns,var13) on <self:Int32> */
5248 fixed_ints___Int32_native_to_s___impl(self, var_ns, var13);
5249 RET_LABEL20:(void)0;
5250 }
5251 }
5252 {
5253 var21 = core__flat___NativeString___to_s_with_length(var_ns, var_nslen);
5254 }
5255 var = var21;
5256 goto RET_LABEL;
5257 RET_LABEL:;
5258 return var;
5259 }
5260 /* method fixed_ints#Int32#to_s for (self: Object): String */
5261 val* VIRTUAL_core___core__Int32___core__abstract_text__Object__to_s(val* self) {
5262 val* var /* : String */;
5263 val* var1 /* : String */;
5264 int32_t var2 /* : Int32 */;
5265 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
5266 var1 = core___core__Int32___core__abstract_text__Object__to_s(var2);
5267 var = var1;
5268 RET_LABEL:;
5269 return var;
5270 }
5271 /* method fixed_ints#UInt32#successor for (self: UInt32, Int): UInt32 */
5272 uint32_t core___core__UInt32___core__kernel__Discrete__successor(uint32_t self, long p0) {
5273 uint32_t var /* : UInt32 */;
5274 long var_i /* var i: Int */;
5275 uint32_t var1 /* : UInt32 */;
5276 uint32_t var3 /* : UInt32 */;
5277 uint32_t var4 /* : UInt32 */;
5278 short int var6 /* : Bool */;
5279 int cltype;
5280 int idtype;
5281 const char* var_class_name;
5282 uint32_t var7 /* : UInt32 */;
5283 var_i = p0;
5284 {
5285 { /* Inline fixed_ints#Int#to_u32 (var_i) on <var_i:Int> */
5286 var3 = (uint32_t)var_i;
5287 var1 = var3;
5288 goto RET_LABEL2;
5289 RET_LABEL2:(void)0;
5290 }
5291 }
5292 {
5293 { /* Inline fixed_ints#UInt32#+ (self,var1) on <self:UInt32> */
5294 /* Covariant cast for argument 0 (i) <var1:UInt32> isa OTHER */
5295 /* <var1:UInt32> isa OTHER */
5296 var6 = 1; /* easy <var1:UInt32> isa OTHER*/
5297 if (unlikely(!var6)) {
5298 var_class_name = type_core__UInt32.name;
5299 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5300 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 707);
5301 fatal_exit(1);
5302 }
5303 var7 = self + var1;
5304 var4 = var7;
5305 goto RET_LABEL5;
5306 RET_LABEL5:(void)0;
5307 }
5308 }
5309 var = var4;
5310 goto RET_LABEL;
5311 RET_LABEL:;
5312 return var;
5313 }
5314 /* method fixed_ints#UInt32#successor for (self: Discrete, Int): Discrete */
5315 val* VIRTUAL_core___core__UInt32___core__kernel__Discrete__successor(val* self, long p0) {
5316 val* var /* : Discrete */;
5317 uint32_t var1 /* : UInt32 */;
5318 uint32_t var2 /* : UInt32 */;
5319 val* var3 /* : Discrete */;
5320 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Discrete to UInt32 */;
5321 var1 = core___core__UInt32___core__kernel__Discrete__successor(var2, p0);
5322 var3 = BOX_core__UInt32(var1); /* autobox from UInt32 to Discrete */
5323 var = var3;
5324 RET_LABEL:;
5325 return var;
5326 }
5327 /* method fixed_ints#UInt32#object_id for (self: UInt32): Int */
5328 long core___core__UInt32___core__kernel__Object__object_id(uint32_t self) {
5329 long var /* : Int */;
5330 long var1 /* : Int */;
5331 var1 = (long)self;
5332 var = var1;
5333 goto RET_LABEL;
5334 RET_LABEL:;
5335 return var;
5336 }
5337 /* method fixed_ints#UInt32#object_id for (self: Object): Int */
5338 long VIRTUAL_core___core__UInt32___core__kernel__Object__object_id(val* self) {
5339 long var /* : Int */;
5340 long var1 /* : Int */;
5341 uint32_t var3 /* : UInt32 */;
5342 long var4 /* : Int */;
5343 { /* Inline fixed_ints#UInt32#object_id (self) on <self:Object(UInt32)> */
5344 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
5345 var4 = (long)var3;
5346 var1 = var4;
5347 goto RET_LABEL2;
5348 RET_LABEL2:(void)0;
5349 }
5350 var = var1;
5351 RET_LABEL:;
5352 return var;
5353 }
5354 /* method fixed_ints#UInt32#hash for (self: UInt32): Int */
5355 long core___core__UInt32___core__kernel__Object__hash(uint32_t self) {
5356 long var /* : Int */;
5357 long var1 /* : Int */;
5358 long var3 /* : Int */;
5359 {
5360 { /* Inline fixed_ints#UInt32#to_i (self) on <self:UInt32> */
5361 var3 = (long)self;
5362 var1 = var3;
5363 goto RET_LABEL2;
5364 RET_LABEL2:(void)0;
5365 }
5366 }
5367 var = var1;
5368 goto RET_LABEL;
5369 RET_LABEL:;
5370 return var;
5371 }
5372 /* method fixed_ints#UInt32#hash for (self: Object): Int */
5373 long VIRTUAL_core___core__UInt32___core__kernel__Object__hash(val* self) {
5374 long var /* : Int */;
5375 long var1 /* : Int */;
5376 uint32_t var2 /* : UInt32 */;
5377 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
5378 var1 = core___core__UInt32___core__kernel__Object__hash(var2);
5379 var = var1;
5380 RET_LABEL:;
5381 return var;
5382 }
5383 /* method fixed_ints#UInt32#== for (self: UInt32, nullable Object): Bool */
5384 short int core___core__UInt32___core__kernel__Object___61d_61d(uint32_t self, val* p0) {
5385 short int var /* : Bool */;
5386 short int var1 /* : Bool */;
5387 uint32_t var2 /* : UInt32 */;
5388 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt32)) {
5389 var2 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from nullable Object to UInt32 */;
5390 var1 = var2 == self;
5391 } else var1 = 0;
5392 var = var1;
5393 goto RET_LABEL;
5394 RET_LABEL:;
5395 return var;
5396 }
5397 /* method fixed_ints#UInt32#== for (self: Object, nullable Object): Bool */
5398 short int VIRTUAL_core___core__UInt32___core__kernel__Object___61d_61d(val* self, val* p0) {
5399 short int var /* : Bool */;
5400 short int var1 /* : Bool */;
5401 short int var3 /* : Bool */;
5402 { /* Inline fixed_ints#UInt32#== (self,p0) on <self:Object(UInt32)> */
5403 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)p0)->value);
5404 var1 = var3;
5405 goto RET_LABEL2;
5406 RET_LABEL2:(void)0;
5407 }
5408 var = var1;
5409 RET_LABEL:;
5410 return var;
5411 }
5412 /* method fixed_ints#UInt32#!= for (self: UInt32, nullable Object): Bool */
5413 short int core___core__UInt32___core__kernel__Object___33d_61d(uint32_t self, val* p0) {
5414 short int var /* : Bool */;
5415 short int var1 /* : Bool */;
5416 uint32_t var2 /* : UInt32 */;
5417 short int var3 /* : Bool */;
5418 if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__UInt32)) {
5419 var2 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from nullable Object to UInt32 */;
5420 var1 = var2 == self;
5421 } else var1 = 0;
5422 var3 = !var1;
5423 var = var3;
5424 goto RET_LABEL;
5425 RET_LABEL:;
5426 return var;
5427 }
5428 /* method fixed_ints#UInt32#!= for (self: Object, nullable Object): Bool */
5429 short int VIRTUAL_core___core__UInt32___core__kernel__Object___33d_61d(val* self, val* p0) {
5430 short int var /* : Bool */;
5431 short int var1 /* : Bool */;
5432 short int var3 /* : Bool */;
5433 short int var4 /* : Bool */;
5434 { /* Inline fixed_ints#UInt32#!= (self,p0) on <self:Object(UInt32)> */
5435 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)p0)->value);
5436 var4 = !var3;
5437 var1 = var4;
5438 goto RET_LABEL2;
5439 RET_LABEL2:(void)0;
5440 }
5441 var = var1;
5442 RET_LABEL:;
5443 return var;
5444 }
5445 /* method fixed_ints#UInt32#<= for (self: UInt32, UInt32): Bool */
5446 short int core___core__UInt32___core__kernel__Comparable___60d_61d(uint32_t self, uint32_t p0) {
5447 short int var /* : Bool */;
5448 short int var1 /* : Bool */;
5449 int cltype;
5450 int idtype;
5451 const char* var_class_name;
5452 short int var2 /* : Bool */;
5453 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5454 /* <p0:UInt32> isa OTHER */
5455 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5456 if (unlikely(!var1)) {
5457 var_class_name = type_core__UInt32.name;
5458 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5459 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 703);
5460 fatal_exit(1);
5461 }
5462 var2 = self <= p0;
5463 var = var2;
5464 goto RET_LABEL;
5465 RET_LABEL:;
5466 return var;
5467 }
5468 /* method fixed_ints#UInt32#<= for (self: Comparable, Comparable): Bool */
5469 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d_61d(val* self, val* p0) {
5470 short int var /* : Bool */;
5471 short int var1 /* : Bool */;
5472 short int var3 /* : Bool */;
5473 int cltype;
5474 int idtype;
5475 const struct type* type_struct;
5476 const char* var_class_name;
5477 uint32_t var4 /* : UInt32 */;
5478 uint32_t var5 /* : UInt32 */;
5479 short int var6 /* : Bool */;
5480 { /* Inline fixed_ints#UInt32#<= (self,p0) on <self:Comparable(UInt32)> */
5481 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5482 /* <p0:Comparable> isa OTHER */
5483 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5484 cltype = type_struct->color;
5485 idtype = type_struct->id;
5486 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5487 var3 = 0;
5488 } else {
5489 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5490 }
5491 if (unlikely(!var3)) {
5492 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5494 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 703);
5495 fatal_exit(1);
5496 }
5497 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5498 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5499 var6 = var4 <= var5;
5500 var1 = var6;
5501 goto RET_LABEL2;
5502 RET_LABEL2:(void)0;
5503 }
5504 var = var1;
5505 RET_LABEL:;
5506 return var;
5507 }
5508 /* method fixed_ints#UInt32#< for (self: UInt32, UInt32): Bool */
5509 short int core___core__UInt32___core__kernel__Comparable___60d(uint32_t self, uint32_t p0) {
5510 short int var /* : Bool */;
5511 short int var1 /* : Bool */;
5512 int cltype;
5513 int idtype;
5514 const char* var_class_name;
5515 short int var2 /* : Bool */;
5516 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5517 /* <p0:UInt32> isa OTHER */
5518 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5519 if (unlikely(!var1)) {
5520 var_class_name = type_core__UInt32.name;
5521 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5522 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 704);
5523 fatal_exit(1);
5524 }
5525 var2 = self < p0;
5526 var = var2;
5527 goto RET_LABEL;
5528 RET_LABEL:;
5529 return var;
5530 }
5531 /* method fixed_ints#UInt32#< for (self: Comparable, Comparable): Bool */
5532 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d(val* self, val* p0) {
5533 short int var /* : Bool */;
5534 short int var1 /* : Bool */;
5535 short int var3 /* : Bool */;
5536 int cltype;
5537 int idtype;
5538 const struct type* type_struct;
5539 const char* var_class_name;
5540 uint32_t var4 /* : UInt32 */;
5541 uint32_t var5 /* : UInt32 */;
5542 short int var6 /* : Bool */;
5543 { /* Inline fixed_ints#UInt32#< (self,p0) on <self:Comparable(UInt32)> */
5544 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5545 /* <p0:Comparable> isa OTHER */
5546 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5547 cltype = type_struct->color;
5548 idtype = type_struct->id;
5549 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5550 var3 = 0;
5551 } else {
5552 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5553 }
5554 if (unlikely(!var3)) {
5555 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5556 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5557 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 704);
5558 fatal_exit(1);
5559 }
5560 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5561 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5562 var6 = var4 < var5;
5563 var1 = var6;
5564 goto RET_LABEL2;
5565 RET_LABEL2:(void)0;
5566 }
5567 var = var1;
5568 RET_LABEL:;
5569 return var;
5570 }
5571 /* method fixed_ints#UInt32#>= for (self: UInt32, UInt32): Bool */
5572 short int core___core__UInt32___core__kernel__Comparable___62d_61d(uint32_t self, uint32_t p0) {
5573 short int var /* : Bool */;
5574 short int var1 /* : Bool */;
5575 int cltype;
5576 int idtype;
5577 const char* var_class_name;
5578 short int var2 /* : Bool */;
5579 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5580 /* <p0:UInt32> isa OTHER */
5581 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5582 if (unlikely(!var1)) {
5583 var_class_name = type_core__UInt32.name;
5584 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5585 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 705);
5586 fatal_exit(1);
5587 }
5588 var2 = self >= p0;
5589 var = var2;
5590 goto RET_LABEL;
5591 RET_LABEL:;
5592 return var;
5593 }
5594 /* method fixed_ints#UInt32#>= for (self: Comparable, Comparable): Bool */
5595 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___62d_61d(val* self, val* p0) {
5596 short int var /* : Bool */;
5597 short int var1 /* : Bool */;
5598 short int var3 /* : Bool */;
5599 int cltype;
5600 int idtype;
5601 const struct type* type_struct;
5602 const char* var_class_name;
5603 uint32_t var4 /* : UInt32 */;
5604 uint32_t var5 /* : UInt32 */;
5605 short int var6 /* : Bool */;
5606 { /* Inline fixed_ints#UInt32#>= (self,p0) on <self:Comparable(UInt32)> */
5607 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5608 /* <p0:Comparable> isa OTHER */
5609 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5610 cltype = type_struct->color;
5611 idtype = type_struct->id;
5612 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5613 var3 = 0;
5614 } else {
5615 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5616 }
5617 if (unlikely(!var3)) {
5618 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5619 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5620 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 705);
5621 fatal_exit(1);
5622 }
5623 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5624 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5625 var6 = var4 >= var5;
5626 var1 = var6;
5627 goto RET_LABEL2;
5628 RET_LABEL2:(void)0;
5629 }
5630 var = var1;
5631 RET_LABEL:;
5632 return var;
5633 }
5634 /* method fixed_ints#UInt32#> for (self: UInt32, UInt32): Bool */
5635 short int core___core__UInt32___core__kernel__Comparable___62d(uint32_t self, uint32_t p0) {
5636 short int var /* : Bool */;
5637 short int var1 /* : Bool */;
5638 int cltype;
5639 int idtype;
5640 const char* var_class_name;
5641 short int var2 /* : Bool */;
5642 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5643 /* <p0:UInt32> isa OTHER */
5644 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5645 if (unlikely(!var1)) {
5646 var_class_name = type_core__UInt32.name;
5647 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5648 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 706);
5649 fatal_exit(1);
5650 }
5651 var2 = self > p0;
5652 var = var2;
5653 goto RET_LABEL;
5654 RET_LABEL:;
5655 return var;
5656 }
5657 /* method fixed_ints#UInt32#> for (self: Comparable, Comparable): Bool */
5658 short int VIRTUAL_core___core__UInt32___core__kernel__Comparable___62d(val* self, val* p0) {
5659 short int var /* : Bool */;
5660 short int var1 /* : Bool */;
5661 short int var3 /* : Bool */;
5662 int cltype;
5663 int idtype;
5664 const struct type* type_struct;
5665 const char* var_class_name;
5666 uint32_t var4 /* : UInt32 */;
5667 uint32_t var5 /* : UInt32 */;
5668 short int var6 /* : Bool */;
5669 { /* Inline fixed_ints#UInt32#> (self,p0) on <self:Comparable(UInt32)> */
5670 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
5671 /* <p0:Comparable> isa OTHER */
5672 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5673 cltype = type_struct->color;
5674 idtype = type_struct->id;
5675 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5676 var3 = 0;
5677 } else {
5678 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5679 }
5680 if (unlikely(!var3)) {
5681 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5682 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5683 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 706);
5684 fatal_exit(1);
5685 }
5686 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
5687 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
5688 var6 = var4 > var5;
5689 var1 = var6;
5690 goto RET_LABEL2;
5691 RET_LABEL2:(void)0;
5692 }
5693 var = var1;
5694 RET_LABEL:;
5695 return var;
5696 }
5697 /* method fixed_ints#UInt32#+ for (self: UInt32, UInt32): UInt32 */
5698 uint32_t core___core__UInt32___core__kernel__Numeric___43d(uint32_t self, uint32_t p0) {
5699 uint32_t var /* : UInt32 */;
5700 short int var1 /* : Bool */;
5701 int cltype;
5702 int idtype;
5703 const char* var_class_name;
5704 uint32_t var2 /* : UInt32 */;
5705 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5706 /* <p0:UInt32> isa OTHER */
5707 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5708 if (unlikely(!var1)) {
5709 var_class_name = type_core__UInt32.name;
5710 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5711 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 707);
5712 fatal_exit(1);
5713 }
5714 var2 = self + p0;
5715 var = var2;
5716 goto RET_LABEL;
5717 RET_LABEL:;
5718 return var;
5719 }
5720 /* method fixed_ints#UInt32#+ for (self: Numeric, Numeric): Numeric */
5721 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___43d(val* self, val* p0) {
5722 val* var /* : Numeric */;
5723 uint32_t var1 /* : UInt32 */;
5724 short int var3 /* : Bool */;
5725 int cltype;
5726 int idtype;
5727 const struct type* type_struct;
5728 const char* var_class_name;
5729 uint32_t var4 /* : UInt32 */;
5730 uint32_t var5 /* : UInt32 */;
5731 uint32_t var6 /* : UInt32 */;
5732 val* var7 /* : Numeric */;
5733 { /* Inline fixed_ints#UInt32#+ (self,p0) on <self:Numeric(UInt32)> */
5734 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5735 /* <p0:Numeric> isa OTHER */
5736 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5737 cltype = type_struct->color;
5738 idtype = type_struct->id;
5739 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5740 var3 = 0;
5741 } else {
5742 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5743 }
5744 if (unlikely(!var3)) {
5745 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5746 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5747 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 707);
5748 fatal_exit(1);
5749 }
5750 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5751 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5752 var6 = var4 + var5;
5753 var1 = var6;
5754 goto RET_LABEL2;
5755 RET_LABEL2:(void)0;
5756 }
5757 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5758 var = var7;
5759 RET_LABEL:;
5760 return var;
5761 }
5762 /* method fixed_ints#UInt32#unary - for (self: UInt32): UInt32 */
5763 uint32_t core___core__UInt32___core__kernel__Numeric__unary_32d_45d(uint32_t self) {
5764 uint32_t var /* : UInt32 */;
5765 uint32_t var1 /* : UInt32 */;
5766 var1 = -self;
5767 var = var1;
5768 goto RET_LABEL;
5769 RET_LABEL:;
5770 return var;
5771 }
5772 /* method fixed_ints#UInt32#unary - for (self: Numeric): Numeric */
5773 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric__unary_32d_45d(val* self) {
5774 val* var /* : Numeric */;
5775 uint32_t var1 /* : UInt32 */;
5776 uint32_t var3 /* : UInt32 */;
5777 uint32_t var4 /* : UInt32 */;
5778 val* var5 /* : Numeric */;
5779 { /* Inline fixed_ints#UInt32#unary - (self) on <self:Numeric(UInt32)> */
5780 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5781 var4 = -var3;
5782 var1 = var4;
5783 goto RET_LABEL2;
5784 RET_LABEL2:(void)0;
5785 }
5786 var5 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5787 var = var5;
5788 RET_LABEL:;
5789 return var;
5790 }
5791 /* method fixed_ints#UInt32#- for (self: UInt32, UInt32): UInt32 */
5792 uint32_t core___core__UInt32___core__kernel__Numeric___45d(uint32_t self, uint32_t p0) {
5793 uint32_t var /* : UInt32 */;
5794 short int var1 /* : Bool */;
5795 int cltype;
5796 int idtype;
5797 const char* var_class_name;
5798 uint32_t var2 /* : UInt32 */;
5799 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5800 /* <p0:UInt32> isa OTHER */
5801 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5802 if (unlikely(!var1)) {
5803 var_class_name = type_core__UInt32.name;
5804 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5805 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 712);
5806 fatal_exit(1);
5807 }
5808 var2 = self - p0;
5809 var = var2;
5810 goto RET_LABEL;
5811 RET_LABEL:;
5812 return var;
5813 }
5814 /* method fixed_ints#UInt32#- for (self: Numeric, Numeric): Numeric */
5815 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___45d(val* self, val* p0) {
5816 val* var /* : Numeric */;
5817 uint32_t var1 /* : UInt32 */;
5818 short int var3 /* : Bool */;
5819 int cltype;
5820 int idtype;
5821 const struct type* type_struct;
5822 const char* var_class_name;
5823 uint32_t var4 /* : UInt32 */;
5824 uint32_t var5 /* : UInt32 */;
5825 uint32_t var6 /* : UInt32 */;
5826 val* var7 /* : Numeric */;
5827 { /* Inline fixed_ints#UInt32#- (self,p0) on <self:Numeric(UInt32)> */
5828 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5829 /* <p0:Numeric> isa OTHER */
5830 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5831 cltype = type_struct->color;
5832 idtype = type_struct->id;
5833 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5834 var3 = 0;
5835 } else {
5836 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5837 }
5838 if (unlikely(!var3)) {
5839 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5840 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5841 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 712);
5842 fatal_exit(1);
5843 }
5844 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5845 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5846 var6 = var4 - var5;
5847 var1 = var6;
5848 goto RET_LABEL2;
5849 RET_LABEL2:(void)0;
5850 }
5851 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5852 var = var7;
5853 RET_LABEL:;
5854 return var;
5855 }
5856 /* method fixed_ints#UInt32#* for (self: UInt32, UInt32): UInt32 */
5857 uint32_t core___core__UInt32___core__kernel__Numeric___42d(uint32_t self, uint32_t p0) {
5858 uint32_t var /* : UInt32 */;
5859 short int var1 /* : Bool */;
5860 int cltype;
5861 int idtype;
5862 const char* var_class_name;
5863 uint32_t var2 /* : UInt32 */;
5864 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5865 /* <p0:UInt32> isa OTHER */
5866 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5867 if (unlikely(!var1)) {
5868 var_class_name = type_core__UInt32.name;
5869 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5870 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 713);
5871 fatal_exit(1);
5872 }
5873 var2 = self * p0;
5874 var = var2;
5875 goto RET_LABEL;
5876 RET_LABEL:;
5877 return var;
5878 }
5879 /* method fixed_ints#UInt32#* for (self: Numeric, Numeric): Numeric */
5880 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___42d(val* self, val* p0) {
5881 val* var /* : Numeric */;
5882 uint32_t var1 /* : UInt32 */;
5883 short int var3 /* : Bool */;
5884 int cltype;
5885 int idtype;
5886 const struct type* type_struct;
5887 const char* var_class_name;
5888 uint32_t var4 /* : UInt32 */;
5889 uint32_t var5 /* : UInt32 */;
5890 uint32_t var6 /* : UInt32 */;
5891 val* var7 /* : Numeric */;
5892 { /* Inline fixed_ints#UInt32#* (self,p0) on <self:Numeric(UInt32)> */
5893 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5894 /* <p0:Numeric> isa OTHER */
5895 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5896 cltype = type_struct->color;
5897 idtype = type_struct->id;
5898 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5899 var3 = 0;
5900 } else {
5901 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5902 }
5903 if (unlikely(!var3)) {
5904 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5905 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5906 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 713);
5907 fatal_exit(1);
5908 }
5909 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5910 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5911 var6 = var4 * var5;
5912 var1 = var6;
5913 goto RET_LABEL2;
5914 RET_LABEL2:(void)0;
5915 }
5916 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5917 var = var7;
5918 RET_LABEL:;
5919 return var;
5920 }
5921 /* method fixed_ints#UInt32#/ for (self: UInt32, UInt32): UInt32 */
5922 uint32_t core___core__UInt32___core__kernel__Numeric___47d(uint32_t self, uint32_t p0) {
5923 uint32_t var /* : UInt32 */;
5924 short int var1 /* : Bool */;
5925 int cltype;
5926 int idtype;
5927 const char* var_class_name;
5928 uint32_t var2 /* : UInt32 */;
5929 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
5930 /* <p0:UInt32> isa OTHER */
5931 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
5932 if (unlikely(!var1)) {
5933 var_class_name = type_core__UInt32.name;
5934 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5935 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 714);
5936 fatal_exit(1);
5937 }
5938 var2 = self / p0;
5939 var = var2;
5940 goto RET_LABEL;
5941 RET_LABEL:;
5942 return var;
5943 }
5944 /* method fixed_ints#UInt32#/ for (self: Numeric, Numeric): Numeric */
5945 val* VIRTUAL_core___core__UInt32___core__kernel__Numeric___47d(val* self, val* p0) {
5946 val* var /* : Numeric */;
5947 uint32_t var1 /* : UInt32 */;
5948 short int var3 /* : Bool */;
5949 int cltype;
5950 int idtype;
5951 const struct type* type_struct;
5952 const char* var_class_name;
5953 uint32_t var4 /* : UInt32 */;
5954 uint32_t var5 /* : UInt32 */;
5955 uint32_t var6 /* : UInt32 */;
5956 val* var7 /* : Numeric */;
5957 { /* Inline fixed_ints#UInt32#/ (self,p0) on <self:Numeric(UInt32)> */
5958 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
5959 /* <p0:Numeric> isa OTHER */
5960 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
5961 cltype = type_struct->color;
5962 idtype = type_struct->id;
5963 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
5964 var3 = 0;
5965 } else {
5966 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
5967 }
5968 if (unlikely(!var3)) {
5969 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
5970 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5971 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 714);
5972 fatal_exit(1);
5973 }
5974 var4 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
5975 var5 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Numeric to UInt32 */;
5976 var6 = var4 / var5;
5977 var1 = var6;
5978 goto RET_LABEL2;
5979 RET_LABEL2:(void)0;
5980 }
5981 var7 = BOX_core__UInt32(var1); /* autobox from UInt32 to Numeric */
5982 var = var7;
5983 RET_LABEL:;
5984 return var;
5985 }
5986 /* method fixed_ints#UInt32#to_i for (self: UInt32): Int */
5987 long core___core__UInt32___core__kernel__Numeric__to_i(uint32_t self) {
5988 long var /* : Int */;
5989 long var1 /* : Int */;
5990 var1 = (long)self;
5991 var = var1;
5992 goto RET_LABEL;
5993 RET_LABEL:;
5994 return var;
5995 }
5996 /* method fixed_ints#UInt32#to_i for (self: Numeric): Int */
5997 long VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_i(val* self) {
5998 long var /* : Int */;
5999 long var1 /* : Int */;
6000 uint32_t var3 /* : UInt32 */;
6001 long var4 /* : Int */;
6002 { /* Inline fixed_ints#UInt32#to_i (self) on <self:Numeric(UInt32)> */
6003 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6004 var4 = (long)var3;
6005 var1 = var4;
6006 goto RET_LABEL2;
6007 RET_LABEL2:(void)0;
6008 }
6009 var = var1;
6010 RET_LABEL:;
6011 return var;
6012 }
6013 /* method fixed_ints#UInt32#to_f for (self: UInt32): Float */
6014 double core___core__UInt32___core__kernel__Numeric__to_f(uint32_t self) {
6015 double var /* : Float */;
6016 double var1 /* : Float */;
6017 var1 = (double)self;
6018 var = var1;
6019 goto RET_LABEL;
6020 RET_LABEL:;
6021 return var;
6022 }
6023 /* method fixed_ints#UInt32#to_f for (self: Numeric): Float */
6024 double VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_f(val* self) {
6025 double var /* : Float */;
6026 double var1 /* : Float */;
6027 uint32_t var3 /* : UInt32 */;
6028 double var4 /* : Float */;
6029 { /* Inline fixed_ints#UInt32#to_f (self) on <self:Numeric(UInt32)> */
6030 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6031 var4 = (double)var3;
6032 var1 = var4;
6033 goto RET_LABEL2;
6034 RET_LABEL2:(void)0;
6035 }
6036 var = var1;
6037 RET_LABEL:;
6038 return var;
6039 }
6040 /* method fixed_ints#UInt32#to_b for (self: UInt32): Byte */
6041 unsigned char core___core__UInt32___core__kernel__Numeric__to_b(uint32_t self) {
6042 unsigned char var /* : Byte */;
6043 unsigned char var1 /* : Byte */;
6044 var1 = (unsigned char)self;
6045 var = var1;
6046 goto RET_LABEL;
6047 RET_LABEL:;
6048 return var;
6049 }
6050 /* method fixed_ints#UInt32#to_b for (self: Numeric): Byte */
6051 unsigned char VIRTUAL_core___core__UInt32___core__kernel__Numeric__to_b(val* self) {
6052 unsigned char var /* : Byte */;
6053 unsigned char var1 /* : Byte */;
6054 uint32_t var3 /* : UInt32 */;
6055 unsigned char var4 /* : Byte */;
6056 { /* Inline fixed_ints#UInt32#to_b (self) on <self:Numeric(UInt32)> */
6057 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6058 var4 = (unsigned char)var3;
6059 var1 = var4;
6060 goto RET_LABEL2;
6061 RET_LABEL2:(void)0;
6062 }
6063 var = var1;
6064 RET_LABEL:;
6065 return var;
6066 }
6067 /* method fixed_ints#UInt32#to_i8 for (self: UInt32): Int8 */
6068 int8_t core___core__UInt32___Numeric__to_i8(uint32_t self) {
6069 int8_t var /* : Int8 */;
6070 int8_t var1 /* : Int8 */;
6071 var1 = (int8_t)self;
6072 var = var1;
6073 goto RET_LABEL;
6074 RET_LABEL:;
6075 return var;
6076 }
6077 /* method fixed_ints#UInt32#to_i8 for (self: Numeric): Int8 */
6078 int8_t VIRTUAL_core___core__UInt32___Numeric__to_i8(val* self) {
6079 int8_t var /* : Int8 */;
6080 int8_t var1 /* : Int8 */;
6081 uint32_t var3 /* : UInt32 */;
6082 int8_t var4 /* : Int8 */;
6083 { /* Inline fixed_ints#UInt32#to_i8 (self) on <self:Numeric(UInt32)> */
6084 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6085 var4 = (int8_t)var3;
6086 var1 = var4;
6087 goto RET_LABEL2;
6088 RET_LABEL2:(void)0;
6089 }
6090 var = var1;
6091 RET_LABEL:;
6092 return var;
6093 }
6094 /* method fixed_ints#UInt32#to_i16 for (self: UInt32): Int16 */
6095 int16_t core___core__UInt32___Numeric__to_i16(uint32_t self) {
6096 int16_t var /* : Int16 */;
6097 int16_t var1 /* : Int16 */;
6098 var1 = (int16_t)self;
6099 var = var1;
6100 goto RET_LABEL;
6101 RET_LABEL:;
6102 return var;
6103 }
6104 /* method fixed_ints#UInt32#to_i16 for (self: Numeric): Int16 */
6105 int16_t VIRTUAL_core___core__UInt32___Numeric__to_i16(val* self) {
6106 int16_t var /* : Int16 */;
6107 int16_t var1 /* : Int16 */;
6108 uint32_t var3 /* : UInt32 */;
6109 int16_t var4 /* : Int16 */;
6110 { /* Inline fixed_ints#UInt32#to_i16 (self) on <self:Numeric(UInt32)> */
6111 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6112 var4 = (int16_t)var3;
6113 var1 = var4;
6114 goto RET_LABEL2;
6115 RET_LABEL2:(void)0;
6116 }
6117 var = var1;
6118 RET_LABEL:;
6119 return var;
6120 }
6121 /* method fixed_ints#UInt32#to_u16 for (self: UInt32): UInt16 */
6122 uint16_t core___core__UInt32___Numeric__to_u16(uint32_t self) {
6123 uint16_t var /* : UInt16 */;
6124 uint16_t var1 /* : UInt16 */;
6125 var1 = (uint16_t)self;
6126 var = var1;
6127 goto RET_LABEL;
6128 RET_LABEL:;
6129 return var;
6130 }
6131 /* method fixed_ints#UInt32#to_u16 for (self: Numeric): UInt16 */
6132 uint16_t VIRTUAL_core___core__UInt32___Numeric__to_u16(val* self) {
6133 uint16_t var /* : UInt16 */;
6134 uint16_t var1 /* : UInt16 */;
6135 uint32_t var3 /* : UInt32 */;
6136 uint16_t var4 /* : UInt16 */;
6137 { /* Inline fixed_ints#UInt32#to_u16 (self) on <self:Numeric(UInt32)> */
6138 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6139 var4 = (uint16_t)var3;
6140 var1 = var4;
6141 goto RET_LABEL2;
6142 RET_LABEL2:(void)0;
6143 }
6144 var = var1;
6145 RET_LABEL:;
6146 return var;
6147 }
6148 /* method fixed_ints#UInt32#to_i32 for (self: UInt32): Int32 */
6149 int32_t core___core__UInt32___Numeric__to_i32(uint32_t self) {
6150 int32_t var /* : Int32 */;
6151 int32_t var1 /* : Int32 */;
6152 var1 = (int32_t)self;
6153 var = var1;
6154 goto RET_LABEL;
6155 RET_LABEL:;
6156 return var;
6157 }
6158 /* method fixed_ints#UInt32#to_i32 for (self: Numeric): Int32 */
6159 int32_t VIRTUAL_core___core__UInt32___Numeric__to_i32(val* self) {
6160 int32_t var /* : Int32 */;
6161 int32_t var1 /* : Int32 */;
6162 uint32_t var3 /* : UInt32 */;
6163 int32_t var4 /* : Int32 */;
6164 { /* Inline fixed_ints#UInt32#to_i32 (self) on <self:Numeric(UInt32)> */
6165 var3 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6166 var4 = (int32_t)var3;
6167 var1 = var4;
6168 goto RET_LABEL2;
6169 RET_LABEL2:(void)0;
6170 }
6171 var = var1;
6172 RET_LABEL:;
6173 return var;
6174 }
6175 /* method fixed_ints#UInt32#to_u32 for (self: UInt32): UInt32 */
6176 uint32_t core___core__UInt32___Numeric__to_u32(uint32_t self) {
6177 uint32_t var /* : UInt32 */;
6178 var = self;
6179 goto RET_LABEL;
6180 RET_LABEL:;
6181 return var;
6182 }
6183 /* method fixed_ints#UInt32#to_u32 for (self: Numeric): UInt32 */
6184 uint32_t VIRTUAL_core___core__UInt32___Numeric__to_u32(val* self) {
6185 uint32_t var /* : UInt32 */;
6186 uint32_t var1 /* : UInt32 */;
6187 uint32_t var2 /* : UInt32 */;
6188 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Numeric to UInt32 */;
6189 var1 = core___core__UInt32___Numeric__to_u32(var2);
6190 var = var1;
6191 RET_LABEL:;
6192 return var;
6193 }
6194 /* method fixed_ints#UInt32#distance for (self: UInt32, UInt32): Int */
6195 long core___core__UInt32___core__kernel__Discrete__distance(uint32_t self, uint32_t p0) {
6196 long var /* : Int */;
6197 short int var1 /* : Bool */;
6198 int cltype;
6199 int idtype;
6200 const char* var_class_name;
6201 uint32_t var_i /* var i: UInt32 */;
6202 uint32_t var2 /* : UInt32 */;
6203 short int var4 /* : Bool */;
6204 int cltype5;
6205 int idtype6;
6206 const char* var_class_name7;
6207 uint32_t var8 /* : UInt32 */;
6208 long var9 /* : Int */;
6209 long var11 /* : Int */;
6210 /* Covariant cast for argument 0 (i) <p0:UInt32> isa OTHER */
6211 /* <p0:UInt32> isa OTHER */
6212 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6213 if (unlikely(!var1)) {
6214 var_class_name = type_core__UInt32.name;
6215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6216 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 749);
6217 fatal_exit(1);
6218 }
6219 var_i = p0;
6220 {
6221 { /* Inline fixed_ints#UInt32#- (self,var_i) on <self:UInt32> */
6222 /* Covariant cast for argument 0 (i) <var_i:UInt32> isa OTHER */
6223 /* <var_i:UInt32> isa OTHER */
6224 var4 = 1; /* easy <var_i:UInt32> isa OTHER*/
6225 if (unlikely(!var4)) {
6226 var_class_name7 = type_core__UInt32.name;
6227 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6228 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 712);
6229 fatal_exit(1);
6230 }
6231 var8 = self - var_i;
6232 var2 = var8;
6233 goto RET_LABEL3;
6234 RET_LABEL3:(void)0;
6235 }
6236 }
6237 {
6238 { /* Inline fixed_ints#UInt32#to_i (var2) on <var2:UInt32> */
6239 var11 = (long)var2;
6240 var9 = var11;
6241 goto RET_LABEL10;
6242 RET_LABEL10:(void)0;
6243 }
6244 }
6245 var = var9;
6246 goto RET_LABEL;
6247 RET_LABEL:;
6248 return var;
6249 }
6250 /* method fixed_ints#UInt32#distance for (self: Discrete, Discrete): Int */
6251 long VIRTUAL_core___core__UInt32___core__kernel__Discrete__distance(val* self, val* p0) {
6252 long var /* : Int */;
6253 long var1 /* : Int */;
6254 uint32_t var2 /* : UInt32 */;
6255 uint32_t var3 /* : UInt32 */;
6256 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Discrete to UInt32 */;
6257 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Discrete to UInt32 */;
6258 var1 = core___core__UInt32___core__kernel__Discrete__distance(var2, var3);
6259 var = var1;
6260 RET_LABEL:;
6261 return var;
6262 }
6263 /* method fixed_ints#UInt32#<=> for (self: UInt32, UInt32): Int */
6264 long core___core__UInt32___core__kernel__Comparable___60d_61d_62d(uint32_t self, uint32_t p0) {
6265 long var /* : Int */;
6266 short int var1 /* : Bool */;
6267 int cltype;
6268 int idtype;
6269 const char* var_class_name;
6270 uint32_t var_other /* var other: UInt32 */;
6271 short int var2 /* : Bool */;
6272 short int var4 /* : Bool */;
6273 int cltype5;
6274 int idtype6;
6275 const char* var_class_name7;
6276 short int var8 /* : Bool */;
6277 long var9 /* : Int */;
6278 long var11 /* : Int */;
6279 short int var12 /* : Bool */;
6280 short int var14 /* : Bool */;
6281 int cltype15;
6282 int idtype16;
6283 const char* var_class_name17;
6284 short int var18 /* : Bool */;
6285 /* Covariant cast for argument 0 (other) <p0:UInt32> isa OTHER */
6286 /* <p0:UInt32> isa OTHER */
6287 var1 = 1; /* easy <p0:UInt32> isa OTHER*/
6288 if (unlikely(!var1)) {
6289 var_class_name = type_core__UInt32.name;
6290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6291 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 751);
6292 fatal_exit(1);
6293 }
6294 var_other = p0;
6295 {
6296 { /* Inline fixed_ints#UInt32#< (self,var_other) on <self:UInt32> */
6297 /* Covariant cast for argument 0 (i) <var_other:UInt32> isa OTHER */
6298 /* <var_other:UInt32> isa OTHER */
6299 var4 = 1; /* easy <var_other:UInt32> isa OTHER*/
6300 if (unlikely(!var4)) {
6301 var_class_name7 = type_core__UInt32.name;
6302 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
6303 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 704);
6304 fatal_exit(1);
6305 }
6306 var8 = self < var_other;
6307 var2 = var8;
6308 goto RET_LABEL3;
6309 RET_LABEL3:(void)0;
6310 }
6311 }
6312 if (var2){
6313 {
6314 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
6315 var11 = -1l;
6316 var9 = var11;
6317 goto RET_LABEL10;
6318 RET_LABEL10:(void)0;
6319 }
6320 }
6321 var = var9;
6322 goto RET_LABEL;
6323 } else {
6324 {
6325 { /* Inline fixed_ints#UInt32#< (var_other,self) on <var_other:UInt32> */
6326 /* Covariant cast for argument 0 (i) <self:UInt32> isa OTHER */
6327 /* <self:UInt32> isa OTHER */
6328 var14 = 1; /* easy <self:UInt32> isa OTHER*/
6329 if (unlikely(!var14)) {
6330 var_class_name17 = type_core__UInt32.name;
6331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
6332 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 704);
6333 fatal_exit(1);
6334 }
6335 var18 = var_other < self;
6336 var12 = var18;
6337 goto RET_LABEL13;
6338 RET_LABEL13:(void)0;
6339 }
6340 }
6341 if (var12){
6342 var = 1l;
6343 goto RET_LABEL;
6344 } else {
6345 var = 0l;
6346 goto RET_LABEL;
6347 }
6348 }
6349 RET_LABEL:;
6350 return var;
6351 }
6352 /* method fixed_ints#UInt32#<=> for (self: Comparable, Comparable): Int */
6353 long VIRTUAL_core___core__UInt32___core__kernel__Comparable___60d_61d_62d(val* self, val* p0) {
6354 long var /* : Int */;
6355 long var1 /* : Int */;
6356 uint32_t var2 /* : UInt32 */;
6357 uint32_t var3 /* : UInt32 */;
6358 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Comparable to UInt32 */;
6359 var3 = ((struct instance_core__UInt32*)p0)->value; /* autounbox from Comparable to UInt32 */;
6360 var1 = core___core__UInt32___core__kernel__Comparable___60d_61d_62d(var2, var3);
6361 var = var1;
6362 RET_LABEL:;
6363 return var;
6364 }
6365 /* method fixed_ints#UInt32#to_s_len for (self: UInt32): Int */
6366 long core___core__UInt32___to_s_len(uint32_t self) {
6367 long var /* : Int */;
6368 long var1 /* : Int */;
6369 var1 = fixed_ints___UInt32_to_s_len___impl(self);
6370 var = var1;
6371 goto RET_LABEL;
6372 RET_LABEL:;
6373 return var;
6374 }
6375 /* method fixed_ints#UInt32#native_to_s for (self: UInt32, NativeString, Int) */
6376 void core___core__UInt32___native_to_s(uint32_t self, char* p0, long p1) {
6377 fixed_ints___UInt32_native_to_s___impl(self, p0, p1);
6378 RET_LABEL:;
6379 }
6380 /* method fixed_ints#UInt32#to_s for (self: UInt32): String */
6381 val* core___core__UInt32___core__abstract_text__Object__to_s(uint32_t self) {
6382 val* var /* : String */;
6383 long var1 /* : Int */;
6384 long var3 /* : Int */;
6385 long var_nslen /* var nslen: Int */;
6386 char* var4 /* : NativeString */;
6387 long var5 /* : Int */;
6388 short int var7 /* : Bool */;
6389 int cltype;
6390 int idtype;
6391 const char* var_class_name;
6392 long var8 /* : Int */;
6393 char* var9 /* : NativeString */;
6394 char* var11 /* : NativeString */;
6395 char* var_ns /* var ns: NativeString */;
6396 long var13 /* : Int */;
6397 short int var15 /* : Bool */;
6398 int cltype16;
6399 int idtype17;
6400 const char* var_class_name18;
6401 long var19 /* : Int */;
6402 val* var21 /* : FlatString */;
6403 {
6404 { /* Inline fixed_ints#UInt32#to_s_len (self) on <self:UInt32> */
6405 var3 = fixed_ints___UInt32_to_s_len___impl(self);
6406 var1 = var3;
6407 goto RET_LABEL2;
6408 RET_LABEL2:(void)0;
6409 }
6410 }
6411 var_nslen = var1;
6412 var4 = NULL/*special!*/;
6413 {
6414 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
6415 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6416 /* <1l:Int> isa OTHER */
6417 var7 = 1; /* easy <1l:Int> isa OTHER*/
6418 if (unlikely(!var7)) {
6419 var_class_name = type_core__Int.name;
6420 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6421 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
6422 fatal_exit(1);
6423 }
6424 var8 = var_nslen + 1l;
6425 var5 = var8;
6426 goto RET_LABEL6;
6427 RET_LABEL6:(void)0;
6428 }
6429 }
6430 {
6431 { /* Inline native#NativeString#new (var4,var5) on <var4:NativeString> */
6432 var11 = (char*)nit_alloc(var5);
6433 var9 = var11;
6434 goto RET_LABEL10;
6435 RET_LABEL10:(void)0;
6436 }
6437 }
6438 var_ns = var9;
6439 {
6440 { /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:NativeString> */
6441 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
6442 RET_LABEL12:(void)0;
6443 }
6444 }
6445 {
6446 { /* Inline kernel#Int#+ (var_nslen,1l) on <var_nslen:Int> */
6447 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6448 /* <1l:Int> isa OTHER */
6449 var15 = 1; /* easy <1l:Int> isa OTHER*/
6450 if (unlikely(!var15)) {
6451 var_class_name18 = type_core__Int.name;
6452 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
6453 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
6454 fatal_exit(1);
6455 }
6456 var19 = var_nslen + 1l;
6457 var13 = var19;
6458 goto RET_LABEL14;
6459 RET_LABEL14:(void)0;
6460 }
6461 }
6462 {
6463 { /* Inline fixed_ints#UInt32#native_to_s (self,var_ns,var13) on <self:UInt32> */
6464 fixed_ints___UInt32_native_to_s___impl(self, var_ns, var13);
6465 RET_LABEL20:(void)0;
6466 }
6467 }
6468 {
6469 var21 = core__flat___NativeString___to_s_with_length(var_ns, var_nslen);
6470 }
6471 var = var21;
6472 goto RET_LABEL;
6473 RET_LABEL:;
6474 return var;
6475 }
6476 /* method fixed_ints#UInt32#to_s for (self: Object): String */
6477 val* VIRTUAL_core___core__UInt32___core__abstract_text__Object__to_s(val* self) {
6478 val* var /* : String */;
6479 val* var1 /* : String */;
6480 uint32_t var2 /* : UInt32 */;
6481 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
6482 var1 = core___core__UInt32___core__abstract_text__Object__to_s(var2);
6483 var = var1;
6484 RET_LABEL:;
6485 return var;
6486 }
6487 /* method fixed_ints#Text#strip_numhead for (self: Text): Text */
6488 val* core__fixed_ints___Text___strip_numhead(val* self) {
6489 val* var /* : Text */;
6490 val* var1 /* : Text */;
6491 static val* varonce;
6492 val* var2 /* : String */;
6493 char* var3 /* : NativeString */;
6494 val* var4 /* : String */;
6495 short int var5 /* : Bool */;
6496 val* var_other /* var other: nullable Object */;
6497 short int var7 /* : Bool */;
6498 short int var8 /* : Bool */;
6499 val* var9 /* : Text */;
6500 {
6501 var1 = core__fixed_ints___Text___get_numhead(self);
6502 }
6503 if (likely(varonce!=NULL)) {
6504 var2 = varonce;
6505 } else {
6506 var3 = "";
6507 var4 = core__flat___NativeString___to_s_full(var3, 0l, 0l);
6508 var2 = var4;
6509 varonce = var2;
6510 }
6511 {
6512 { /* Inline kernel#Object#!= (var1,var2) on <var1:Text> */
6513 var_other = var2;
6514 {
6515 var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:Text>*/
6516 }
6517 var8 = !var7;
6518 var5 = var8;
6519 goto RET_LABEL6;
6520 RET_LABEL6:(void)0;
6521 }
6522 }
6523 if (var5){
6524 {
6525 var9 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text__substring_from]))(self, 2l); /* substring_from on <self:Text>*/
6526 }
6527 var = var9;
6528 goto RET_LABEL;
6529 } else {
6530 }
6531 var = self;
6532 goto RET_LABEL;
6533 RET_LABEL:;
6534 return var;
6535 }
6536 /* method fixed_ints#Text#get_numhead for (self: Text): Text */
6537 val* core__fixed_ints___Text___get_numhead(val* self) {
6538 val* var /* : Text */;
6539 long var1 /* : Int */;
6540 short int var2 /* : Bool */;
6541 short int var4 /* : Bool */;
6542 int cltype;
6543 int idtype;
6544 const char* var_class_name;
6545 short int var5 /* : Bool */;
6546 static val* varonce;
6547 val* var6 /* : String */;
6548 char* var7 /* : NativeString */;
6549 val* var8 /* : String */;
6550 uint32_t var9 /* : Char */;
6551 uint32_t var_c /* var c: Char */;
6552 short int var10 /* : Bool */;
6553 short int var12 /* : Bool */;
6554 short int var13 /* : Bool */;
6555 static val* varonce14;
6556 val* var15 /* : String */;
6557 char* var16 /* : NativeString */;
6558 val* var17 /* : String */;
6559 uint32_t var18 /* : Char */;
6560 short int var19 /* : Bool */;
6561 short int var20 /* : Bool */;
6562 short int var21 /* : Bool */;
6563 short int var22 /* : Bool */;
6564 short int var23 /* : Bool */;
6565 short int var24 /* : Bool */;
6566 short int var26 /* : Bool */;
6567 short int var_ /* var : Bool */;
6568 short int var27 /* : Bool */;
6569 short int var29 /* : Bool */;
6570 short int var_30 /* var : Bool */;
6571 short int var31 /* : Bool */;
6572 short int var33 /* : Bool */;
6573 short int var_34 /* var : Bool */;
6574 short int var35 /* : Bool */;
6575 short int var37 /* : Bool */;
6576 short int var_38 /* var : Bool */;
6577 short int var39 /* : Bool */;
6578 short int var41 /* : Bool */;
6579 short int var_42 /* var : Bool */;
6580 short int var43 /* : Bool */;
6581 short int var45 /* : Bool */;
6582 val* var46 /* : Text */;
6583 static val* varonce47;
6584 val* var48 /* : String */;
6585 char* var49 /* : NativeString */;
6586 val* var50 /* : String */;
6587 {
6588 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
6589 }
6590 {
6591 { /* Inline kernel#Int#< (var1,2l) on <var1:Int> */
6592 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
6593 /* <2l:Int> isa OTHER */
6594 var4 = 1; /* easy <2l:Int> isa OTHER*/
6595 if (unlikely(!var4)) {
6596 var_class_name = type_core__Int.name;
6597 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6598 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6599 fatal_exit(1);
6600 }
6601 var5 = var1 < 2l;
6602 var2 = var5;
6603 goto RET_LABEL3;
6604 RET_LABEL3:(void)0;
6605 }
6606 }
6607 if (var2){
6608 if (likely(varonce!=NULL)) {
6609 var6 = varonce;
6610 } else {
6611 var7 = "";
6612 var8 = core__flat___NativeString___to_s_full(var7, 0l, 0l);
6613 var6 = var8;
6614 varonce = var6;
6615 }
6616 var = var6;
6617 goto RET_LABEL;
6618 } else {
6619 }
6620 {
6621 var9 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, 0l); /* [] on <self:Text>*/
6622 }
6623 var_c = var9;
6624 {
6625 { /* Inline kernel#Char#!= (var_c,'0') on <var_c:Char> */
6626 var12 = var_c == '0';
6627 var13 = !var12;
6628 var10 = var13;
6629 goto RET_LABEL11;
6630 RET_LABEL11:(void)0;
6631 }
6632 }
6633 if (var10){
6634 if (likely(varonce14!=NULL)) {
6635 var15 = varonce14;
6636 } else {
6637 var16 = "";
6638 var17 = core__flat___NativeString___to_s_full(var16, 0l, 0l);
6639 var15 = var17;
6640 varonce14 = var15;
6641 }
6642 var = var15;
6643 goto RET_LABEL;
6644 } else {
6645 }
6646 {
6647 var18 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, 1l); /* [] on <self:Text>*/
6648 }
6649 var_c = var18;
6650 {
6651 { /* Inline kernel#Char#== (var_c,'x') on <var_c:Char> */
6652 var26 = var_c == 'x';
6653 var24 = var26;
6654 goto RET_LABEL25;
6655 RET_LABEL25:(void)0;
6656 }
6657 }
6658 var_ = var24;
6659 if (var24){
6660 var23 = var_;
6661 } else {
6662 {
6663 { /* Inline kernel#Char#== (var_c,'b') on <var_c:Char> */
6664 var29 = var_c == 'b';
6665 var27 = var29;
6666 goto RET_LABEL28;
6667 RET_LABEL28:(void)0;
6668 }
6669 }
6670 var23 = var27;
6671 }
6672 var_30 = var23;
6673 if (var23){
6674 var22 = var_30;
6675 } else {
6676 {
6677 { /* Inline kernel#Char#== (var_c,'o') on <var_c:Char> */
6678 var33 = var_c == 'o';
6679 var31 = var33;
6680 goto RET_LABEL32;
6681 RET_LABEL32:(void)0;
6682 }
6683 }
6684 var22 = var31;
6685 }
6686 var_34 = var22;
6687 if (var22){
6688 var21 = var_34;
6689 } else {
6690 {
6691 { /* Inline kernel#Char#== (var_c,'X') on <var_c:Char> */
6692 var37 = var_c == 'X';
6693 var35 = var37;
6694 goto RET_LABEL36;
6695 RET_LABEL36:(void)0;
6696 }
6697 }
6698 var21 = var35;
6699 }
6700 var_38 = var21;
6701 if (var21){
6702 var20 = var_38;
6703 } else {
6704 {
6705 { /* Inline kernel#Char#== (var_c,'B') on <var_c:Char> */
6706 var41 = var_c == 'B';
6707 var39 = var41;
6708 goto RET_LABEL40;
6709 RET_LABEL40:(void)0;
6710 }
6711 }
6712 var20 = var39;
6713 }
6714 var_42 = var20;
6715 if (var20){
6716 var19 = var_42;
6717 } else {
6718 {
6719 { /* Inline kernel#Char#== (var_c,'O') on <var_c:Char> */
6720 var45 = var_c == 'O';
6721 var43 = var45;
6722 goto RET_LABEL44;
6723 RET_LABEL44:(void)0;
6724 }
6725 }
6726 var19 = var43;
6727 }
6728 if (var19){
6729 {
6730 var46 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, 0l, 2l); /* substring on <self:Text>*/
6731 }
6732 var = var46;
6733 goto RET_LABEL;
6734 } else {
6735 }
6736 if (likely(varonce47!=NULL)) {
6737 var48 = varonce47;
6738 } else {
6739 var49 = "";
6740 var50 = core__flat___NativeString___to_s_full(var49, 0l, 0l);
6741 var48 = var50;
6742 varonce47 = var48;
6743 }
6744 var = var48;
6745 goto RET_LABEL;
6746 RET_LABEL:;
6747 return var;
6748 }
6749 /* method fixed_ints#Text#strip_numext for (self: Text): Text */
6750 val* core__fixed_ints___Text___strip_numext(val* self) {
6751 val* var /* : Text */;
6752 val* var1 /* : Text */;
6753 val* var_ext /* var ext: Text */;
6754 static val* varonce;
6755 val* var2 /* : String */;
6756 char* var3 /* : NativeString */;
6757 val* var4 /* : String */;
6758 short int var5 /* : Bool */;
6759 val* var_other /* var other: nullable Object */;
6760 short int var7 /* : Bool */;
6761 short int var8 /* : Bool */;
6762 long var9 /* : Int */;
6763 long var10 /* : Int */;
6764 long var11 /* : Int */;
6765 short int var13 /* : Bool */;
6766 int cltype;
6767 int idtype;
6768 const char* var_class_name;
6769 long var14 /* : Int */;
6770 val* var15 /* : Text */;
6771 {
6772 var1 = core__fixed_ints___Text___get_numext(self);
6773 }
6774 var_ext = var1;
6775 if (likely(varonce!=NULL)) {
6776 var2 = varonce;
6777 } else {
6778 var3 = "";
6779 var4 = core__flat___NativeString___to_s_full(var3, 0l, 0l);
6780 var2 = var4;
6781 varonce = var2;
6782 }
6783 {
6784 { /* Inline kernel#Object#!= (var_ext,var2) on <var_ext:Text> */
6785 var_other = var2;
6786 {
6787 var7 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var_other); /* == on <var_ext:Text>*/
6788 }
6789 var8 = !var7;
6790 var5 = var8;
6791 goto RET_LABEL6;
6792 RET_LABEL6:(void)0;
6793 }
6794 }
6795 if (var5){
6796 {
6797 var9 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
6798 }
6799 {
6800 var10 = ((long(*)(val* self))(var_ext->class->vft[COLOR_core__abstract_text__Text__length]))(var_ext); /* length on <var_ext:Text>*/
6801 }
6802 {
6803 { /* Inline kernel#Int#- (var9,var10) on <var9:Int> */
6804 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
6805 /* <var10:Int> isa OTHER */
6806 var13 = 1; /* easy <var10:Int> isa OTHER*/
6807 if (unlikely(!var13)) {
6808 var_class_name = type_core__Int.name;
6809 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6810 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
6811 fatal_exit(1);
6812 }
6813 var14 = var9 - var10;
6814 var11 = var14;
6815 goto RET_LABEL12;
6816 RET_LABEL12:(void)0;
6817 }
6818 }
6819 {
6820 var15 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, 0l, var11); /* substring on <self:Text>*/
6821 }
6822 var = var15;
6823 goto RET_LABEL;
6824 } else {
6825 }
6826 var = self;
6827 goto RET_LABEL;
6828 RET_LABEL:;
6829 return var;
6830 }
6831 /* method fixed_ints#Text#get_numext for (self: Text): Text */
6832 val* core__fixed_ints___Text___get_numext(val* self) {
6833 val* var /* : Text */;
6834 long var1 /* : Int */;
6835 long var_len /* var len: Int */;
6836 long var2 /* : Int */;
6837 long var3 /* : Int */;
6838 short int var4 /* : Bool */;
6839 short int var6 /* : Bool */;
6840 int cltype;
6841 int idtype;
6842 const char* var_class_name;
6843 short int var7 /* : Bool */;
6844 long var8 /* : Int */;
6845 long var_max /* var max: Int */;
6846 long var_i /* var i: Int */;
6847 long var_ /* var : Int */;
6848 short int var9 /* : Bool */;
6849 short int var11 /* : Bool */;
6850 int cltype12;
6851 int idtype13;
6852 const char* var_class_name14;
6853 short int var15 /* : Bool */;
6854 long var16 /* : Int */;
6855 short int var18 /* : Bool */;
6856 int cltype19;
6857 int idtype20;
6858 const char* var_class_name21;
6859 long var22 /* : Int */;
6860 uint32_t var23 /* : Char */;
6861 uint32_t var_c /* var c: Char */;
6862 short int var24 /* : Bool */;
6863 short int var25 /* : Bool */;
6864 short int var27 /* : Bool */;
6865 short int var_28 /* var : Bool */;
6866 short int var29 /* : Bool */;
6867 short int var31 /* : Bool */;
6868 long var32 /* : Int */;
6869 short int var34 /* : Bool */;
6870 int cltype35;
6871 int idtype36;
6872 const char* var_class_name37;
6873 long var38 /* : Int */;
6874 val* var39 /* : Text */;
6875 long var40 /* : Int */;
6876 static val* varonce;
6877 val* var41 /* : String */;
6878 char* var42 /* : NativeString */;
6879 val* var43 /* : String */;
6880 {
6881 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
6882 }
6883 var_len = var1;
6884 {
6885 var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
6886 }
6887 {
6888 { /* Inline kernel#Int#< (var3,3l) on <var3:Int> */
6889 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
6890 /* <3l:Int> isa OTHER */
6891 var6 = 1; /* easy <3l:Int> isa OTHER*/
6892 if (unlikely(!var6)) {
6893 var_class_name = type_core__Int.name;
6894 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6895 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6896 fatal_exit(1);
6897 }
6898 var7 = var3 < 3l;
6899 var4 = var7;
6900 goto RET_LABEL5;
6901 RET_LABEL5:(void)0;
6902 }
6903 }
6904 if (var4){
6905 {
6906 var8 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
6907 }
6908 var2 = var8;
6909 } else {
6910 var2 = 3l;
6911 }
6912 var_max = var2;
6913 var_i = 1l;
6914 var_ = var_max;
6915 for(;;) {
6916 {
6917 { /* Inline kernel#Int#<= (var_i,var_) on <var_i:Int> */
6918 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
6919 /* <var_:Int> isa OTHER */
6920 var11 = 1; /* easy <var_:Int> isa OTHER*/
6921 if (unlikely(!var11)) {
6922 var_class_name14 = type_core__Int.name;
6923 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
6924 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
6925 fatal_exit(1);
6926 }
6927 var15 = var_i <= var_;
6928 var9 = var15;
6929 goto RET_LABEL10;
6930 RET_LABEL10:(void)0;
6931 }
6932 }
6933 if (var9){
6934 } else {
6935 goto BREAK_label;
6936 }
6937 {
6938 { /* Inline kernel#Int#- (var_len,var_i) on <var_len:Int> */
6939 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
6940 /* <var_i:Int> isa OTHER */
6941 var18 = 1; /* easy <var_i:Int> isa OTHER*/
6942 if (unlikely(!var18)) {
6943 var_class_name21 = type_core__Int.name;
6944 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
6945 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
6946 fatal_exit(1);
6947 }
6948 var22 = var_len - var_i;
6949 var16 = var22;
6950 goto RET_LABEL17;
6951 RET_LABEL17:(void)0;
6952 }
6953 }
6954 {
6955 var23 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var16); /* [] on <self:Text>*/
6956 }
6957 var_c = var23;
6958 {
6959 { /* Inline kernel#Char#== (var_c,'i') on <var_c:Char> */
6960 var27 = var_c == 'i';
6961 var25 = var27;
6962 goto RET_LABEL26;
6963 RET_LABEL26:(void)0;
6964 }
6965 }
6966 var_28 = var25;
6967 if (var25){
6968 var24 = var_28;
6969 } else {
6970 {
6971 { /* Inline kernel#Char#== (var_c,'u') on <var_c:Char> */
6972 var31 = var_c == 'u';
6973 var29 = var31;
6974 goto RET_LABEL30;
6975 RET_LABEL30:(void)0;
6976 }
6977 }
6978 var24 = var29;
6979 }
6980 if (var24){
6981 {
6982 { /* Inline kernel#Int#- (var_len,var_i) on <var_len:Int> */
6983 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
6984 /* <var_i:Int> isa OTHER */
6985 var34 = 1; /* easy <var_i:Int> isa OTHER*/
6986 if (unlikely(!var34)) {
6987 var_class_name37 = type_core__Int.name;
6988 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
6989 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
6990 fatal_exit(1);
6991 }
6992 var38 = var_len - var_i;
6993 var32 = var38;
6994 goto RET_LABEL33;
6995 RET_LABEL33:(void)0;
6996 }
6997 }
6998 {
6999 var39 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text__substring_from]))(self, var32); /* substring_from on <self:Text>*/
7000 }
7001 var = var39;
7002 goto RET_LABEL;
7003 } else {
7004 }
7005 {
7006 var40 = core___core__Int___Discrete__successor(var_i, 1l);
7007 }
7008 var_i = var40;
7009 }
7010 BREAK_label: (void)0;
7011 if (likely(varonce!=NULL)) {
7012 var41 = varonce;
7013 } else {
7014 var42 = "";
7015 var43 = core__flat___NativeString___to_s_full(var42, 0l, 0l);
7016 var41 = var43;
7017 varonce = var41;
7018 }
7019 var = var41;
7020 goto RET_LABEL;
7021 RET_LABEL:;
7022 return var;
7023 }
7024 /* method fixed_ints#Text#is_int for (self: Text): Bool */
7025 short int core__fixed_ints___Text___is_int(val* self) {
7026 short int var /* : Bool */;
7027 long var1 /* : Int */;
7028 short int var2 /* : Bool */;
7029 short int var4 /* : Bool */;
7030 val* var5 /* : String */;
7031 val* var6 /* : Pattern */;
7032 val* var_s /* var s: String */;
7033 long var_pos /* var pos: Int */;
7034 uint32_t var7 /* : Char */;
7035 short int var8 /* : Bool */;
7036 short int var10 /* : Bool */;
7037 long var11 /* : Int */;
7038 short int var13 /* : Bool */;
7039 int cltype;
7040 int idtype;
7041 const char* var_class_name;
7042 long var14 /* : Int */;
7043 val* var15 /* : Text */;
7044 val* var16 /* : Text */;
7045 val* var_rets /* var rets: Text */;
7046 static val* varonce;
7047 val* var17 /* : String */;
7048 char* var18 /* : NativeString */;
7049 val* var19 /* : String */;
7050 short int var20 /* : Bool */;
7051 val* var21 /* : Text */;
7052 val* var_hd /* var hd: Text */;
7053 short int var22 /* : Bool */;
7054 static val* varonce23;
7055 val* var24 /* : String */;
7056 char* var25 /* : NativeString */;
7057 val* var26 /* : String */;
7058 short int var27 /* : Bool */;
7059 short int var_ /* var : Bool */;
7060 static val* varonce28;
7061 val* var29 /* : String */;
7062 char* var30 /* : NativeString */;
7063 val* var31 /* : String */;
7064 short int var32 /* : Bool */;
7065 short int var33 /* : Bool */;
7066 short int var34 /* : Bool */;
7067 static val* varonce35;
7068 val* var36 /* : String */;
7069 char* var37 /* : NativeString */;
7070 val* var38 /* : String */;
7071 short int var39 /* : Bool */;
7072 short int var_40 /* var : Bool */;
7073 static val* varonce41;
7074 val* var42 /* : String */;
7075 char* var43 /* : NativeString */;
7076 val* var44 /* : String */;
7077 short int var45 /* : Bool */;
7078 short int var46 /* : Bool */;
7079 short int var47 /* : Bool */;
7080 static val* varonce48;
7081 val* var49 /* : String */;
7082 char* var50 /* : NativeString */;
7083 val* var51 /* : String */;
7084 short int var52 /* : Bool */;
7085 short int var_53 /* var : Bool */;
7086 static val* varonce54;
7087 val* var55 /* : String */;
7088 char* var56 /* : NativeString */;
7089 val* var57 /* : String */;
7090 short int var58 /* : Bool */;
7091 short int var59 /* : Bool */;
7092 short int var60 /* : Bool */;
7093 {
7094 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__bytelen]))(self); /* bytelen on <self:Text>*/
7095 }
7096 {
7097 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
7098 var4 = var1 == 0l;
7099 var2 = var4;
7100 goto RET_LABEL3;
7101 RET_LABEL3:(void)0;
7102 }
7103 }
7104 if (var2){
7105 var = 0;
7106 goto RET_LABEL;
7107 } else {
7108 }
7109 {
7110 var6 = (val*)((long)('_')<<2|2);
7111 var5 = core__string_search___Text___remove_all(self, var6);
7112 }
7113 var_s = var5;
7114 var_pos = 0l;
7115 for(;;) {
7116 {
7117 var7 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, var_pos); /* [] on <var_s:String>*/
7118 }
7119 {
7120 { /* Inline kernel#Char#== (var7,'-') on <var7:Char> */
7121 var10 = var7 == '-';
7122 var8 = var10;
7123 goto RET_LABEL9;
7124 RET_LABEL9:(void)0;
7125 }
7126 }
7127 if (var8){
7128 {
7129 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
7130 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7131 /* <1l:Int> isa OTHER */
7132 var13 = 1; /* easy <1l:Int> isa OTHER*/
7133 if (unlikely(!var13)) {
7134 var_class_name = type_core__Int.name;
7135 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7136 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7137 fatal_exit(1);
7138 }
7139 var14 = var_pos + 1l;
7140 var11 = var14;
7141 goto RET_LABEL12;
7142 RET_LABEL12:(void)0;
7143 }
7144 }
7145 var_pos = var11;
7146 } else {
7147 goto BREAK_label;
7148 }
7149 }
7150 BREAK_label: (void)0;
7151 {
7152 var15 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, var_pos); /* substring_from on <var_s:String>*/
7153 }
7154 var_s = var15;
7155 {
7156 var16 = core__fixed_ints___Text___strip_numhead(var_s);
7157 }
7158 var_rets = var16;
7159 if (likely(varonce!=NULL)) {
7160 var17 = varonce;
7161 } else {
7162 var18 = "";
7163 var19 = core__flat___NativeString___to_s_full(var18, 0l, 0l);
7164 var17 = var19;
7165 varonce = var17;
7166 }
7167 {
7168 var20 = ((short int(*)(val* self, val* p0))(var_rets->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_rets, var17); /* == on <var_rets:Text>*/
7169 }
7170 if (var20){
7171 var = 0;
7172 goto RET_LABEL;
7173 } else {
7174 }
7175 {
7176 var21 = core__fixed_ints___Text___get_numhead(self);
7177 }
7178 var_hd = var21;
7179 if (likely(varonce23!=NULL)) {
7180 var24 = varonce23;
7181 } else {
7182 var25 = "0x";
7183 var26 = core__flat___NativeString___to_s_full(var25, 2l, 2l);
7184 var24 = var26;
7185 varonce23 = var24;
7186 }
7187 {
7188 var27 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var24); /* == on <var_hd:Text>*/
7189 }
7190 var_ = var27;
7191 if (var27){
7192 var22 = var_;
7193 } else {
7194 if (likely(varonce28!=NULL)) {
7195 var29 = varonce28;
7196 } else {
7197 var30 = "0X";
7198 var31 = core__flat___NativeString___to_s_full(var30, 2l, 2l);
7199 var29 = var31;
7200 varonce28 = var29;
7201 }
7202 {
7203 var32 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var29); /* == on <var_hd:Text>*/
7204 }
7205 var22 = var32;
7206 }
7207 if (var22){
7208 {
7209 var33 = core___core__Text___is_hex(var_rets);
7210 }
7211 var = var33;
7212 goto RET_LABEL;
7213 } else {
7214 }
7215 if (likely(varonce35!=NULL)) {
7216 var36 = varonce35;
7217 } else {
7218 var37 = "0b";
7219 var38 = core__flat___NativeString___to_s_full(var37, 2l, 2l);
7220 var36 = var38;
7221 varonce35 = var36;
7222 }
7223 {
7224 var39 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var36); /* == on <var_hd:Text>*/
7225 }
7226 var_40 = var39;
7227 if (var39){
7228 var34 = var_40;
7229 } else {
7230 if (likely(varonce41!=NULL)) {
7231 var42 = varonce41;
7232 } else {
7233 var43 = "0B";
7234 var44 = core__flat___NativeString___to_s_full(var43, 2l, 2l);
7235 var42 = var44;
7236 varonce41 = var42;
7237 }
7238 {
7239 var45 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var42); /* == on <var_hd:Text>*/
7240 }
7241 var34 = var45;
7242 }
7243 if (var34){
7244 {
7245 var46 = core___core__Text___is_bin(var_rets);
7246 }
7247 var = var46;
7248 goto RET_LABEL;
7249 } else {
7250 }
7251 if (likely(varonce48!=NULL)) {
7252 var49 = varonce48;
7253 } else {
7254 var50 = "0o";
7255 var51 = core__flat___NativeString___to_s_full(var50, 2l, 2l);
7256 var49 = var51;
7257 varonce48 = var49;
7258 }
7259 {
7260 var52 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var49); /* == on <var_hd:Text>*/
7261 }
7262 var_53 = var52;
7263 if (var52){
7264 var47 = var_53;
7265 } else {
7266 if (likely(varonce54!=NULL)) {
7267 var55 = varonce54;
7268 } else {
7269 var56 = "0O";
7270 var57 = core__flat___NativeString___to_s_full(var56, 2l, 2l);
7271 var55 = var57;
7272 varonce54 = var55;
7273 }
7274 {
7275 var58 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var55); /* == on <var_hd:Text>*/
7276 }
7277 var47 = var58;
7278 }
7279 if (var47){
7280 {
7281 var59 = core___core__Text___is_oct(var_rets);
7282 }
7283 var = var59;
7284 goto RET_LABEL;
7285 } else {
7286 }
7287 {
7288 var60 = core___core__Text___is_dec(var_hd);
7289 }
7290 var = var60;
7291 goto RET_LABEL;
7292 RET_LABEL:;
7293 return var;
7294 }
7295 /* method fixed_ints#Text#to_i for (self: Text): Int */
7296 long core__fixed_ints___Text___to_i(val* self) {
7297 long var /* : Int */;
7298 short int var1 /* : Bool */;
7299 val* var2 /* : String */;
7300 val* var3 /* : Pattern */;
7301 val* var_s /* var s: String */;
7302 long var_val /* var val: Int */;
7303 short int var_neg /* var neg: Bool */;
7304 long var_pos /* var pos: Int */;
7305 uint32_t var4 /* : Char */;
7306 short int var5 /* : Bool */;
7307 short int var7 /* : Bool */;
7308 short int var8 /* : Bool */;
7309 long var9 /* : Int */;
7310 short int var11 /* : Bool */;
7311 int cltype;
7312 int idtype;
7313 const char* var_class_name;
7314 long var12 /* : Int */;
7315 val* var13 /* : Text */;
7316 long var14 /* : Int */;
7317 short int var15 /* : Bool */;
7318 short int var17 /* : Bool */;
7319 int cltype18;
7320 int idtype19;
7321 const char* var_class_name20;
7322 short int var21 /* : Bool */;
7323 uint32_t var22 /* : Char */;
7324 uint32_t var_s1 /* var s1: Char */;
7325 short int var23 /* : Bool */;
7326 short int var24 /* : Bool */;
7327 short int var26 /* : Bool */;
7328 short int var_ /* var : Bool */;
7329 short int var27 /* : Bool */;
7330 short int var29 /* : Bool */;
7331 val* var30 /* : Text */;
7332 long var31 /* : Int */;
7333 short int var32 /* : Bool */;
7334 short int var33 /* : Bool */;
7335 short int var35 /* : Bool */;
7336 short int var_36 /* var : Bool */;
7337 short int var37 /* : Bool */;
7338 short int var39 /* : Bool */;
7339 val* var40 /* : Text */;
7340 long var41 /* : Int */;
7341 short int var42 /* : Bool */;
7342 short int var43 /* : Bool */;
7343 short int var45 /* : Bool */;
7344 short int var_46 /* var : Bool */;
7345 short int var47 /* : Bool */;
7346 short int var49 /* : Bool */;
7347 val* var50 /* : Text */;
7348 long var51 /* : Int */;
7349 short int var52 /* : Bool */;
7350 long var53 /* : Int */;
7351 long var54 /* : Int */;
7352 long var55 /* : Int */;
7353 long var56 /* : Int */;
7354 long var58 /* : Int */;
7355 {
7356 var1 = core__fixed_ints___Text___is_int(self);
7357 }
7358 if (unlikely(!var1)) {
7359 PRINT_ERROR("Runtime error: %s", "Assert failed");
7360 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints, 921);
7361 fatal_exit(1);
7362 }
7363 {
7364 var3 = (val*)((long)('_')<<2|2);
7365 var2 = core__string_search___Text___remove_all(self, var3);
7366 }
7367 var_s = var2;
7368 var_val = 0l;
7369 var_neg = 0;
7370 var_pos = 0l;
7371 for(;;) {
7372 {
7373 var4 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, var_pos); /* [] on <var_s:String>*/
7374 }
7375 {
7376 { /* Inline kernel#Char#== (var4,'-') on <var4:Char> */
7377 var7 = var4 == '-';
7378 var5 = var7;
7379 goto RET_LABEL6;
7380 RET_LABEL6:(void)0;
7381 }
7382 }
7383 if (var5){
7384 var8 = !var_neg;
7385 var_neg = var8;
7386 {
7387 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
7388 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7389 /* <1l:Int> isa OTHER */
7390 var11 = 1; /* easy <1l:Int> isa OTHER*/
7391 if (unlikely(!var11)) {
7392 var_class_name = type_core__Int.name;
7393 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7394 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7395 fatal_exit(1);
7396 }
7397 var12 = var_pos + 1l;
7398 var9 = var12;
7399 goto RET_LABEL10;
7400 RET_LABEL10:(void)0;
7401 }
7402 }
7403 var_pos = var9;
7404 } else {
7405 goto BREAK_label;
7406 }
7407 }
7408 BREAK_label: (void)0;
7409 {
7410 var13 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, var_pos); /* substring_from on <var_s:String>*/
7411 }
7412 var_s = var13;
7413 {
7414 var14 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:String>*/
7415 }
7416 {
7417 { /* Inline kernel#Int#>= (var14,2l) on <var14:Int> */
7418 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
7419 /* <2l:Int> isa OTHER */
7420 var17 = 1; /* easy <2l:Int> isa OTHER*/
7421 if (unlikely(!var17)) {
7422 var_class_name20 = type_core__Int.name;
7423 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
7424 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
7425 fatal_exit(1);
7426 }
7427 var21 = var14 >= 2l;
7428 var15 = var21;
7429 goto RET_LABEL16;
7430 RET_LABEL16:(void)0;
7431 }
7432 }
7433 if (var15){
7434 {
7435 var22 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, 1l); /* [] on <var_s:String>*/
7436 }
7437 var_s1 = var22;
7438 {
7439 { /* Inline kernel#Char#== (var_s1,'x') on <var_s1:Char> */
7440 var26 = var_s1 == 'x';
7441 var24 = var26;
7442 goto RET_LABEL25;
7443 RET_LABEL25:(void)0;
7444 }
7445 }
7446 var_ = var24;
7447 if (var24){
7448 var23 = var_;
7449 } else {
7450 {
7451 { /* Inline kernel#Char#== (var_s1,'X') on <var_s1:Char> */
7452 var29 = var_s1 == 'X';
7453 var27 = var29;
7454 goto RET_LABEL28;
7455 RET_LABEL28:(void)0;
7456 }
7457 }
7458 var23 = var27;
7459 }
7460 if (var23){
7461 {
7462 var30 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
7463 }
7464 {
7465 var31 = ((long(*)(val* self, val* p0, val* p1))(var30->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var30, ((val*)NULL), ((val*)NULL)); /* to_hex on <var30:Text(String)>*/
7466 }
7467 var_val = var31;
7468 } else {
7469 {
7470 { /* Inline kernel#Char#== (var_s1,'o') on <var_s1:Char> */
7471 var35 = var_s1 == 'o';
7472 var33 = var35;
7473 goto RET_LABEL34;
7474 RET_LABEL34:(void)0;
7475 }
7476 }
7477 var_36 = var33;
7478 if (var33){
7479 var32 = var_36;
7480 } else {
7481 {
7482 { /* Inline kernel#Char#== (var_s1,'O') on <var_s1:Char> */
7483 var39 = var_s1 == 'O';
7484 var37 = var39;
7485 goto RET_LABEL38;
7486 RET_LABEL38:(void)0;
7487 }
7488 }
7489 var32 = var37;
7490 }
7491 if (var32){
7492 {
7493 var40 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
7494 }
7495 {
7496 var41 = core___core__Text___to_oct(var40);
7497 }
7498 var_val = var41;
7499 } else {
7500 {
7501 { /* Inline kernel#Char#== (var_s1,'b') on <var_s1:Char> */
7502 var45 = var_s1 == 'b';
7503 var43 = var45;
7504 goto RET_LABEL44;
7505 RET_LABEL44:(void)0;
7506 }
7507 }
7508 var_46 = var43;
7509 if (var43){
7510 var42 = var_46;
7511 } else {
7512 {
7513 { /* Inline kernel#Char#== (var_s1,'B') on <var_s1:Char> */
7514 var49 = var_s1 == 'B';
7515 var47 = var49;
7516 goto RET_LABEL48;
7517 RET_LABEL48:(void)0;
7518 }
7519 }
7520 var42 = var47;
7521 }
7522 if (var42){
7523 {
7524 var50 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
7525 }
7526 {
7527 var51 = core___core__Text___to_bin(var50);
7528 }
7529 var_val = var51;
7530 } else {
7531 {
7532 var52 = core__abstract_text___Char___is_numeric(var_s1);
7533 }
7534 if (var52){
7535 {
7536 var53 = core___core__Text___to_dec(var_s);
7537 }
7538 var_val = var53;
7539 } else {
7540 }
7541 }
7542 }
7543 }
7544 } else {
7545 {
7546 var54 = core___core__Text___to_dec(var_s);
7547 }
7548 var_val = var54;
7549 }
7550 if (var_neg){
7551 {
7552 { /* Inline kernel#Int#unary - (var_val) on <var_val:Int> */
7553 var58 = -var_val;
7554 var56 = var58;
7555 goto RET_LABEL57;
7556 RET_LABEL57:(void)0;
7557 }
7558 }
7559 var55 = var56;
7560 } else {
7561 var55 = var_val;
7562 }
7563 var = var55;
7564 goto RET_LABEL;
7565 RET_LABEL:;
7566 return var;
7567 }
7568 /* method fixed_ints#Text#is_num for (self: Text): Bool */
7569 short int core__fixed_ints___Text___is_num(val* self) {
7570 short int var /* : Bool */;
7571 val* var1 /* : Text */;
7572 val* var_prefix /* var prefix: Text */;
7573 val* var2 /* : Text */;
7574 val* var3 /* : Text */;
7575 val* var4 /* : String */;
7576 val* var5 /* : Pattern */;
7577 val* var_s /* var s: String */;
7578 static val* varonce;
7579 val* var6 /* : String */;
7580 char* var7 /* : NativeString */;
7581 val* var8 /* : String */;
7582 short int var9 /* : Bool */;
7583 val* var_other /* var other: nullable Object */;
7584 short int var11 /* : Bool */;
7585 short int var12 /* : Bool */;
7586 uint32_t var13 /* : Char */;
7587 uint32_t var_c /* var c: Char */;
7588 short int var14 /* : Bool */;
7589 short int var15 /* : Bool */;
7590 short int var17 /* : Bool */;
7591 short int var_ /* var : Bool */;
7592 short int var18 /* : Bool */;
7593 short int var20 /* : Bool */;
7594 short int var21 /* : Bool */;
7595 short int var22 /* : Bool */;
7596 short int var23 /* : Bool */;
7597 short int var25 /* : Bool */;
7598 short int var_26 /* var : Bool */;
7599 short int var27 /* : Bool */;
7600 short int var29 /* : Bool */;
7601 short int var30 /* : Bool */;
7602 short int var31 /* : Bool */;
7603 short int var32 /* : Bool */;
7604 short int var34 /* : Bool */;
7605 short int var_35 /* var : Bool */;
7606 short int var36 /* : Bool */;
7607 short int var38 /* : Bool */;
7608 short int var39 /* : Bool */;
7609 short int var40 /* : Bool */;
7610 {
7611 var1 = core__fixed_ints___Text___get_numhead(self);
7612 }
7613 var_prefix = var1;
7614 {
7615 var2 = core__fixed_ints___Text___strip_numhead(self);
7616 }
7617 {
7618 var3 = core__fixed_ints___Text___strip_numext(var2);
7619 }
7620 {
7621 var5 = (val*)((long)('_')<<2|2);
7622 var4 = core__string_search___Text___remove_all(var3, var5);
7623 }
7624 var_s = var4;
7625 if (likely(varonce!=NULL)) {
7626 var6 = varonce;
7627 } else {
7628 var7 = "";
7629 var8 = core__flat___NativeString___to_s_full(var7, 0l, 0l);
7630 var6 = var8;
7631 varonce = var6;
7632 }
7633 {
7634 { /* Inline kernel#Object#!= (var_prefix,var6) on <var_prefix:Text> */
7635 var_other = var6;
7636 {
7637 var11 = ((short int(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_prefix, var_other); /* == on <var_prefix:Text>*/
7638 }
7639 var12 = !var11;
7640 var9 = var12;
7641 goto RET_LABEL10;
7642 RET_LABEL10:(void)0;
7643 }
7644 }
7645 if (var9){
7646 {
7647 var13 = ((uint32_t(*)(val* self, long p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_prefix, 1l); /* [] on <var_prefix:Text>*/
7648 }
7649 var_c = var13;
7650 {
7651 { /* Inline kernel#Char#== (var_c,'x') on <var_c:Char> */
7652 var17 = var_c == 'x';
7653 var15 = var17;
7654 goto RET_LABEL16;
7655 RET_LABEL16:(void)0;
7656 }
7657 }
7658 var_ = var15;
7659 if (var15){
7660 var14 = var_;
7661 } else {
7662 {
7663 { /* Inline kernel#Char#== (var_c,'X') on <var_c:Char> */
7664 var20 = var_c == 'X';
7665 var18 = var20;
7666 goto RET_LABEL19;
7667 RET_LABEL19:(void)0;
7668 }
7669 }
7670 var14 = var18;
7671 }
7672 if (var14){
7673 {
7674 var21 = core___core__Text___is_hex(var_s);
7675 }
7676 var = var21;
7677 goto RET_LABEL;
7678 } else {
7679 }
7680 {
7681 { /* Inline kernel#Char#== (var_c,'o') on <var_c:Char> */
7682 var25 = var_c == 'o';
7683 var23 = var25;
7684 goto RET_LABEL24;
7685 RET_LABEL24:(void)0;
7686 }
7687 }
7688 var_26 = var23;
7689 if (var23){
7690 var22 = var_26;
7691 } else {
7692 {
7693 { /* Inline kernel#Char#== (var_c,'O') on <var_c:Char> */
7694 var29 = var_c == 'O';
7695 var27 = var29;
7696 goto RET_LABEL28;
7697 RET_LABEL28:(void)0;
7698 }
7699 }
7700 var22 = var27;
7701 }
7702 if (var22){
7703 {
7704 var30 = core___core__Text___is_oct(var_s);
7705 }
7706 var = var30;
7707 goto RET_LABEL;
7708 } else {
7709 }
7710 {
7711 { /* Inline kernel#Char#== (var_c,'b') on <var_c:Char> */
7712 var34 = var_c == 'b';
7713 var32 = var34;
7714 goto RET_LABEL33;
7715 RET_LABEL33:(void)0;
7716 }
7717 }
7718 var_35 = var32;
7719 if (var32){
7720 var31 = var_35;
7721 } else {
7722 {
7723 { /* Inline kernel#Char#== (var_c,'B') on <var_c:Char> */
7724 var38 = var_c == 'B';
7725 var36 = var38;
7726 goto RET_LABEL37;
7727 RET_LABEL37:(void)0;
7728 }
7729 }
7730 var31 = var36;
7731 }
7732 if (var31){
7733 {
7734 var39 = core___core__Text___is_bin(var_s);
7735 }
7736 var = var39;
7737 goto RET_LABEL;
7738 } else {
7739 }
7740 } else {
7741 }
7742 {
7743 var40 = core___core__Text___is_dec(var_s);
7744 }
7745 var = var40;
7746 goto RET_LABEL;
7747 RET_LABEL:;
7748 return var;
7749 }
7750 /* method fixed_ints#Text#to_num for (self: Text): nullable Numeric */
7751 val* core__fixed_ints___Text___to_num(val* self) {
7752 val* var /* : nullable Numeric */;
7753 short int var1 /* : Bool */;
7754 short int var2 /* : Bool */;
7755 val* var3 /* : String */;
7756 val* var4 /* : Pattern */;
7757 val* var_s /* var s: String */;
7758 val* var5 /* : Text */;
7759 val* var_ext /* var ext: Text */;
7760 val* var6 /* : Text */;
7761 val* var_trunk /* var trunk: Text */;
7762 val* var7 /* : Text */;
7763 static val* varonce;
7764 val* var8 /* : String */;
7765 char* var9 /* : NativeString */;
7766 val* var10 /* : String */;
7767 short int var11 /* : Bool */;
7768 long var12 /* : Int */;
7769 long var_trval /* var trval: Int */;
7770 static val* varonce13;
7771 val* var14 /* : String */;
7772 char* var15 /* : NativeString */;
7773 val* var16 /* : String */;
7774 short int var17 /* : Bool */;
7775 unsigned char var18 /* : Byte */;
7776 unsigned char var20 /* : Byte */;
7777 val* var21 /* : nullable Numeric */;
7778 static val* varonce22;
7779 val* var23 /* : String */;
7780 char* var24 /* : NativeString */;
7781 val* var25 /* : String */;
7782 short int var26 /* : Bool */;
7783 int8_t var27 /* : Int8 */;
7784 int8_t var29 /* : Int8 */;
7785 val* var30 /* : nullable Numeric */;
7786 static val* varonce31;
7787 val* var32 /* : String */;
7788 char* var33 /* : NativeString */;
7789 val* var34 /* : String */;
7790 short int var35 /* : Bool */;
7791 int16_t var36 /* : Int16 */;
7792 int16_t var38 /* : Int16 */;
7793 val* var39 /* : nullable Numeric */;
7794 static val* varonce40;
7795 val* var41 /* : String */;
7796 char* var42 /* : NativeString */;
7797 val* var43 /* : String */;
7798 short int var44 /* : Bool */;
7799 uint16_t var45 /* : UInt16 */;
7800 uint16_t var47 /* : UInt16 */;
7801 val* var48 /* : nullable Numeric */;
7802 static val* varonce49;
7803 val* var50 /* : String */;
7804 char* var51 /* : NativeString */;
7805 val* var52 /* : String */;
7806 short int var53 /* : Bool */;
7807 int32_t var54 /* : Int32 */;
7808 int32_t var56 /* : Int32 */;
7809 val* var57 /* : nullable Numeric */;
7810 static val* varonce58;
7811 val* var59 /* : String */;
7812 char* var60 /* : NativeString */;
7813 val* var61 /* : String */;
7814 short int var62 /* : Bool */;
7815 uint32_t var63 /* : UInt32 */;
7816 uint32_t var65 /* : UInt32 */;
7817 val* var66 /* : nullable Numeric */;
7818 static val* varonce67;
7819 val* var68 /* : String */;
7820 char* var69 /* : NativeString */;
7821 val* var70 /* : String */;
7822 short int var71 /* : Bool */;
7823 val* var72 /* : nullable Numeric */;
7824 {
7825 var1 = core__fixed_ints___Text___is_num(self);
7826 }
7827 var2 = !var1;
7828 if (var2){
7829 var = ((val*)NULL);
7830 goto RET_LABEL;
7831 } else {
7832 }
7833 {
7834 var4 = (val*)((long)('_')<<2|2);
7835 var3 = core__string_search___Text___remove_all(self, var4);
7836 }
7837 var_s = var3;
7838 {
7839 var5 = core__fixed_ints___Text___get_numext(var_s);
7840 }
7841 var_ext = var5;
7842 {
7843 var6 = core__fixed_ints___Text___strip_numext(var_s);
7844 }
7845 var_trunk = var6;
7846 {
7847 var7 = core__fixed_ints___Text___strip_numhead(var_trunk);
7848 }
7849 if (likely(varonce!=NULL)) {
7850 var8 = varonce;
7851 } else {
7852 var9 = "";
7853 var10 = core__flat___NativeString___to_s_full(var9, 0l, 0l);
7854 var8 = var10;
7855 varonce = var8;
7856 }
7857 {
7858 var11 = ((short int(*)(val* self, val* p0))(var7->class->vft[COLOR_core__kernel__Object___61d_61d]))(var7, var8); /* == on <var7:Text>*/
7859 }
7860 if (var11){
7861 var = ((val*)NULL);
7862 goto RET_LABEL;
7863 } else {
7864 }
7865 {
7866 var12 = core__fixed_ints___Text___to_i(var_trunk);
7867 }
7868 var_trval = var12;
7869 if (likely(varonce13!=NULL)) {
7870 var14 = varonce13;
7871 } else {
7872 var15 = "u8";
7873 var16 = core__flat___NativeString___to_s_full(var15, 2l, 2l);
7874 var14 = var16;
7875 varonce13 = var14;
7876 }
7877 {
7878 var17 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var14); /* == on <var_ext:Text>*/
7879 }
7880 if (var17){
7881 {
7882 { /* Inline kernel#Int#to_b (var_trval) on <var_trval:Int> */
7883 var20 = (unsigned char)var_trval;
7884 var18 = var20;
7885 goto RET_LABEL19;
7886 RET_LABEL19:(void)0;
7887 }
7888 }
7889 var21 = BOX_core__Byte(var18); /* autobox from Byte to nullable Numeric */
7890 var = var21;
7891 goto RET_LABEL;
7892 } else {
7893 if (likely(varonce22!=NULL)) {
7894 var23 = varonce22;
7895 } else {
7896 var24 = "i8";
7897 var25 = core__flat___NativeString___to_s_full(var24, 2l, 2l);
7898 var23 = var25;
7899 varonce22 = var23;
7900 }
7901 {
7902 var26 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var23); /* == on <var_ext:Text>*/
7903 }
7904 if (var26){
7905 {
7906 { /* Inline fixed_ints#Int#to_i8 (var_trval) on <var_trval:Int> */
7907 var29 = (int8_t)var_trval;
7908 var27 = var29;
7909 goto RET_LABEL28;
7910 RET_LABEL28:(void)0;
7911 }
7912 }
7913 var30 = BOX_core__Int8(var27); /* autobox from Int8 to nullable Numeric */
7914 var = var30;
7915 goto RET_LABEL;
7916 } else {
7917 if (likely(varonce31!=NULL)) {
7918 var32 = varonce31;
7919 } else {
7920 var33 = "i16";
7921 var34 = core__flat___NativeString___to_s_full(var33, 3l, 3l);
7922 var32 = var34;
7923 varonce31 = var32;
7924 }
7925 {
7926 var35 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var32); /* == on <var_ext:Text>*/
7927 }
7928 if (var35){
7929 {
7930 { /* Inline fixed_ints#Int#to_i16 (var_trval) on <var_trval:Int> */
7931 var38 = (int16_t)var_trval;
7932 var36 = var38;
7933 goto RET_LABEL37;
7934 RET_LABEL37:(void)0;
7935 }
7936 }
7937 var39 = BOX_core__Int16(var36); /* autobox from Int16 to nullable Numeric */
7938 var = var39;
7939 goto RET_LABEL;
7940 } else {
7941 if (likely(varonce40!=NULL)) {
7942 var41 = varonce40;
7943 } else {
7944 var42 = "u16";
7945 var43 = core__flat___NativeString___to_s_full(var42, 3l, 3l);
7946 var41 = var43;
7947 varonce40 = var41;
7948 }
7949 {
7950 var44 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var41); /* == on <var_ext:Text>*/
7951 }
7952 if (var44){
7953 {
7954 { /* Inline fixed_ints#Int#to_u16 (var_trval) on <var_trval:Int> */
7955 var47 = (uint16_t)var_trval;
7956 var45 = var47;
7957 goto RET_LABEL46;
7958 RET_LABEL46:(void)0;
7959 }
7960 }
7961 var48 = BOX_core__UInt16(var45); /* autobox from UInt16 to nullable Numeric */
7962 var = var48;
7963 goto RET_LABEL;
7964 } else {
7965 if (likely(varonce49!=NULL)) {
7966 var50 = varonce49;
7967 } else {
7968 var51 = "i32";
7969 var52 = core__flat___NativeString___to_s_full(var51, 3l, 3l);
7970 var50 = var52;
7971 varonce49 = var50;
7972 }
7973 {
7974 var53 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var50); /* == on <var_ext:Text>*/
7975 }
7976 if (var53){
7977 {
7978 { /* Inline fixed_ints#Int#to_i32 (var_trval) on <var_trval:Int> */
7979 var56 = (int32_t)var_trval;
7980 var54 = var56;
7981 goto RET_LABEL55;
7982 RET_LABEL55:(void)0;
7983 }
7984 }
7985 var57 = BOX_core__Int32(var54); /* autobox from Int32 to nullable Numeric */
7986 var = var57;
7987 goto RET_LABEL;
7988 } else {
7989 if (likely(varonce58!=NULL)) {
7990 var59 = varonce58;
7991 } else {
7992 var60 = "u32";
7993 var61 = core__flat___NativeString___to_s_full(var60, 3l, 3l);
7994 var59 = var61;
7995 varonce58 = var59;
7996 }
7997 {
7998 var62 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var59); /* == on <var_ext:Text>*/
7999 }
8000 if (var62){
8001 {
8002 { /* Inline fixed_ints#Int#to_u32 (var_trval) on <var_trval:Int> */
8003 var65 = (uint32_t)var_trval;
8004 var63 = var65;
8005 goto RET_LABEL64;
8006 RET_LABEL64:(void)0;
8007 }
8008 }
8009 var66 = BOX_core__UInt32(var63); /* autobox from UInt32 to nullable Numeric */
8010 var = var66;
8011 goto RET_LABEL;
8012 } else {
8013 if (likely(varonce67!=NULL)) {
8014 var68 = varonce67;
8015 } else {
8016 var69 = "";
8017 var70 = core__flat___NativeString___to_s_full(var69, 0l, 0l);
8018 var68 = var70;
8019 varonce67 = var68;
8020 }
8021 {
8022 var71 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var68); /* == on <var_ext:Text>*/
8023 }
8024 if (var71){
8025 var72 = (val*)(var_trval<<2|1);
8026 var = var72;
8027 goto RET_LABEL;
8028 } else {
8029 var = ((val*)NULL);
8030 goto RET_LABEL;
8031 }
8032 }
8033 }
8034 }
8035 }
8036 }
8037 }
8038 RET_LABEL:;
8039 return var;
8040 }