README: document nit_env.sh
[nit.git] / c_src / standard__kernel.sep.1.c
1 #include "standard__kernel.sep.0.h"
2 /* method kernel#Object#object_id for (self: Object): Int */
3 long standard___standard__Object___object_id(val* self) {
4 long var /* : Int */;
5 long var1 /* : Int */;
6 var1 = (long)self;
7 var = var1;
8 goto RET_LABEL;
9 RET_LABEL:;
10 return var;
11 }
12 /* method kernel#Object#is_same_instance for (self: Object, nullable Object): Bool */
13 short int standard___standard__Object___is_same_instance(val* self, val* p0) {
14 short int var /* : Bool */;
15 short int var1 /* : Bool */;
16 var1 = self == p0 || (p0 != NULL && (!((long)self&3)) && (!((long)p0&3)) && self->class == p0->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)p0)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)p0)->value)));
17 var = var1;
18 goto RET_LABEL;
19 RET_LABEL:;
20 return var;
21 }
22 /* method kernel#Object#== for (self: Object, nullable Object): Bool */
23 short int standard___standard__Object____61d_61d(val* self, val* p0) {
24 short int var /* : Bool */;
25 val* var_other /* var other: nullable Object */;
26 short int var1 /* : Bool */;
27 short int var3 /* : Bool */;
28 var_other = p0;
29 {
30 { /* Inline kernel#Object#is_same_instance (self,var_other) on <self:Object> */
31 var3 = self == var_other || (var_other != NULL && (!((long)self&3)) && (!((long)var_other&3)) && self->class == var_other->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)var_other)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)var_other)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)var_other)->value)));
32 var1 = var3;
33 goto RET_LABEL2;
34 RET_LABEL2:(void)0;
35 }
36 }
37 var = var1;
38 goto RET_LABEL;
39 RET_LABEL:;
40 return var;
41 }
42 /* method kernel#Object#!= for (self: Object, nullable Object): Bool */
43 short int standard___standard__Object____33d_61d(val* self, val* p0) {
44 short int var /* : Bool */;
45 val* var_other /* var other: nullable Object */;
46 short int var1 /* : Bool */;
47 short int var2 /* : Bool */;
48 var_other = p0;
49 {
50 var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(self, var_other); /* == on <self:Object>*/
51 }
52 var2 = !var1;
53 var = var2;
54 goto RET_LABEL;
55 RET_LABEL:;
56 return var;
57 }
58 /* method kernel#Object#hash for (self: Object): Int */
59 long standard___standard__Object___hash(val* self) {
60 long var /* : Int */;
61 long var1 /* : Int */;
62 long var2 /* : Int */;
63 short int var4 /* : Bool */;
64 int cltype;
65 int idtype;
66 const char* var_class_name;
67 long var5 /* : Int */;
68 {
69 var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object__object_id]))(self); /* object_id on <self:Object>*/
70 }
71 {
72 { /* Inline kernel#Int#/ (var1,8l) on <var1:Int> */
73 /* Covariant cast for argument 0 (i) <8l:Int> isa OTHER */
74 /* <8l:Int> isa OTHER */
75 var4 = 1; /* easy <8l:Int> isa OTHER*/
76 if (unlikely(!var4)) {
77 var_class_name = type_standard__Int.name;
78 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
79 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
80 fatal_exit(1);
81 }
82 var5 = var1 / 8l;
83 var2 = var5;
84 goto RET_LABEL3;
85 RET_LABEL3:(void)0;
86 }
87 }
88 var = var2;
89 goto RET_LABEL;
90 RET_LABEL:;
91 return var;
92 }
93 /* method kernel#Object#sys for (self: Object): Sys */
94 val* standard___standard__Object___sys(val* self) {
95 val* var /* : Sys */;
96 val* var1 /* : Sys */;
97 var1 = glob_sys;
98 var = var1;
99 goto RET_LABEL;
100 RET_LABEL:;
101 return var;
102 }
103 /* method kernel#Object#init for (self: Object) */
104 void standard___standard__Object___init(val* self) {
105 RET_LABEL:;
106 }
107 /* method kernel#Sys#run for (self: Sys) */
108 void standard___standard__Sys___run(val* self) {
109 {
110 nit__abstract_compiler___standard__Sys___main(self); /* Direct call abstract_compiler#Sys#main on <self:Sys>*/
111 }
112 RET_LABEL:;
113 }
114 /* method kernel#Sys#errno for (self: Sys): Int */
115 long standard___standard__Sys___errno(val* self) {
116 long var /* : Int */;
117 long var1 /* : Int for extern */;
118 var1 = sys_errno(self);
119 var = var1;
120 goto RET_LABEL;
121 RET_LABEL:;
122 return var;
123 }
124 /* method kernel#Sys#exit for (self: Sys, Int) */
125 void standard___standard__Sys___exit(val* self, long p0) {
126 exit(p0);
127 RET_LABEL:;
128 }
129 /* method kernel#Comparable#<= for (self: Comparable, Comparable): Bool */
130 short int standard___standard__Comparable____60d_61d(val* self, val* p0) {
131 short int var /* : Bool */;
132 short int var1 /* : Bool */;
133 int cltype;
134 int idtype;
135 const struct type* type_struct;
136 const char* var_class_name;
137 val* var_other /* var other: Comparable */;
138 short int var2 /* : Bool */;
139 short int var3 /* : Bool */;
140 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
141 /* <p0:Comparable> isa OTHER */
142 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
143 cltype = type_struct->color;
144 idtype = type_struct->id;
145 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
146 var1 = 0;
147 } else {
148 var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
149 }
150 if (unlikely(!var1)) {
151 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
152 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
153 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 133);
154 fatal_exit(1);
155 }
156 var_other = p0;
157 {
158 var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
159 }
160 var3 = !var2;
161 var = var3;
162 goto RET_LABEL;
163 RET_LABEL:;
164 return var;
165 }
166 /* method kernel#Comparable#>= for (self: Comparable, Comparable): Bool */
167 short int standard___standard__Comparable____62d_61d(val* self, val* p0) {
168 short int var /* : Bool */;
169 short int var1 /* : Bool */;
170 int cltype;
171 int idtype;
172 const struct type* type_struct;
173 const char* var_class_name;
174 val* var_other /* var other: Comparable */;
175 short int var2 /* : Bool */;
176 short int var3 /* : Bool */;
177 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
178 /* <p0:Comparable> isa OTHER */
179 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
180 cltype = type_struct->color;
181 idtype = type_struct->id;
182 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
183 var1 = 0;
184 } else {
185 var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
186 }
187 if (unlikely(!var1)) {
188 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
190 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 137);
191 fatal_exit(1);
192 }
193 var_other = p0;
194 {
195 var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
196 }
197 var3 = !var2;
198 var = var3;
199 goto RET_LABEL;
200 RET_LABEL:;
201 return var;
202 }
203 /* method kernel#Comparable#> for (self: Comparable, Comparable): Bool */
204 short int standard___standard__Comparable____62d(val* self, val* p0) {
205 short int var /* : Bool */;
206 short int var1 /* : Bool */;
207 int cltype;
208 int idtype;
209 const struct type* type_struct;
210 const char* var_class_name;
211 val* var_other /* var other: Comparable */;
212 short int var2 /* : Bool */;
213 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
214 /* <p0:Comparable> isa OTHER */
215 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
216 cltype = type_struct->color;
217 idtype = type_struct->id;
218 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
219 var1 = 0;
220 } else {
221 var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
222 }
223 if (unlikely(!var1)) {
224 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
226 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 141);
227 fatal_exit(1);
228 }
229 var_other = p0;
230 {
231 var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
232 }
233 var = var2;
234 goto RET_LABEL;
235 RET_LABEL:;
236 return var;
237 }
238 /* method kernel#Comparable#<=> for (self: Comparable, Comparable): Int */
239 long standard___standard__Comparable____60d_61d_62d(val* self, val* p0) {
240 long var /* : Int */;
241 short int var1 /* : Bool */;
242 int cltype;
243 int idtype;
244 const struct type* type_struct;
245 const char* var_class_name;
246 val* var_other /* var other: Comparable */;
247 short int var2 /* : Bool */;
248 long var3 /* : Int */;
249 long var5 /* : Int */;
250 short int var6 /* : Bool */;
251 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
252 /* <p0:Comparable> isa OTHER */
253 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
254 cltype = type_struct->color;
255 idtype = type_struct->id;
256 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
257 var1 = 0;
258 } else {
259 var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
260 }
261 if (unlikely(!var1)) {
262 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
264 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 144);
265 fatal_exit(1);
266 }
267 var_other = p0;
268 {
269 var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
270 }
271 if (var2){
272 {
273 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
274 var5 = -1l;
275 var3 = var5;
276 goto RET_LABEL4;
277 RET_LABEL4:(void)0;
278 }
279 }
280 var = var3;
281 goto RET_LABEL;
282 } else {
283 {
284 var6 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
285 }
286 if (var6){
287 var = 1l;
288 goto RET_LABEL;
289 } else {
290 var = 0l;
291 goto RET_LABEL;
292 }
293 }
294 RET_LABEL:;
295 return var;
296 }
297 /* method kernel#Bool#object_id for (self: Bool): Int */
298 long standard___standard__Bool___Object__object_id(short int self) {
299 long var /* : Int */;
300 long var1 /* : Int */;
301 var1 = (long)self;
302 var = var1;
303 goto RET_LABEL;
304 RET_LABEL:;
305 return var;
306 }
307 /* method kernel#Bool#object_id for (self: Object): Int */
308 long VIRTUAL_standard___standard__Bool___Object__object_id(val* self) {
309 long var /* : Int */;
310 long var1 /* : Int */;
311 short int var3 /* : Bool */;
312 long var4 /* : Int */;
313 { /* Inline kernel#Bool#object_id (self) on <self:Object(Bool)> */
314 var3 = (short int)((long)(self)>>2);
315 var4 = (long)var3;
316 var1 = var4;
317 goto RET_LABEL2;
318 RET_LABEL2:(void)0;
319 }
320 var = var1;
321 RET_LABEL:;
322 return var;
323 }
324 /* method kernel#Bool#== for (self: Bool, nullable Object): Bool */
325 short int standard___standard__Bool___Object___61d_61d(short int self, val* p0) {
326 short int var /* : Bool */;
327 short int var1 /* : Bool */;
328 short int var2 /* : Bool */;
329 var2 = (short int)((long)(p0)>>2);
330 var1 = (p0 != NULL) && (var2 == self);
331 var = var1;
332 goto RET_LABEL;
333 RET_LABEL:;
334 return var;
335 }
336 /* method kernel#Bool#== for (self: Object, nullable Object): Bool */
337 short int VIRTUAL_standard___standard__Bool___Object___61d_61d(val* self, val* p0) {
338 short int var /* : Bool */;
339 short int var1 /* : Bool */;
340 short int var3 /* : Bool */;
341 { /* Inline kernel#Bool#== (self,p0) on <self:Object(Bool)> */
342 var3 = self == p0;
343 var1 = var3;
344 goto RET_LABEL2;
345 RET_LABEL2:(void)0;
346 }
347 var = var1;
348 RET_LABEL:;
349 return var;
350 }
351 /* method kernel#Bool#!= for (self: Bool, nullable Object): Bool */
352 short int standard___standard__Bool___Object___33d_61d(short int self, val* p0) {
353 short int var /* : Bool */;
354 short int var1 /* : Bool */;
355 short int var2 /* : Bool */;
356 short int var3 /* : Bool */;
357 var2 = (short int)((long)(p0)>>2);
358 var1 = (p0 != NULL) && (var2 == self);
359 var3 = !var1;
360 var = var3;
361 goto RET_LABEL;
362 RET_LABEL:;
363 return var;
364 }
365 /* method kernel#Bool#!= for (self: Object, nullable Object): Bool */
366 short int VIRTUAL_standard___standard__Bool___Object___33d_61d(val* self, val* p0) {
367 short int var /* : Bool */;
368 short int var1 /* : Bool */;
369 short int var3 /* : Bool */;
370 short int var4 /* : Bool */;
371 { /* Inline kernel#Bool#!= (self,p0) on <self:Object(Bool)> */
372 var3 = self == p0;
373 var4 = !var3;
374 var1 = var4;
375 goto RET_LABEL2;
376 RET_LABEL2:(void)0;
377 }
378 var = var1;
379 RET_LABEL:;
380 return var;
381 }
382 /* method kernel#Bool#hash for (self: Bool): Int */
383 long standard___standard__Bool___Object__hash(short int self) {
384 long var /* : Int */;
385 long var1 /* : Int */;
386 {
387 var1 = standard___standard__Bool___to_i(self);
388 }
389 var = var1;
390 goto RET_LABEL;
391 RET_LABEL:;
392 return var;
393 }
394 /* method kernel#Bool#hash for (self: Object): Int */
395 long VIRTUAL_standard___standard__Bool___Object__hash(val* self) {
396 long var /* : Int */;
397 long var1 /* : Int */;
398 short int var2 /* : Bool */;
399 var2 = (short int)((long)(self)>>2);
400 var1 = standard___standard__Bool___Object__hash(var2);
401 var = var1;
402 RET_LABEL:;
403 return var;
404 }
405 /* method kernel#Bool#to_i for (self: Bool): Int */
406 long standard___standard__Bool___to_i(short int self) {
407 long var /* : Int */;
408 if (self){
409 var = 1l;
410 goto RET_LABEL;
411 } else {
412 var = 0l;
413 goto RET_LABEL;
414 }
415 RET_LABEL:;
416 return var;
417 }
418 /* method kernel#Float#object_id for (self: Float): Int */
419 long standard___standard__Float___Object__object_id(double self) {
420 long var /* : Int */;
421 long var1 /* : Int */;
422 var1 = (double)self;
423 var = var1;
424 goto RET_LABEL;
425 RET_LABEL:;
426 return var;
427 }
428 /* method kernel#Float#object_id for (self: Object): Int */
429 long VIRTUAL_standard___standard__Float___Object__object_id(val* self) {
430 long var /* : Int */;
431 long var1 /* : Int */;
432 double var3 /* : Float */;
433 long var4 /* : Int */;
434 { /* Inline kernel#Float#object_id (self) on <self:Object(Float)> */
435 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Object to Float */;
436 var4 = (double)var3;
437 var1 = var4;
438 goto RET_LABEL2;
439 RET_LABEL2:(void)0;
440 }
441 var = var1;
442 RET_LABEL:;
443 return var;
444 }
445 /* method kernel#Float#== for (self: Float, nullable Object): Bool */
446 short int standard___standard__Float___Object___61d_61d(double self, val* p0) {
447 short int var /* : Bool */;
448 short int var1 /* : Bool */;
449 double var2 /* : Float */;
450 var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
451 if (var1) {
452 var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
453 var1 = (var2 == self);
454 }
455 var = var1;
456 goto RET_LABEL;
457 RET_LABEL:;
458 return var;
459 }
460 /* method kernel#Float#== for (self: Object, nullable Object): Bool */
461 short int VIRTUAL_standard___standard__Float___Object___61d_61d(val* self, val* p0) {
462 short int var /* : Bool */;
463 short int var1 /* : Bool */;
464 short int var3 /* : Bool */;
465 { /* Inline kernel#Float#== (self,p0) on <self:Object(Float)> */
466 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
467 var1 = var3;
468 goto RET_LABEL2;
469 RET_LABEL2:(void)0;
470 }
471 var = var1;
472 RET_LABEL:;
473 return var;
474 }
475 /* method kernel#Float#!= for (self: Float, nullable Object): Bool */
476 short int standard___standard__Float___Object___33d_61d(double self, val* p0) {
477 short int var /* : Bool */;
478 short int var1 /* : Bool */;
479 double var2 /* : Float */;
480 short int var3 /* : Bool */;
481 var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
482 if (var1) {
483 var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
484 var1 = (var2 == self);
485 }
486 var3 = !var1;
487 var = var3;
488 goto RET_LABEL;
489 RET_LABEL:;
490 return var;
491 }
492 /* method kernel#Float#!= for (self: Object, nullable Object): Bool */
493 short int VIRTUAL_standard___standard__Float___Object___33d_61d(val* self, val* p0) {
494 short int var /* : Bool */;
495 short int var1 /* : Bool */;
496 short int var3 /* : Bool */;
497 short int var4 /* : Bool */;
498 { /* Inline kernel#Float#!= (self,p0) on <self:Object(Float)> */
499 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
500 var4 = !var3;
501 var1 = var4;
502 goto RET_LABEL2;
503 RET_LABEL2:(void)0;
504 }
505 var = var1;
506 RET_LABEL:;
507 return var;
508 }
509 /* method kernel#Float#<= for (self: Float, Float): Bool */
510 short int standard___standard__Float___Comparable___60d_61d(double self, double p0) {
511 short int var /* : Bool */;
512 short int var1 /* : Bool */;
513 int cltype;
514 int idtype;
515 const char* var_class_name;
516 short int var2 /* : Bool */;
517 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
518 /* <p0:Float> isa OTHER */
519 var1 = 1; /* easy <p0:Float> isa OTHER*/
520 if (unlikely(!var1)) {
521 var_class_name = type_standard__Float.name;
522 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
523 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340);
524 fatal_exit(1);
525 }
526 var2 = self <= p0;
527 var = var2;
528 goto RET_LABEL;
529 RET_LABEL:;
530 return var;
531 }
532 /* method kernel#Float#<= for (self: Comparable, Comparable): Bool */
533 short int VIRTUAL_standard___standard__Float___Comparable___60d_61d(val* self, val* p0) {
534 short int var /* : Bool */;
535 short int var1 /* : Bool */;
536 short int var3 /* : Bool */;
537 int cltype;
538 int idtype;
539 const struct type* type_struct;
540 const char* var_class_name;
541 double var4 /* : Float */;
542 double var5 /* : Float */;
543 short int var6 /* : Bool */;
544 { /* Inline kernel#Float#<= (self,p0) on <self:Comparable(Float)> */
545 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
546 /* <p0:Comparable> isa OTHER */
547 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
548 cltype = type_struct->color;
549 idtype = type_struct->id;
550 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
551 var3 = 0;
552 } else {
553 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
554 }
555 if (unlikely(!var3)) {
556 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
557 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
558 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340);
559 fatal_exit(1);
560 }
561 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
562 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
563 var6 = var4 <= var5;
564 var1 = var6;
565 goto RET_LABEL2;
566 RET_LABEL2:(void)0;
567 }
568 var = var1;
569 RET_LABEL:;
570 return var;
571 }
572 /* method kernel#Float#< for (self: Float, Float): Bool */
573 short int standard___standard__Float___Comparable___60d(double self, double p0) {
574 short int var /* : Bool */;
575 short int var1 /* : Bool */;
576 int cltype;
577 int idtype;
578 const char* var_class_name;
579 short int var2 /* : Bool */;
580 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
581 /* <p0:Float> isa OTHER */
582 var1 = 1; /* easy <p0:Float> isa OTHER*/
583 if (unlikely(!var1)) {
584 var_class_name = type_standard__Float.name;
585 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
586 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
587 fatal_exit(1);
588 }
589 var2 = self < p0;
590 var = var2;
591 goto RET_LABEL;
592 RET_LABEL:;
593 return var;
594 }
595 /* method kernel#Float#< for (self: Comparable, Comparable): Bool */
596 short int VIRTUAL_standard___standard__Float___Comparable___60d(val* self, val* p0) {
597 short int var /* : Bool */;
598 short int var1 /* : Bool */;
599 short int var3 /* : Bool */;
600 int cltype;
601 int idtype;
602 const struct type* type_struct;
603 const char* var_class_name;
604 double var4 /* : Float */;
605 double var5 /* : Float */;
606 short int var6 /* : Bool */;
607 { /* Inline kernel#Float#< (self,p0) on <self:Comparable(Float)> */
608 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
609 /* <p0:Comparable> isa OTHER */
610 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
611 cltype = type_struct->color;
612 idtype = type_struct->id;
613 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
614 var3 = 0;
615 } else {
616 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
617 }
618 if (unlikely(!var3)) {
619 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
620 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
621 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
622 fatal_exit(1);
623 }
624 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
625 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
626 var6 = var4 < var5;
627 var1 = var6;
628 goto RET_LABEL2;
629 RET_LABEL2:(void)0;
630 }
631 var = var1;
632 RET_LABEL:;
633 return var;
634 }
635 /* method kernel#Float#>= for (self: Float, Float): Bool */
636 short int standard___standard__Float___Comparable___62d_61d(double self, double p0) {
637 short int var /* : Bool */;
638 short int var1 /* : Bool */;
639 int cltype;
640 int idtype;
641 const char* var_class_name;
642 short int var2 /* : Bool */;
643 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
644 /* <p0:Float> isa OTHER */
645 var1 = 1; /* easy <p0:Float> isa OTHER*/
646 if (unlikely(!var1)) {
647 var_class_name = type_standard__Float.name;
648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
649 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342);
650 fatal_exit(1);
651 }
652 var2 = self >= p0;
653 var = var2;
654 goto RET_LABEL;
655 RET_LABEL:;
656 return var;
657 }
658 /* method kernel#Float#>= for (self: Comparable, Comparable): Bool */
659 short int VIRTUAL_standard___standard__Float___Comparable___62d_61d(val* self, val* p0) {
660 short int var /* : Bool */;
661 short int var1 /* : Bool */;
662 short int var3 /* : Bool */;
663 int cltype;
664 int idtype;
665 const struct type* type_struct;
666 const char* var_class_name;
667 double var4 /* : Float */;
668 double var5 /* : Float */;
669 short int var6 /* : Bool */;
670 { /* Inline kernel#Float#>= (self,p0) on <self:Comparable(Float)> */
671 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
672 /* <p0:Comparable> isa OTHER */
673 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
674 cltype = type_struct->color;
675 idtype = type_struct->id;
676 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
677 var3 = 0;
678 } else {
679 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
680 }
681 if (unlikely(!var3)) {
682 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
683 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
684 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342);
685 fatal_exit(1);
686 }
687 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
688 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
689 var6 = var4 >= var5;
690 var1 = var6;
691 goto RET_LABEL2;
692 RET_LABEL2:(void)0;
693 }
694 var = var1;
695 RET_LABEL:;
696 return var;
697 }
698 /* method kernel#Float#> for (self: Float, Float): Bool */
699 short int standard___standard__Float___Comparable___62d(double self, double p0) {
700 short int var /* : Bool */;
701 short int var1 /* : Bool */;
702 int cltype;
703 int idtype;
704 const char* var_class_name;
705 short int var2 /* : Bool */;
706 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
707 /* <p0:Float> isa OTHER */
708 var1 = 1; /* easy <p0:Float> isa OTHER*/
709 if (unlikely(!var1)) {
710 var_class_name = type_standard__Float.name;
711 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
712 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343);
713 fatal_exit(1);
714 }
715 var2 = self > p0;
716 var = var2;
717 goto RET_LABEL;
718 RET_LABEL:;
719 return var;
720 }
721 /* method kernel#Float#> for (self: Comparable, Comparable): Bool */
722 short int VIRTUAL_standard___standard__Float___Comparable___62d(val* self, val* p0) {
723 short int var /* : Bool */;
724 short int var1 /* : Bool */;
725 short int var3 /* : Bool */;
726 int cltype;
727 int idtype;
728 const struct type* type_struct;
729 const char* var_class_name;
730 double var4 /* : Float */;
731 double var5 /* : Float */;
732 short int var6 /* : Bool */;
733 { /* Inline kernel#Float#> (self,p0) on <self:Comparable(Float)> */
734 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
735 /* <p0:Comparable> isa OTHER */
736 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
737 cltype = type_struct->color;
738 idtype = type_struct->id;
739 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
740 var3 = 0;
741 } else {
742 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
743 }
744 if (unlikely(!var3)) {
745 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
746 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
747 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343);
748 fatal_exit(1);
749 }
750 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
751 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
752 var6 = var4 > var5;
753 var1 = var6;
754 goto RET_LABEL2;
755 RET_LABEL2:(void)0;
756 }
757 var = var1;
758 RET_LABEL:;
759 return var;
760 }
761 /* method kernel#Float#+ for (self: Float, Float): Float */
762 double standard___standard__Float___Numeric___43d(double self, double p0) {
763 double var /* : Float */;
764 short int var1 /* : Bool */;
765 int cltype;
766 int idtype;
767 const char* var_class_name;
768 double var2 /* : Float */;
769 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
770 /* <p0:Float> isa OTHER */
771 var1 = 1; /* easy <p0:Float> isa OTHER*/
772 if (unlikely(!var1)) {
773 var_class_name = type_standard__Float.name;
774 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
775 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345);
776 fatal_exit(1);
777 }
778 var2 = self + p0;
779 var = var2;
780 goto RET_LABEL;
781 RET_LABEL:;
782 return var;
783 }
784 /* method kernel#Float#+ for (self: Numeric, Numeric): Numeric */
785 val* VIRTUAL_standard___standard__Float___Numeric___43d(val* self, val* p0) {
786 val* var /* : Numeric */;
787 double var1 /* : Float */;
788 short int var3 /* : Bool */;
789 int cltype;
790 int idtype;
791 const struct type* type_struct;
792 const char* var_class_name;
793 double var4 /* : Float */;
794 double var5 /* : Float */;
795 double var6 /* : Float */;
796 val* var7 /* : Numeric */;
797 { /* Inline kernel#Float#+ (self,p0) on <self:Numeric(Float)> */
798 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
799 /* <p0:Numeric> isa OTHER */
800 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
801 cltype = type_struct->color;
802 idtype = type_struct->id;
803 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
804 var3 = 0;
805 } else {
806 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
807 }
808 if (unlikely(!var3)) {
809 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
811 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345);
812 fatal_exit(1);
813 }
814 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
815 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
816 var6 = var4 + var5;
817 var1 = var6;
818 goto RET_LABEL2;
819 RET_LABEL2:(void)0;
820 }
821 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
822 var = var7;
823 RET_LABEL:;
824 return var;
825 }
826 /* method kernel#Float#unary - for (self: Float): Float */
827 double standard___standard__Float___Numeric__unary_32d_45d(double self) {
828 double var /* : Float */;
829 double var1 /* : Float */;
830 var1 = -self;
831 var = var1;
832 goto RET_LABEL;
833 RET_LABEL:;
834 return var;
835 }
836 /* method kernel#Float#unary - for (self: Numeric): Numeric */
837 val* VIRTUAL_standard___standard__Float___Numeric__unary_32d_45d(val* self) {
838 val* var /* : Numeric */;
839 double var1 /* : Float */;
840 double var3 /* : Float */;
841 double var4 /* : Float */;
842 val* var5 /* : Numeric */;
843 { /* Inline kernel#Float#unary - (self) on <self:Numeric(Float)> */
844 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
845 var4 = -var3;
846 var1 = var4;
847 goto RET_LABEL2;
848 RET_LABEL2:(void)0;
849 }
850 var5 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
851 var = var5;
852 RET_LABEL:;
853 return var;
854 }
855 /* method kernel#Float#- for (self: Float, Float): Float */
856 double standard___standard__Float___Numeric___45d(double self, double p0) {
857 double var /* : Float */;
858 short int var1 /* : Bool */;
859 int cltype;
860 int idtype;
861 const char* var_class_name;
862 double var2 /* : Float */;
863 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
864 /* <p0:Float> isa OTHER */
865 var1 = 1; /* easy <p0:Float> isa OTHER*/
866 if (unlikely(!var1)) {
867 var_class_name = type_standard__Float.name;
868 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
869 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347);
870 fatal_exit(1);
871 }
872 var2 = self - p0;
873 var = var2;
874 goto RET_LABEL;
875 RET_LABEL:;
876 return var;
877 }
878 /* method kernel#Float#- for (self: Numeric, Numeric): Numeric */
879 val* VIRTUAL_standard___standard__Float___Numeric___45d(val* self, val* p0) {
880 val* var /* : Numeric */;
881 double var1 /* : Float */;
882 short int var3 /* : Bool */;
883 int cltype;
884 int idtype;
885 const struct type* type_struct;
886 const char* var_class_name;
887 double var4 /* : Float */;
888 double var5 /* : Float */;
889 double var6 /* : Float */;
890 val* var7 /* : Numeric */;
891 { /* Inline kernel#Float#- (self,p0) on <self:Numeric(Float)> */
892 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
893 /* <p0:Numeric> isa OTHER */
894 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
895 cltype = type_struct->color;
896 idtype = type_struct->id;
897 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
898 var3 = 0;
899 } else {
900 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
901 }
902 if (unlikely(!var3)) {
903 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
904 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
905 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347);
906 fatal_exit(1);
907 }
908 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
909 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
910 var6 = var4 - var5;
911 var1 = var6;
912 goto RET_LABEL2;
913 RET_LABEL2:(void)0;
914 }
915 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
916 var = var7;
917 RET_LABEL:;
918 return var;
919 }
920 /* method kernel#Float#* for (self: Float, Float): Float */
921 double standard___standard__Float___Numeric___42d(double self, double p0) {
922 double var /* : Float */;
923 short int var1 /* : Bool */;
924 int cltype;
925 int idtype;
926 const char* var_class_name;
927 double var2 /* : Float */;
928 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
929 /* <p0:Float> isa OTHER */
930 var1 = 1; /* easy <p0:Float> isa OTHER*/
931 if (unlikely(!var1)) {
932 var_class_name = type_standard__Float.name;
933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
934 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348);
935 fatal_exit(1);
936 }
937 var2 = self * p0;
938 var = var2;
939 goto RET_LABEL;
940 RET_LABEL:;
941 return var;
942 }
943 /* method kernel#Float#* for (self: Numeric, Numeric): Numeric */
944 val* VIRTUAL_standard___standard__Float___Numeric___42d(val* self, val* p0) {
945 val* var /* : Numeric */;
946 double var1 /* : Float */;
947 short int var3 /* : Bool */;
948 int cltype;
949 int idtype;
950 const struct type* type_struct;
951 const char* var_class_name;
952 double var4 /* : Float */;
953 double var5 /* : Float */;
954 double var6 /* : Float */;
955 val* var7 /* : Numeric */;
956 { /* Inline kernel#Float#* (self,p0) on <self:Numeric(Float)> */
957 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
958 /* <p0:Numeric> isa OTHER */
959 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
960 cltype = type_struct->color;
961 idtype = type_struct->id;
962 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
963 var3 = 0;
964 } else {
965 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
966 }
967 if (unlikely(!var3)) {
968 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
969 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
970 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348);
971 fatal_exit(1);
972 }
973 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
974 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
975 var6 = var4 * var5;
976 var1 = var6;
977 goto RET_LABEL2;
978 RET_LABEL2:(void)0;
979 }
980 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
981 var = var7;
982 RET_LABEL:;
983 return var;
984 }
985 /* method kernel#Float#/ for (self: Float, Float): Float */
986 double standard___standard__Float___Numeric___47d(double self, double p0) {
987 double var /* : Float */;
988 short int var1 /* : Bool */;
989 int cltype;
990 int idtype;
991 const char* var_class_name;
992 double var2 /* : Float */;
993 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
994 /* <p0:Float> isa OTHER */
995 var1 = 1; /* easy <p0:Float> isa OTHER*/
996 if (unlikely(!var1)) {
997 var_class_name = type_standard__Float.name;
998 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
999 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349);
1000 fatal_exit(1);
1001 }
1002 var2 = self / p0;
1003 var = var2;
1004 goto RET_LABEL;
1005 RET_LABEL:;
1006 return var;
1007 }
1008 /* method kernel#Float#/ for (self: Numeric, Numeric): Numeric */
1009 val* VIRTUAL_standard___standard__Float___Numeric___47d(val* self, val* p0) {
1010 val* var /* : Numeric */;
1011 double var1 /* : Float */;
1012 short int var3 /* : Bool */;
1013 int cltype;
1014 int idtype;
1015 const struct type* type_struct;
1016 const char* var_class_name;
1017 double var4 /* : Float */;
1018 double var5 /* : Float */;
1019 double var6 /* : Float */;
1020 val* var7 /* : Numeric */;
1021 { /* Inline kernel#Float#/ (self,p0) on <self:Numeric(Float)> */
1022 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1023 /* <p0:Numeric> isa OTHER */
1024 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1025 cltype = type_struct->color;
1026 idtype = type_struct->id;
1027 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1028 var3 = 0;
1029 } else {
1030 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1031 }
1032 if (unlikely(!var3)) {
1033 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1035 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349);
1036 fatal_exit(1);
1037 }
1038 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1039 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
1040 var6 = var4 / var5;
1041 var1 = var6;
1042 goto RET_LABEL2;
1043 RET_LABEL2:(void)0;
1044 }
1045 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
1046 var = var7;
1047 RET_LABEL:;
1048 return var;
1049 }
1050 /* method kernel#Float#to_i for (self: Float): Int */
1051 long standard___standard__Float___Numeric__to_i(double self) {
1052 long var /* : Int */;
1053 long var1 /* : Int */;
1054 var1 = (long)self;
1055 var = var1;
1056 goto RET_LABEL;
1057 RET_LABEL:;
1058 return var;
1059 }
1060 /* method kernel#Float#to_i for (self: Numeric): Int */
1061 long VIRTUAL_standard___standard__Float___Numeric__to_i(val* self) {
1062 long var /* : Int */;
1063 long var1 /* : Int */;
1064 double var3 /* : Float */;
1065 long var4 /* : Int */;
1066 { /* Inline kernel#Float#to_i (self) on <self:Numeric(Float)> */
1067 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1068 var4 = (long)var3;
1069 var1 = var4;
1070 goto RET_LABEL2;
1071 RET_LABEL2:(void)0;
1072 }
1073 var = var1;
1074 RET_LABEL:;
1075 return var;
1076 }
1077 /* method kernel#Float#to_f for (self: Float): Float */
1078 double standard___standard__Float___Numeric__to_f(double self) {
1079 double var /* : Float */;
1080 var = self;
1081 goto RET_LABEL;
1082 RET_LABEL:;
1083 return var;
1084 }
1085 /* method kernel#Float#to_f for (self: Numeric): Float */
1086 double VIRTUAL_standard___standard__Float___Numeric__to_f(val* self) {
1087 double var /* : Float */;
1088 double var1 /* : Float */;
1089 double var2 /* : Float */;
1090 var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1091 var1 = standard___standard__Float___Numeric__to_f(var2);
1092 var = var1;
1093 RET_LABEL:;
1094 return var;
1095 }
1096 /* method kernel#Float#to_b for (self: Float): Byte */
1097 unsigned char standard___standard__Float___Numeric__to_b(double self) {
1098 unsigned char var /* : Byte */;
1099 unsigned char var1 /* : Byte */;
1100 var1 = (unsigned char)self;
1101 var = var1;
1102 goto RET_LABEL;
1103 RET_LABEL:;
1104 return var;
1105 }
1106 /* method kernel#Float#to_b for (self: Numeric): Byte */
1107 unsigned char VIRTUAL_standard___standard__Float___Numeric__to_b(val* self) {
1108 unsigned char var /* : Byte */;
1109 unsigned char var1 /* : Byte */;
1110 double var3 /* : Float */;
1111 unsigned char var4 /* : Byte */;
1112 { /* Inline kernel#Float#to_b (self) on <self:Numeric(Float)> */
1113 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1114 var4 = (unsigned char)var3;
1115 var1 = var4;
1116 goto RET_LABEL2;
1117 RET_LABEL2:(void)0;
1118 }
1119 var = var1;
1120 RET_LABEL:;
1121 return var;
1122 }
1123 /* method kernel#Float#<=> for (self: Float, Float): Int */
1124 long standard___standard__Float___Comparable___60d_61d_62d(double self, double p0) {
1125 long var /* : Int */;
1126 short int var1 /* : Bool */;
1127 int cltype;
1128 int idtype;
1129 const char* var_class_name;
1130 double var_other /* var other: Float */;
1131 short int var2 /* : Bool */;
1132 short int var4 /* : Bool */;
1133 int cltype5;
1134 int idtype6;
1135 const char* var_class_name7;
1136 short int var8 /* : Bool */;
1137 long var9 /* : Int */;
1138 long var11 /* : Int */;
1139 short int var12 /* : Bool */;
1140 short int var14 /* : Bool */;
1141 int cltype15;
1142 int idtype16;
1143 const char* var_class_name17;
1144 short int var18 /* : Bool */;
1145 /* Covariant cast for argument 0 (other) <p0:Float> isa OTHER */
1146 /* <p0:Float> isa OTHER */
1147 var1 = 1; /* easy <p0:Float> isa OTHER*/
1148 if (unlikely(!var1)) {
1149 var_class_name = type_standard__Float.name;
1150 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1151 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 358);
1152 fatal_exit(1);
1153 }
1154 var_other = p0;
1155 {
1156 { /* Inline kernel#Float#< (self,var_other) on <self:Float> */
1157 /* Covariant cast for argument 0 (i) <var_other:Float> isa OTHER */
1158 /* <var_other:Float> isa OTHER */
1159 var4 = 1; /* easy <var_other:Float> isa OTHER*/
1160 if (unlikely(!var4)) {
1161 var_class_name7 = type_standard__Float.name;
1162 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1163 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
1164 fatal_exit(1);
1165 }
1166 var8 = self < var_other;
1167 var2 = var8;
1168 goto RET_LABEL3;
1169 RET_LABEL3:(void)0;
1170 }
1171 }
1172 if (var2){
1173 {
1174 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1175 var11 = -1l;
1176 var9 = var11;
1177 goto RET_LABEL10;
1178 RET_LABEL10:(void)0;
1179 }
1180 }
1181 var = var9;
1182 goto RET_LABEL;
1183 } else {
1184 {
1185 { /* Inline kernel#Float#< (var_other,self) on <var_other:Float> */
1186 /* Covariant cast for argument 0 (i) <self:Float> isa OTHER */
1187 /* <self:Float> isa OTHER */
1188 var14 = 1; /* easy <self:Float> isa OTHER*/
1189 if (unlikely(!var14)) {
1190 var_class_name17 = type_standard__Float.name;
1191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
1192 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
1193 fatal_exit(1);
1194 }
1195 var18 = var_other < self;
1196 var12 = var18;
1197 goto RET_LABEL13;
1198 RET_LABEL13:(void)0;
1199 }
1200 }
1201 if (var12){
1202 var = 1l;
1203 goto RET_LABEL;
1204 } else {
1205 var = 0l;
1206 goto RET_LABEL;
1207 }
1208 }
1209 RET_LABEL:;
1210 return var;
1211 }
1212 /* method kernel#Float#<=> for (self: Comparable, Comparable): Int */
1213 long VIRTUAL_standard___standard__Float___Comparable___60d_61d_62d(val* self, val* p0) {
1214 long var /* : Int */;
1215 long var1 /* : Int */;
1216 double var2 /* : Float */;
1217 double var3 /* : Float */;
1218 var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
1219 var3 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
1220 var1 = standard___standard__Float___Comparable___60d_61d_62d(var2, var3);
1221 var = var1;
1222 RET_LABEL:;
1223 return var;
1224 }
1225 /* method kernel#Byte#successor for (self: Byte, Int): Byte */
1226 unsigned char standard___standard__Byte___Discrete__successor(unsigned char self, long p0) {
1227 unsigned char var /* : Byte */;
1228 long var_i /* var i: Int */;
1229 unsigned char var1 /* : Byte */;
1230 unsigned char var3 /* : Byte */;
1231 unsigned char var4 /* : Byte */;
1232 short int var6 /* : Bool */;
1233 int cltype;
1234 int idtype;
1235 const char* var_class_name;
1236 unsigned char var7 /* : Byte */;
1237 var_i = p0;
1238 {
1239 { /* Inline kernel#Int#to_b (var_i) on <var_i:Int> */
1240 var3 = (unsigned char)var_i;
1241 var1 = var3;
1242 goto RET_LABEL2;
1243 RET_LABEL2:(void)0;
1244 }
1245 }
1246 {
1247 { /* Inline kernel#Byte#+ (self,var1) on <self:Byte> */
1248 /* Covariant cast for argument 0 (i) <var1:Byte> isa OTHER */
1249 /* <var1:Byte> isa OTHER */
1250 var6 = 1; /* easy <var1:Byte> isa OTHER*/
1251 if (unlikely(!var6)) {
1252 var_class_name = type_standard__Byte.name;
1253 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1254 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
1255 fatal_exit(1);
1256 }
1257 var7 = self + var1;
1258 var4 = var7;
1259 goto RET_LABEL5;
1260 RET_LABEL5:(void)0;
1261 }
1262 }
1263 var = var4;
1264 goto RET_LABEL;
1265 RET_LABEL:;
1266 return var;
1267 }
1268 /* method kernel#Byte#successor for (self: Discrete, Int): Discrete */
1269 val* VIRTUAL_standard___standard__Byte___Discrete__successor(val* self, long p0) {
1270 val* var /* : Discrete */;
1271 unsigned char var1 /* : Byte */;
1272 unsigned char var2 /* : Byte */;
1273 val* var3 /* : Discrete */;
1274 var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */;
1275 var1 = standard___standard__Byte___Discrete__successor(var2, p0);
1276 var3 = BOX_standard__Byte(var1); /* autobox from Byte to Discrete */
1277 var = var3;
1278 RET_LABEL:;
1279 return var;
1280 }
1281 /* method kernel#Byte#object_id for (self: Byte): Int */
1282 long standard___standard__Byte___Object__object_id(unsigned char self) {
1283 long var /* : Int */;
1284 long var1 /* : Int */;
1285 var1 = (long)self;
1286 var = var1;
1287 goto RET_LABEL;
1288 RET_LABEL:;
1289 return var;
1290 }
1291 /* method kernel#Byte#object_id for (self: Object): Int */
1292 long VIRTUAL_standard___standard__Byte___Object__object_id(val* self) {
1293 long var /* : Int */;
1294 long var1 /* : Int */;
1295 unsigned char var3 /* : Byte */;
1296 long var4 /* : Int */;
1297 { /* Inline kernel#Byte#object_id (self) on <self:Object(Byte)> */
1298 var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */;
1299 var4 = (long)var3;
1300 var1 = var4;
1301 goto RET_LABEL2;
1302 RET_LABEL2:(void)0;
1303 }
1304 var = var1;
1305 RET_LABEL:;
1306 return var;
1307 }
1308 /* method kernel#Byte#hash for (self: Byte): Int */
1309 long standard___standard__Byte___Object__hash(unsigned char self) {
1310 long var /* : Int */;
1311 long var1 /* : Int */;
1312 long var3 /* : Int */;
1313 {
1314 { /* Inline kernel#Byte#to_i (self) on <self:Byte> */
1315 var3 = (long)self;
1316 var1 = var3;
1317 goto RET_LABEL2;
1318 RET_LABEL2:(void)0;
1319 }
1320 }
1321 var = var1;
1322 goto RET_LABEL;
1323 RET_LABEL:;
1324 return var;
1325 }
1326 /* method kernel#Byte#hash for (self: Object): Int */
1327 long VIRTUAL_standard___standard__Byte___Object__hash(val* self) {
1328 long var /* : Int */;
1329 long var1 /* : Int */;
1330 unsigned char var2 /* : Byte */;
1331 var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */;
1332 var1 = standard___standard__Byte___Object__hash(var2);
1333 var = var1;
1334 RET_LABEL:;
1335 return var;
1336 }
1337 /* method kernel#Byte#== for (self: Byte, nullable Object): Bool */
1338 short int standard___standard__Byte___Object___61d_61d(unsigned char self, val* p0) {
1339 short int var /* : Bool */;
1340 short int var1 /* : Bool */;
1341 unsigned char var2 /* : Byte */;
1342 var1 = (p0 != NULL) && (p0->class == &class_standard__Byte);
1343 if (var1) {
1344 var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
1345 var1 = (var2 == self);
1346 }
1347 var = var1;
1348 goto RET_LABEL;
1349 RET_LABEL:;
1350 return var;
1351 }
1352 /* method kernel#Byte#== for (self: Object, nullable Object): Bool */
1353 short int VIRTUAL_standard___standard__Byte___Object___61d_61d(val* self, val* p0) {
1354 short int var /* : Bool */;
1355 short int var1 /* : Bool */;
1356 short int var3 /* : Bool */;
1357 { /* Inline kernel#Byte#== (self,p0) on <self:Object(Byte)> */
1358 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value);
1359 var1 = var3;
1360 goto RET_LABEL2;
1361 RET_LABEL2:(void)0;
1362 }
1363 var = var1;
1364 RET_LABEL:;
1365 return var;
1366 }
1367 /* method kernel#Byte#!= for (self: Byte, nullable Object): Bool */
1368 short int standard___standard__Byte___Object___33d_61d(unsigned char self, val* p0) {
1369 short int var /* : Bool */;
1370 short int var1 /* : Bool */;
1371 unsigned char var2 /* : Byte */;
1372 short int var3 /* : Bool */;
1373 var1 = (p0 != NULL) && (p0->class == &class_standard__Byte);
1374 if (var1) {
1375 var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
1376 var1 = (var2 == self);
1377 }
1378 var3 = !var1;
1379 var = var3;
1380 goto RET_LABEL;
1381 RET_LABEL:;
1382 return var;
1383 }
1384 /* method kernel#Byte#!= for (self: Object, nullable Object): Bool */
1385 short int VIRTUAL_standard___standard__Byte___Object___33d_61d(val* self, val* p0) {
1386 short int var /* : Bool */;
1387 short int var1 /* : Bool */;
1388 short int var3 /* : Bool */;
1389 short int var4 /* : Bool */;
1390 { /* Inline kernel#Byte#!= (self,p0) on <self:Object(Byte)> */
1391 var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value);
1392 var4 = !var3;
1393 var1 = var4;
1394 goto RET_LABEL2;
1395 RET_LABEL2:(void)0;
1396 }
1397 var = var1;
1398 RET_LABEL:;
1399 return var;
1400 }
1401 /* method kernel#Byte#<= for (self: Byte, Byte): Bool */
1402 short int standard___standard__Byte___Comparable___60d_61d(unsigned char self, unsigned char p0) {
1403 short int var /* : Bool */;
1404 short int var1 /* : Bool */;
1405 int cltype;
1406 int idtype;
1407 const char* var_class_name;
1408 short int var2 /* : Bool */;
1409 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1410 /* <p0:Byte> isa OTHER */
1411 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1412 if (unlikely(!var1)) {
1413 var_class_name = type_standard__Byte.name;
1414 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1415 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429);
1416 fatal_exit(1);
1417 }
1418 var2 = self <= p0;
1419 var = var2;
1420 goto RET_LABEL;
1421 RET_LABEL:;
1422 return var;
1423 }
1424 /* method kernel#Byte#<= for (self: Comparable, Comparable): Bool */
1425 short int VIRTUAL_standard___standard__Byte___Comparable___60d_61d(val* self, val* p0) {
1426 short int var /* : Bool */;
1427 short int var1 /* : Bool */;
1428 short int var3 /* : Bool */;
1429 int cltype;
1430 int idtype;
1431 const struct type* type_struct;
1432 const char* var_class_name;
1433 unsigned char var4 /* : Byte */;
1434 unsigned char var5 /* : Byte */;
1435 short int var6 /* : Bool */;
1436 { /* Inline kernel#Byte#<= (self,p0) on <self:Comparable(Byte)> */
1437 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1438 /* <p0:Comparable> isa OTHER */
1439 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1440 cltype = type_struct->color;
1441 idtype = type_struct->id;
1442 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1443 var3 = 0;
1444 } else {
1445 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1446 }
1447 if (unlikely(!var3)) {
1448 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1449 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1450 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429);
1451 fatal_exit(1);
1452 }
1453 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
1454 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
1455 var6 = var4 <= var5;
1456 var1 = var6;
1457 goto RET_LABEL2;
1458 RET_LABEL2:(void)0;
1459 }
1460 var = var1;
1461 RET_LABEL:;
1462 return var;
1463 }
1464 /* method kernel#Byte#< for (self: Byte, Byte): Bool */
1465 short int standard___standard__Byte___Comparable___60d(unsigned char self, unsigned char p0) {
1466 short int var /* : Bool */;
1467 short int var1 /* : Bool */;
1468 int cltype;
1469 int idtype;
1470 const char* var_class_name;
1471 short int var2 /* : Bool */;
1472 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1473 /* <p0:Byte> isa OTHER */
1474 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1475 if (unlikely(!var1)) {
1476 var_class_name = type_standard__Byte.name;
1477 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1478 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
1479 fatal_exit(1);
1480 }
1481 var2 = self < p0;
1482 var = var2;
1483 goto RET_LABEL;
1484 RET_LABEL:;
1485 return var;
1486 }
1487 /* method kernel#Byte#< for (self: Comparable, Comparable): Bool */
1488 short int VIRTUAL_standard___standard__Byte___Comparable___60d(val* self, val* p0) {
1489 short int var /* : Bool */;
1490 short int var1 /* : Bool */;
1491 short int var3 /* : Bool */;
1492 int cltype;
1493 int idtype;
1494 const struct type* type_struct;
1495 const char* var_class_name;
1496 unsigned char var4 /* : Byte */;
1497 unsigned char var5 /* : Byte */;
1498 short int var6 /* : Bool */;
1499 { /* Inline kernel#Byte#< (self,p0) on <self:Comparable(Byte)> */
1500 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1501 /* <p0:Comparable> isa OTHER */
1502 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1503 cltype = type_struct->color;
1504 idtype = type_struct->id;
1505 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1506 var3 = 0;
1507 } else {
1508 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1509 }
1510 if (unlikely(!var3)) {
1511 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1513 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
1514 fatal_exit(1);
1515 }
1516 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
1517 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
1518 var6 = var4 < var5;
1519 var1 = var6;
1520 goto RET_LABEL2;
1521 RET_LABEL2:(void)0;
1522 }
1523 var = var1;
1524 RET_LABEL:;
1525 return var;
1526 }
1527 /* method kernel#Byte#>= for (self: Byte, Byte): Bool */
1528 short int standard___standard__Byte___Comparable___62d_61d(unsigned char self, unsigned char p0) {
1529 short int var /* : Bool */;
1530 short int var1 /* : Bool */;
1531 int cltype;
1532 int idtype;
1533 const char* var_class_name;
1534 short int var2 /* : Bool */;
1535 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1536 /* <p0:Byte> isa OTHER */
1537 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1538 if (unlikely(!var1)) {
1539 var_class_name = type_standard__Byte.name;
1540 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1541 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431);
1542 fatal_exit(1);
1543 }
1544 var2 = self >= p0;
1545 var = var2;
1546 goto RET_LABEL;
1547 RET_LABEL:;
1548 return var;
1549 }
1550 /* method kernel#Byte#>= for (self: Comparable, Comparable): Bool */
1551 short int VIRTUAL_standard___standard__Byte___Comparable___62d_61d(val* self, val* p0) {
1552 short int var /* : Bool */;
1553 short int var1 /* : Bool */;
1554 short int var3 /* : Bool */;
1555 int cltype;
1556 int idtype;
1557 const struct type* type_struct;
1558 const char* var_class_name;
1559 unsigned char var4 /* : Byte */;
1560 unsigned char var5 /* : Byte */;
1561 short int var6 /* : Bool */;
1562 { /* Inline kernel#Byte#>= (self,p0) on <self:Comparable(Byte)> */
1563 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1564 /* <p0:Comparable> isa OTHER */
1565 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1566 cltype = type_struct->color;
1567 idtype = type_struct->id;
1568 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1569 var3 = 0;
1570 } else {
1571 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1572 }
1573 if (unlikely(!var3)) {
1574 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1575 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1576 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431);
1577 fatal_exit(1);
1578 }
1579 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
1580 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
1581 var6 = var4 >= var5;
1582 var1 = var6;
1583 goto RET_LABEL2;
1584 RET_LABEL2:(void)0;
1585 }
1586 var = var1;
1587 RET_LABEL:;
1588 return var;
1589 }
1590 /* method kernel#Byte#> for (self: Byte, Byte): Bool */
1591 short int standard___standard__Byte___Comparable___62d(unsigned char self, unsigned char p0) {
1592 short int var /* : Bool */;
1593 short int var1 /* : Bool */;
1594 int cltype;
1595 int idtype;
1596 const char* var_class_name;
1597 short int var2 /* : Bool */;
1598 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1599 /* <p0:Byte> isa OTHER */
1600 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1601 if (unlikely(!var1)) {
1602 var_class_name = type_standard__Byte.name;
1603 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1604 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432);
1605 fatal_exit(1);
1606 }
1607 var2 = self > p0;
1608 var = var2;
1609 goto RET_LABEL;
1610 RET_LABEL:;
1611 return var;
1612 }
1613 /* method kernel#Byte#> for (self: Comparable, Comparable): Bool */
1614 short int VIRTUAL_standard___standard__Byte___Comparable___62d(val* self, val* p0) {
1615 short int var /* : Bool */;
1616 short int var1 /* : Bool */;
1617 short int var3 /* : Bool */;
1618 int cltype;
1619 int idtype;
1620 const struct type* type_struct;
1621 const char* var_class_name;
1622 unsigned char var4 /* : Byte */;
1623 unsigned char var5 /* : Byte */;
1624 short int var6 /* : Bool */;
1625 { /* Inline kernel#Byte#> (self,p0) on <self:Comparable(Byte)> */
1626 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1627 /* <p0:Comparable> isa OTHER */
1628 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1629 cltype = type_struct->color;
1630 idtype = type_struct->id;
1631 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1632 var3 = 0;
1633 } else {
1634 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1635 }
1636 if (unlikely(!var3)) {
1637 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1638 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1639 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432);
1640 fatal_exit(1);
1641 }
1642 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
1643 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
1644 var6 = var4 > var5;
1645 var1 = var6;
1646 goto RET_LABEL2;
1647 RET_LABEL2:(void)0;
1648 }
1649 var = var1;
1650 RET_LABEL:;
1651 return var;
1652 }
1653 /* method kernel#Byte#+ for (self: Byte, Byte): Byte */
1654 unsigned char standard___standard__Byte___Numeric___43d(unsigned char self, unsigned char p0) {
1655 unsigned char var /* : Byte */;
1656 short int var1 /* : Bool */;
1657 int cltype;
1658 int idtype;
1659 const char* var_class_name;
1660 unsigned char var2 /* : Byte */;
1661 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1662 /* <p0:Byte> isa OTHER */
1663 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1664 if (unlikely(!var1)) {
1665 var_class_name = type_standard__Byte.name;
1666 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1667 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
1668 fatal_exit(1);
1669 }
1670 var2 = self + p0;
1671 var = var2;
1672 goto RET_LABEL;
1673 RET_LABEL:;
1674 return var;
1675 }
1676 /* method kernel#Byte#+ for (self: Numeric, Numeric): Numeric */
1677 val* VIRTUAL_standard___standard__Byte___Numeric___43d(val* self, val* p0) {
1678 val* var /* : Numeric */;
1679 unsigned char var1 /* : Byte */;
1680 short int var3 /* : Bool */;
1681 int cltype;
1682 int idtype;
1683 const struct type* type_struct;
1684 const char* var_class_name;
1685 unsigned char var4 /* : Byte */;
1686 unsigned char var5 /* : Byte */;
1687 unsigned char var6 /* : Byte */;
1688 val* var7 /* : Numeric */;
1689 { /* Inline kernel#Byte#+ (self,p0) on <self:Numeric(Byte)> */
1690 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1691 /* <p0:Numeric> isa OTHER */
1692 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1693 cltype = type_struct->color;
1694 idtype = type_struct->id;
1695 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1696 var3 = 0;
1697 } else {
1698 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1699 }
1700 if (unlikely(!var3)) {
1701 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1702 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1703 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
1704 fatal_exit(1);
1705 }
1706 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1707 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
1708 var6 = var4 + var5;
1709 var1 = var6;
1710 goto RET_LABEL2;
1711 RET_LABEL2:(void)0;
1712 }
1713 var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
1714 var = var7;
1715 RET_LABEL:;
1716 return var;
1717 }
1718 /* method kernel#Byte#unary - for (self: Byte): Byte */
1719 unsigned char standard___standard__Byte___Numeric__unary_32d_45d(unsigned char self) {
1720 unsigned char var /* : Byte */;
1721 unsigned char var1 /* : Byte */;
1722 var1 = -self;
1723 var = var1;
1724 goto RET_LABEL;
1725 RET_LABEL:;
1726 return var;
1727 }
1728 /* method kernel#Byte#unary - for (self: Numeric): Numeric */
1729 val* VIRTUAL_standard___standard__Byte___Numeric__unary_32d_45d(val* self) {
1730 val* var /* : Numeric */;
1731 unsigned char var1 /* : Byte */;
1732 unsigned char var3 /* : Byte */;
1733 unsigned char var4 /* : Byte */;
1734 val* var5 /* : Numeric */;
1735 { /* Inline kernel#Byte#unary - (self) on <self:Numeric(Byte)> */
1736 var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1737 var4 = -var3;
1738 var1 = var4;
1739 goto RET_LABEL2;
1740 RET_LABEL2:(void)0;
1741 }
1742 var5 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
1743 var = var5;
1744 RET_LABEL:;
1745 return var;
1746 }
1747 /* method kernel#Byte#- for (self: Byte, Byte): Byte */
1748 unsigned char standard___standard__Byte___Numeric___45d(unsigned char self, unsigned char p0) {
1749 unsigned char var /* : Byte */;
1750 short int var1 /* : Bool */;
1751 int cltype;
1752 int idtype;
1753 const char* var_class_name;
1754 unsigned char var2 /* : Byte */;
1755 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1756 /* <p0:Byte> isa OTHER */
1757 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1758 if (unlikely(!var1)) {
1759 var_class_name = type_standard__Byte.name;
1760 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1761 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
1762 fatal_exit(1);
1763 }
1764 var2 = self - p0;
1765 var = var2;
1766 goto RET_LABEL;
1767 RET_LABEL:;
1768 return var;
1769 }
1770 /* method kernel#Byte#- for (self: Numeric, Numeric): Numeric */
1771 val* VIRTUAL_standard___standard__Byte___Numeric___45d(val* self, val* p0) {
1772 val* var /* : Numeric */;
1773 unsigned char var1 /* : Byte */;
1774 short int var3 /* : Bool */;
1775 int cltype;
1776 int idtype;
1777 const struct type* type_struct;
1778 const char* var_class_name;
1779 unsigned char var4 /* : Byte */;
1780 unsigned char var5 /* : Byte */;
1781 unsigned char var6 /* : Byte */;
1782 val* var7 /* : Numeric */;
1783 { /* Inline kernel#Byte#- (self,p0) on <self:Numeric(Byte)> */
1784 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1785 /* <p0:Numeric> isa OTHER */
1786 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1787 cltype = type_struct->color;
1788 idtype = type_struct->id;
1789 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1790 var3 = 0;
1791 } else {
1792 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1793 }
1794 if (unlikely(!var3)) {
1795 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1797 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
1798 fatal_exit(1);
1799 }
1800 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1801 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
1802 var6 = var4 - var5;
1803 var1 = var6;
1804 goto RET_LABEL2;
1805 RET_LABEL2:(void)0;
1806 }
1807 var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
1808 var = var7;
1809 RET_LABEL:;
1810 return var;
1811 }
1812 /* method kernel#Byte#* for (self: Byte, Byte): Byte */
1813 unsigned char standard___standard__Byte___Numeric___42d(unsigned char self, unsigned char p0) {
1814 unsigned char var /* : Byte */;
1815 short int var1 /* : Bool */;
1816 int cltype;
1817 int idtype;
1818 const char* var_class_name;
1819 unsigned char var2 /* : Byte */;
1820 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1821 /* <p0:Byte> isa OTHER */
1822 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1823 if (unlikely(!var1)) {
1824 var_class_name = type_standard__Byte.name;
1825 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1826 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441);
1827 fatal_exit(1);
1828 }
1829 var2 = self * p0;
1830 var = var2;
1831 goto RET_LABEL;
1832 RET_LABEL:;
1833 return var;
1834 }
1835 /* method kernel#Byte#* for (self: Numeric, Numeric): Numeric */
1836 val* VIRTUAL_standard___standard__Byte___Numeric___42d(val* self, val* p0) {
1837 val* var /* : Numeric */;
1838 unsigned char var1 /* : Byte */;
1839 short int var3 /* : Bool */;
1840 int cltype;
1841 int idtype;
1842 const struct type* type_struct;
1843 const char* var_class_name;
1844 unsigned char var4 /* : Byte */;
1845 unsigned char var5 /* : Byte */;
1846 unsigned char var6 /* : Byte */;
1847 val* var7 /* : Numeric */;
1848 { /* Inline kernel#Byte#* (self,p0) on <self:Numeric(Byte)> */
1849 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1850 /* <p0:Numeric> isa OTHER */
1851 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1852 cltype = type_struct->color;
1853 idtype = type_struct->id;
1854 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1855 var3 = 0;
1856 } else {
1857 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1858 }
1859 if (unlikely(!var3)) {
1860 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1862 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441);
1863 fatal_exit(1);
1864 }
1865 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1866 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
1867 var6 = var4 * var5;
1868 var1 = var6;
1869 goto RET_LABEL2;
1870 RET_LABEL2:(void)0;
1871 }
1872 var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
1873 var = var7;
1874 RET_LABEL:;
1875 return var;
1876 }
1877 /* method kernel#Byte#/ for (self: Byte, Byte): Byte */
1878 unsigned char standard___standard__Byte___Numeric___47d(unsigned char self, unsigned char p0) {
1879 unsigned char var /* : Byte */;
1880 short int var1 /* : Bool */;
1881 int cltype;
1882 int idtype;
1883 const char* var_class_name;
1884 unsigned char var2 /* : Byte */;
1885 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
1886 /* <p0:Byte> isa OTHER */
1887 var1 = 1; /* easy <p0:Byte> isa OTHER*/
1888 if (unlikely(!var1)) {
1889 var_class_name = type_standard__Byte.name;
1890 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1891 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442);
1892 fatal_exit(1);
1893 }
1894 var2 = self / p0;
1895 var = var2;
1896 goto RET_LABEL;
1897 RET_LABEL:;
1898 return var;
1899 }
1900 /* method kernel#Byte#/ for (self: Numeric, Numeric): Numeric */
1901 val* VIRTUAL_standard___standard__Byte___Numeric___47d(val* self, val* p0) {
1902 val* var /* : Numeric */;
1903 unsigned char var1 /* : Byte */;
1904 short int var3 /* : Bool */;
1905 int cltype;
1906 int idtype;
1907 const struct type* type_struct;
1908 const char* var_class_name;
1909 unsigned char var4 /* : Byte */;
1910 unsigned char var5 /* : Byte */;
1911 unsigned char var6 /* : Byte */;
1912 val* var7 /* : Numeric */;
1913 { /* Inline kernel#Byte#/ (self,p0) on <self:Numeric(Byte)> */
1914 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1915 /* <p0:Numeric> isa OTHER */
1916 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1917 cltype = type_struct->color;
1918 idtype = type_struct->id;
1919 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
1920 var3 = 0;
1921 } else {
1922 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
1923 }
1924 if (unlikely(!var3)) {
1925 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
1926 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1927 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442);
1928 fatal_exit(1);
1929 }
1930 var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1931 var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
1932 var6 = var4 / var5;
1933 var1 = var6;
1934 goto RET_LABEL2;
1935 RET_LABEL2:(void)0;
1936 }
1937 var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
1938 var = var7;
1939 RET_LABEL:;
1940 return var;
1941 }
1942 /* method kernel#Byte#to_i for (self: Byte): Int */
1943 long standard___standard__Byte___Numeric__to_i(unsigned char self) {
1944 long var /* : Int */;
1945 long var1 /* : Int */;
1946 var1 = (long)self;
1947 var = var1;
1948 goto RET_LABEL;
1949 RET_LABEL:;
1950 return var;
1951 }
1952 /* method kernel#Byte#to_i for (self: Numeric): Int */
1953 long VIRTUAL_standard___standard__Byte___Numeric__to_i(val* self) {
1954 long var /* : Int */;
1955 long var1 /* : Int */;
1956 unsigned char var3 /* : Byte */;
1957 long var4 /* : Int */;
1958 { /* Inline kernel#Byte#to_i (self) on <self:Numeric(Byte)> */
1959 var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1960 var4 = (long)var3;
1961 var1 = var4;
1962 goto RET_LABEL2;
1963 RET_LABEL2:(void)0;
1964 }
1965 var = var1;
1966 RET_LABEL:;
1967 return var;
1968 }
1969 /* method kernel#Byte#to_f for (self: Byte): Float */
1970 double standard___standard__Byte___Numeric__to_f(unsigned char self) {
1971 double var /* : Float */;
1972 double var1 /* : Float */;
1973 var1 = (double)self;
1974 var = var1;
1975 goto RET_LABEL;
1976 RET_LABEL:;
1977 return var;
1978 }
1979 /* method kernel#Byte#to_f for (self: Numeric): Float */
1980 double VIRTUAL_standard___standard__Byte___Numeric__to_f(val* self) {
1981 double var /* : Float */;
1982 double var1 /* : Float */;
1983 unsigned char var3 /* : Byte */;
1984 double var4 /* : Float */;
1985 { /* Inline kernel#Byte#to_f (self) on <self:Numeric(Byte)> */
1986 var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
1987 var4 = (double)var3;
1988 var1 = var4;
1989 goto RET_LABEL2;
1990 RET_LABEL2:(void)0;
1991 }
1992 var = var1;
1993 RET_LABEL:;
1994 return var;
1995 }
1996 /* method kernel#Byte#to_b for (self: Byte): Byte */
1997 unsigned char standard___standard__Byte___Numeric__to_b(unsigned char self) {
1998 unsigned char var /* : Byte */;
1999 var = self;
2000 goto RET_LABEL;
2001 RET_LABEL:;
2002 return var;
2003 }
2004 /* method kernel#Byte#to_b for (self: Numeric): Byte */
2005 unsigned char VIRTUAL_standard___standard__Byte___Numeric__to_b(val* self) {
2006 unsigned char var /* : Byte */;
2007 unsigned char var1 /* : Byte */;
2008 unsigned char var2 /* : Byte */;
2009 var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
2010 var1 = standard___standard__Byte___Numeric__to_b(var2);
2011 var = var1;
2012 RET_LABEL:;
2013 return var;
2014 }
2015 /* method kernel#Byte#distance for (self: Byte, Byte): Int */
2016 long standard___standard__Byte___Discrete__distance(unsigned char self, unsigned char p0) {
2017 long var /* : Int */;
2018 short int var1 /* : Bool */;
2019 int cltype;
2020 int idtype;
2021 const char* var_class_name;
2022 unsigned char var_i /* var i: Byte */;
2023 unsigned char var2 /* : Byte */;
2024 short int var4 /* : Bool */;
2025 int cltype5;
2026 int idtype6;
2027 const char* var_class_name7;
2028 unsigned char var8 /* : Byte */;
2029 long var9 /* : Int */;
2030 long var11 /* : Int */;
2031 /* Covariant cast for argument 0 (i) <p0:Byte> isa OTHER */
2032 /* <p0:Byte> isa OTHER */
2033 var1 = 1; /* easy <p0:Byte> isa OTHER*/
2034 if (unlikely(!var1)) {
2035 var_class_name = type_standard__Byte.name;
2036 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2037 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 475);
2038 fatal_exit(1);
2039 }
2040 var_i = p0;
2041 {
2042 { /* Inline kernel#Byte#- (self,var_i) on <self:Byte> */
2043 /* Covariant cast for argument 0 (i) <var_i:Byte> isa OTHER */
2044 /* <var_i:Byte> isa OTHER */
2045 var4 = 1; /* easy <var_i:Byte> isa OTHER*/
2046 if (unlikely(!var4)) {
2047 var_class_name7 = type_standard__Byte.name;
2048 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2049 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
2050 fatal_exit(1);
2051 }
2052 var8 = self - var_i;
2053 var2 = var8;
2054 goto RET_LABEL3;
2055 RET_LABEL3:(void)0;
2056 }
2057 }
2058 {
2059 { /* Inline kernel#Byte#to_i (var2) on <var2:Byte> */
2060 var11 = (long)var2;
2061 var9 = var11;
2062 goto RET_LABEL10;
2063 RET_LABEL10:(void)0;
2064 }
2065 }
2066 var = var9;
2067 goto RET_LABEL;
2068 RET_LABEL:;
2069 return var;
2070 }
2071 /* method kernel#Byte#distance for (self: Discrete, Discrete): Int */
2072 long VIRTUAL_standard___standard__Byte___Discrete__distance(val* self, val* p0) {
2073 long var /* : Int */;
2074 long var1 /* : Int */;
2075 unsigned char var2 /* : Byte */;
2076 unsigned char var3 /* : Byte */;
2077 var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */;
2078 var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Discrete to Byte */;
2079 var1 = standard___standard__Byte___Discrete__distance(var2, var3);
2080 var = var1;
2081 RET_LABEL:;
2082 return var;
2083 }
2084 /* method kernel#Byte#<=> for (self: Byte, Byte): Int */
2085 long standard___standard__Byte___Comparable___60d_61d_62d(unsigned char self, unsigned char p0) {
2086 long var /* : Int */;
2087 short int var1 /* : Bool */;
2088 int cltype;
2089 int idtype;
2090 const char* var_class_name;
2091 unsigned char var_other /* var other: Byte */;
2092 short int var2 /* : Bool */;
2093 short int var4 /* : Bool */;
2094 int cltype5;
2095 int idtype6;
2096 const char* var_class_name7;
2097 short int var8 /* : Bool */;
2098 long var9 /* : Int */;
2099 long var11 /* : Int */;
2100 short int var12 /* : Bool */;
2101 short int var14 /* : Bool */;
2102 int cltype15;
2103 int idtype16;
2104 const char* var_class_name17;
2105 short int var18 /* : Bool */;
2106 /* Covariant cast for argument 0 (other) <p0:Byte> isa OTHER */
2107 /* <p0:Byte> isa OTHER */
2108 var1 = 1; /* easy <p0:Byte> isa OTHER*/
2109 if (unlikely(!var1)) {
2110 var_class_name = type_standard__Byte.name;
2111 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2112 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 477);
2113 fatal_exit(1);
2114 }
2115 var_other = p0;
2116 {
2117 { /* Inline kernel#Byte#< (self,var_other) on <self:Byte> */
2118 /* Covariant cast for argument 0 (i) <var_other:Byte> isa OTHER */
2119 /* <var_other:Byte> isa OTHER */
2120 var4 = 1; /* easy <var_other:Byte> isa OTHER*/
2121 if (unlikely(!var4)) {
2122 var_class_name7 = type_standard__Byte.name;
2123 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2124 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
2125 fatal_exit(1);
2126 }
2127 var8 = self < var_other;
2128 var2 = var8;
2129 goto RET_LABEL3;
2130 RET_LABEL3:(void)0;
2131 }
2132 }
2133 if (var2){
2134 {
2135 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
2136 var11 = -1l;
2137 var9 = var11;
2138 goto RET_LABEL10;
2139 RET_LABEL10:(void)0;
2140 }
2141 }
2142 var = var9;
2143 goto RET_LABEL;
2144 } else {
2145 {
2146 { /* Inline kernel#Byte#< (var_other,self) on <var_other:Byte> */
2147 /* Covariant cast for argument 0 (i) <self:Byte> isa OTHER */
2148 /* <self:Byte> isa OTHER */
2149 var14 = 1; /* easy <self:Byte> isa OTHER*/
2150 if (unlikely(!var14)) {
2151 var_class_name17 = type_standard__Byte.name;
2152 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2153 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
2154 fatal_exit(1);
2155 }
2156 var18 = var_other < self;
2157 var12 = var18;
2158 goto RET_LABEL13;
2159 RET_LABEL13:(void)0;
2160 }
2161 }
2162 if (var12){
2163 var = 1l;
2164 goto RET_LABEL;
2165 } else {
2166 var = 0l;
2167 goto RET_LABEL;
2168 }
2169 }
2170 RET_LABEL:;
2171 return var;
2172 }
2173 /* method kernel#Byte#<=> for (self: Comparable, Comparable): Int */
2174 long VIRTUAL_standard___standard__Byte___Comparable___60d_61d_62d(val* self, val* p0) {
2175 long var /* : Int */;
2176 long var1 /* : Int */;
2177 unsigned char var2 /* : Byte */;
2178 unsigned char var3 /* : Byte */;
2179 var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
2180 var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
2181 var1 = standard___standard__Byte___Comparable___60d_61d_62d(var2, var3);
2182 var = var1;
2183 RET_LABEL:;
2184 return var;
2185 }
2186 /* method kernel#Int#successor for (self: Int, Int): Int */
2187 long standard___standard__Int___Discrete__successor(long self, long p0) {
2188 long var /* : Int */;
2189 long var_i /* var i: Int */;
2190 long var1 /* : Int */;
2191 short int var3 /* : Bool */;
2192 int cltype;
2193 int idtype;
2194 const char* var_class_name;
2195 long var4 /* : Int */;
2196 var_i = p0;
2197 {
2198 { /* Inline kernel#Int#+ (self,var_i) on <self:Int> */
2199 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
2200 /* <var_i:Int> isa OTHER */
2201 var3 = 1; /* easy <var_i:Int> isa OTHER*/
2202 if (unlikely(!var3)) {
2203 var_class_name = type_standard__Int.name;
2204 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2205 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
2206 fatal_exit(1);
2207 }
2208 var4 = self + var_i;
2209 var1 = var4;
2210 goto RET_LABEL2;
2211 RET_LABEL2:(void)0;
2212 }
2213 }
2214 var = var1;
2215 goto RET_LABEL;
2216 RET_LABEL:;
2217 return var;
2218 }
2219 /* method kernel#Int#successor for (self: Discrete, Int): Discrete */
2220 val* VIRTUAL_standard___standard__Int___Discrete__successor(val* self, long p0) {
2221 val* var /* : Discrete */;
2222 long var1 /* : Int */;
2223 long var2 /* : Int */;
2224 val* var3 /* : Discrete */;
2225 var2 = (long)(self)>>2;
2226 var1 = standard___standard__Int___Discrete__successor(var2, p0);
2227 var3 = (val*)(var1<<2|1);
2228 var = var3;
2229 RET_LABEL:;
2230 return var;
2231 }
2232 /* method kernel#Int#object_id for (self: Int): Int */
2233 long standard___standard__Int___Object__object_id(long self) {
2234 long var /* : Int */;
2235 var = self;
2236 goto RET_LABEL;
2237 RET_LABEL:;
2238 return var;
2239 }
2240 /* method kernel#Int#object_id for (self: Object): Int */
2241 long VIRTUAL_standard___standard__Int___Object__object_id(val* self) {
2242 long var /* : Int */;
2243 long var1 /* : Int */;
2244 long var3 /* : Int */;
2245 { /* Inline kernel#Int#object_id (self) on <self:Object(Int)> */
2246 var3 = (long)(self)>>2;
2247 var1 = var3;
2248 goto RET_LABEL2;
2249 RET_LABEL2:(void)0;
2250 }
2251 var = var1;
2252 RET_LABEL:;
2253 return var;
2254 }
2255 /* method kernel#Int#hash for (self: Int): Int */
2256 long standard___standard__Int___Object__hash(long self) {
2257 long var /* : Int */;
2258 var = self;
2259 goto RET_LABEL;
2260 RET_LABEL:;
2261 return var;
2262 }
2263 /* method kernel#Int#hash for (self: Object): Int */
2264 long VIRTUAL_standard___standard__Int___Object__hash(val* self) {
2265 long var /* : Int */;
2266 long var1 /* : Int */;
2267 long var2 /* : Int */;
2268 var2 = (long)(self)>>2;
2269 var1 = standard___standard__Int___Object__hash(var2);
2270 var = var1;
2271 RET_LABEL:;
2272 return var;
2273 }
2274 /* method kernel#Int#== for (self: Int, nullable Object): Bool */
2275 short int standard___standard__Int___Object___61d_61d(long self, val* p0) {
2276 short int var /* : Bool */;
2277 short int var1 /* : Bool */;
2278 long var2 /* : Int */;
2279 var2 = (long)(p0)>>2;
2280 var1 = (p0 != NULL) && (var2 == self);
2281 var = var1;
2282 goto RET_LABEL;
2283 RET_LABEL:;
2284 return var;
2285 }
2286 /* method kernel#Int#== for (self: Object, nullable Object): Bool */
2287 short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) {
2288 short int var /* : Bool */;
2289 short int var1 /* : Bool */;
2290 short int var3 /* : Bool */;
2291 { /* Inline kernel#Int#== (self,p0) on <self:Object(Int)> */
2292 var3 = self == p0;
2293 var1 = var3;
2294 goto RET_LABEL2;
2295 RET_LABEL2:(void)0;
2296 }
2297 var = var1;
2298 RET_LABEL:;
2299 return var;
2300 }
2301 /* method kernel#Int#!= for (self: Int, nullable Object): Bool */
2302 short int standard___standard__Int___Object___33d_61d(long self, val* p0) {
2303 short int var /* : Bool */;
2304 short int var1 /* : Bool */;
2305 long var2 /* : Int */;
2306 short int var3 /* : Bool */;
2307 var2 = (long)(p0)>>2;
2308 var1 = (p0 != NULL) && (var2 == self);
2309 var3 = !var1;
2310 var = var3;
2311 goto RET_LABEL;
2312 RET_LABEL:;
2313 return var;
2314 }
2315 /* method kernel#Int#!= for (self: Object, nullable Object): Bool */
2316 short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) {
2317 short int var /* : Bool */;
2318 short int var1 /* : Bool */;
2319 short int var3 /* : Bool */;
2320 short int var4 /* : Bool */;
2321 { /* Inline kernel#Int#!= (self,p0) on <self:Object(Int)> */
2322 var3 = self == p0;
2323 var4 = !var3;
2324 var1 = var4;
2325 goto RET_LABEL2;
2326 RET_LABEL2:(void)0;
2327 }
2328 var = var1;
2329 RET_LABEL:;
2330 return var;
2331 }
2332 /* method kernel#Int#<= for (self: Int, Int): Bool */
2333 short int standard___standard__Int___Comparable___60d_61d(long self, long p0) {
2334 short int var /* : Bool */;
2335 short int var1 /* : Bool */;
2336 int cltype;
2337 int idtype;
2338 const char* var_class_name;
2339 short int var2 /* : Bool */;
2340 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2341 /* <p0:Int> isa OTHER */
2342 var1 = 1; /* easy <p0:Int> isa OTHER*/
2343 if (unlikely(!var1)) {
2344 var_class_name = type_standard__Int.name;
2345 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2346 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
2347 fatal_exit(1);
2348 }
2349 var2 = self <= p0;
2350 var = var2;
2351 goto RET_LABEL;
2352 RET_LABEL:;
2353 return var;
2354 }
2355 /* method kernel#Int#<= for (self: Comparable, Comparable): Bool */
2356 short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) {
2357 short int var /* : Bool */;
2358 short int var1 /* : Bool */;
2359 short int var3 /* : Bool */;
2360 int cltype;
2361 int idtype;
2362 const struct type* type_struct;
2363 const char* var_class_name;
2364 long var4 /* : Int */;
2365 long var5 /* : Int */;
2366 short int var6 /* : Bool */;
2367 { /* Inline kernel#Int#<= (self,p0) on <self:Comparable(Int)> */
2368 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2369 /* <p0:Comparable> isa OTHER */
2370 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2371 cltype = type_struct->color;
2372 idtype = type_struct->id;
2373 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2374 var3 = 0;
2375 } else {
2376 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2377 }
2378 if (unlikely(!var3)) {
2379 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2380 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2381 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
2382 fatal_exit(1);
2383 }
2384 var4 = (long)(self)>>2;
2385 var5 = (long)(p0)>>2;
2386 var6 = var4 <= var5;
2387 var1 = var6;
2388 goto RET_LABEL2;
2389 RET_LABEL2:(void)0;
2390 }
2391 var = var1;
2392 RET_LABEL:;
2393 return var;
2394 }
2395 /* method kernel#Int#< for (self: Int, Int): Bool */
2396 short int standard___standard__Int___Comparable___60d(long self, long p0) {
2397 short int var /* : Bool */;
2398 short int var1 /* : Bool */;
2399 int cltype;
2400 int idtype;
2401 const char* var_class_name;
2402 short int var2 /* : Bool */;
2403 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2404 /* <p0:Int> isa OTHER */
2405 var1 = 1; /* easy <p0:Int> isa OTHER*/
2406 if (unlikely(!var1)) {
2407 var_class_name = type_standard__Int.name;
2408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2409 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
2410 fatal_exit(1);
2411 }
2412 var2 = self < p0;
2413 var = var2;
2414 goto RET_LABEL;
2415 RET_LABEL:;
2416 return var;
2417 }
2418 /* method kernel#Int#< for (self: Comparable, Comparable): Bool */
2419 short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) {
2420 short int var /* : Bool */;
2421 short int var1 /* : Bool */;
2422 short int var3 /* : Bool */;
2423 int cltype;
2424 int idtype;
2425 const struct type* type_struct;
2426 const char* var_class_name;
2427 long var4 /* : Int */;
2428 long var5 /* : Int */;
2429 short int var6 /* : Bool */;
2430 { /* Inline kernel#Int#< (self,p0) on <self:Comparable(Int)> */
2431 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2432 /* <p0:Comparable> isa OTHER */
2433 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2434 cltype = type_struct->color;
2435 idtype = type_struct->id;
2436 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2437 var3 = 0;
2438 } else {
2439 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2440 }
2441 if (unlikely(!var3)) {
2442 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2443 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2444 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
2445 fatal_exit(1);
2446 }
2447 var4 = (long)(self)>>2;
2448 var5 = (long)(p0)>>2;
2449 var6 = var4 < var5;
2450 var1 = var6;
2451 goto RET_LABEL2;
2452 RET_LABEL2:(void)0;
2453 }
2454 var = var1;
2455 RET_LABEL:;
2456 return var;
2457 }
2458 /* method kernel#Int#>= for (self: Int, Int): Bool */
2459 short int standard___standard__Int___Comparable___62d_61d(long self, long p0) {
2460 short int var /* : Bool */;
2461 short int var1 /* : Bool */;
2462 int cltype;
2463 int idtype;
2464 const char* var_class_name;
2465 short int var2 /* : Bool */;
2466 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2467 /* <p0:Int> isa OTHER */
2468 var1 = 1; /* easy <p0:Int> isa OTHER*/
2469 if (unlikely(!var1)) {
2470 var_class_name = type_standard__Int.name;
2471 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2472 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
2473 fatal_exit(1);
2474 }
2475 var2 = self >= p0;
2476 var = var2;
2477 goto RET_LABEL;
2478 RET_LABEL:;
2479 return var;
2480 }
2481 /* method kernel#Int#>= for (self: Comparable, Comparable): Bool */
2482 short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) {
2483 short int var /* : Bool */;
2484 short int var1 /* : Bool */;
2485 short int var3 /* : Bool */;
2486 int cltype;
2487 int idtype;
2488 const struct type* type_struct;
2489 const char* var_class_name;
2490 long var4 /* : Int */;
2491 long var5 /* : Int */;
2492 short int var6 /* : Bool */;
2493 { /* Inline kernel#Int#>= (self,p0) on <self:Comparable(Int)> */
2494 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2495 /* <p0:Comparable> isa OTHER */
2496 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2497 cltype = type_struct->color;
2498 idtype = type_struct->id;
2499 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2500 var3 = 0;
2501 } else {
2502 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2503 }
2504 if (unlikely(!var3)) {
2505 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2506 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2507 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
2508 fatal_exit(1);
2509 }
2510 var4 = (long)(self)>>2;
2511 var5 = (long)(p0)>>2;
2512 var6 = var4 >= var5;
2513 var1 = var6;
2514 goto RET_LABEL2;
2515 RET_LABEL2:(void)0;
2516 }
2517 var = var1;
2518 RET_LABEL:;
2519 return var;
2520 }
2521 /* method kernel#Int#> for (self: Int, Int): Bool */
2522 short int standard___standard__Int___Comparable___62d(long self, long p0) {
2523 short int var /* : Bool */;
2524 short int var1 /* : Bool */;
2525 int cltype;
2526 int idtype;
2527 const char* var_class_name;
2528 short int var2 /* : Bool */;
2529 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2530 /* <p0:Int> isa OTHER */
2531 var1 = 1; /* easy <p0:Int> isa OTHER*/
2532 if (unlikely(!var1)) {
2533 var_class_name = type_standard__Int.name;
2534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2535 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
2536 fatal_exit(1);
2537 }
2538 var2 = self > p0;
2539 var = var2;
2540 goto RET_LABEL;
2541 RET_LABEL:;
2542 return var;
2543 }
2544 /* method kernel#Int#> for (self: Comparable, Comparable): Bool */
2545 short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) {
2546 short int var /* : Bool */;
2547 short int var1 /* : Bool */;
2548 short int var3 /* : Bool */;
2549 int cltype;
2550 int idtype;
2551 const struct type* type_struct;
2552 const char* var_class_name;
2553 long var4 /* : Int */;
2554 long var5 /* : Int */;
2555 short int var6 /* : Bool */;
2556 { /* Inline kernel#Int#> (self,p0) on <self:Comparable(Int)> */
2557 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
2558 /* <p0:Comparable> isa OTHER */
2559 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2560 cltype = type_struct->color;
2561 idtype = type_struct->id;
2562 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2563 var3 = 0;
2564 } else {
2565 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2566 }
2567 if (unlikely(!var3)) {
2568 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2569 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2570 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
2571 fatal_exit(1);
2572 }
2573 var4 = (long)(self)>>2;
2574 var5 = (long)(p0)>>2;
2575 var6 = var4 > var5;
2576 var1 = var6;
2577 goto RET_LABEL2;
2578 RET_LABEL2:(void)0;
2579 }
2580 var = var1;
2581 RET_LABEL:;
2582 return var;
2583 }
2584 /* method kernel#Int#+ for (self: Int, Int): Int */
2585 long standard___standard__Int___Numeric___43d(long self, long p0) {
2586 long var /* : Int */;
2587 short int var1 /* : Bool */;
2588 int cltype;
2589 int idtype;
2590 const char* var_class_name;
2591 long var2 /* : Int */;
2592 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2593 /* <p0:Int> isa OTHER */
2594 var1 = 1; /* easy <p0:Int> isa OTHER*/
2595 if (unlikely(!var1)) {
2596 var_class_name = type_standard__Int.name;
2597 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2598 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
2599 fatal_exit(1);
2600 }
2601 var2 = self + p0;
2602 var = var2;
2603 goto RET_LABEL;
2604 RET_LABEL:;
2605 return var;
2606 }
2607 /* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */
2608 val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) {
2609 val* var /* : Numeric */;
2610 long var1 /* : Int */;
2611 short int var3 /* : Bool */;
2612 int cltype;
2613 int idtype;
2614 const struct type* type_struct;
2615 const char* var_class_name;
2616 long var4 /* : Int */;
2617 long var5 /* : Int */;
2618 long var6 /* : Int */;
2619 val* var7 /* : Numeric */;
2620 { /* Inline kernel#Int#+ (self,p0) on <self:Numeric(Int)> */
2621 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2622 /* <p0:Numeric> isa OTHER */
2623 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2624 cltype = type_struct->color;
2625 idtype = type_struct->id;
2626 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2627 var3 = 0;
2628 } else {
2629 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2630 }
2631 if (unlikely(!var3)) {
2632 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2633 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2634 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
2635 fatal_exit(1);
2636 }
2637 var4 = (long)(self)>>2;
2638 var5 = (long)(p0)>>2;
2639 var6 = var4 + var5;
2640 var1 = var6;
2641 goto RET_LABEL2;
2642 RET_LABEL2:(void)0;
2643 }
2644 var7 = (val*)(var1<<2|1);
2645 var = var7;
2646 RET_LABEL:;
2647 return var;
2648 }
2649 /* method kernel#Int#unary - for (self: Int): Int */
2650 long standard___standard__Int___Numeric__unary_32d_45d(long self) {
2651 long var /* : Int */;
2652 long var1 /* : Int */;
2653 var1 = -self;
2654 var = var1;
2655 goto RET_LABEL;
2656 RET_LABEL:;
2657 return var;
2658 }
2659 /* method kernel#Int#unary - for (self: Numeric): Numeric */
2660 val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) {
2661 val* var /* : Numeric */;
2662 long var1 /* : Int */;
2663 long var3 /* : Int */;
2664 long var4 /* : Int */;
2665 val* var5 /* : Numeric */;
2666 { /* Inline kernel#Int#unary - (self) on <self:Numeric(Int)> */
2667 var3 = (long)(self)>>2;
2668 var4 = -var3;
2669 var1 = var4;
2670 goto RET_LABEL2;
2671 RET_LABEL2:(void)0;
2672 }
2673 var5 = (val*)(var1<<2|1);
2674 var = var5;
2675 RET_LABEL:;
2676 return var;
2677 }
2678 /* method kernel#Int#- for (self: Int, Int): Int */
2679 long standard___standard__Int___Numeric___45d(long self, long p0) {
2680 long var /* : Int */;
2681 short int var1 /* : Bool */;
2682 int cltype;
2683 int idtype;
2684 const char* var_class_name;
2685 long var2 /* : Int */;
2686 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2687 /* <p0:Int> isa OTHER */
2688 var1 = 1; /* easy <p0:Int> isa OTHER*/
2689 if (unlikely(!var1)) {
2690 var_class_name = type_standard__Int.name;
2691 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2692 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
2693 fatal_exit(1);
2694 }
2695 var2 = self - p0;
2696 var = var2;
2697 goto RET_LABEL;
2698 RET_LABEL:;
2699 return var;
2700 }
2701 /* method kernel#Int#- for (self: Numeric, Numeric): Numeric */
2702 val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) {
2703 val* var /* : Numeric */;
2704 long var1 /* : Int */;
2705 short int var3 /* : Bool */;
2706 int cltype;
2707 int idtype;
2708 const struct type* type_struct;
2709 const char* var_class_name;
2710 long var4 /* : Int */;
2711 long var5 /* : Int */;
2712 long var6 /* : Int */;
2713 val* var7 /* : Numeric */;
2714 { /* Inline kernel#Int#- (self,p0) on <self:Numeric(Int)> */
2715 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2716 /* <p0:Numeric> isa OTHER */
2717 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2718 cltype = type_struct->color;
2719 idtype = type_struct->id;
2720 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2721 var3 = 0;
2722 } else {
2723 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2724 }
2725 if (unlikely(!var3)) {
2726 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2727 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2728 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
2729 fatal_exit(1);
2730 }
2731 var4 = (long)(self)>>2;
2732 var5 = (long)(p0)>>2;
2733 var6 = var4 - var5;
2734 var1 = var6;
2735 goto RET_LABEL2;
2736 RET_LABEL2:(void)0;
2737 }
2738 var7 = (val*)(var1<<2|1);
2739 var = var7;
2740 RET_LABEL:;
2741 return var;
2742 }
2743 /* method kernel#Int#* for (self: Int, Int): Int */
2744 long standard___standard__Int___Numeric___42d(long self, long p0) {
2745 long var /* : Int */;
2746 short int var1 /* : Bool */;
2747 int cltype;
2748 int idtype;
2749 const char* var_class_name;
2750 long var2 /* : Int */;
2751 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2752 /* <p0:Int> isa OTHER */
2753 var1 = 1; /* easy <p0:Int> isa OTHER*/
2754 if (unlikely(!var1)) {
2755 var_class_name = type_standard__Int.name;
2756 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2757 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
2758 fatal_exit(1);
2759 }
2760 var2 = self * p0;
2761 var = var2;
2762 goto RET_LABEL;
2763 RET_LABEL:;
2764 return var;
2765 }
2766 /* method kernel#Int#* for (self: Numeric, Numeric): Numeric */
2767 val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) {
2768 val* var /* : Numeric */;
2769 long var1 /* : Int */;
2770 short int var3 /* : Bool */;
2771 int cltype;
2772 int idtype;
2773 const struct type* type_struct;
2774 const char* var_class_name;
2775 long var4 /* : Int */;
2776 long var5 /* : Int */;
2777 long var6 /* : Int */;
2778 val* var7 /* : Numeric */;
2779 { /* Inline kernel#Int#* (self,p0) on <self:Numeric(Int)> */
2780 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2781 /* <p0:Numeric> isa OTHER */
2782 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2783 cltype = type_struct->color;
2784 idtype = type_struct->id;
2785 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2786 var3 = 0;
2787 } else {
2788 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2789 }
2790 if (unlikely(!var3)) {
2791 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2792 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2793 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
2794 fatal_exit(1);
2795 }
2796 var4 = (long)(self)>>2;
2797 var5 = (long)(p0)>>2;
2798 var6 = var4 * var5;
2799 var1 = var6;
2800 goto RET_LABEL2;
2801 RET_LABEL2:(void)0;
2802 }
2803 var7 = (val*)(var1<<2|1);
2804 var = var7;
2805 RET_LABEL:;
2806 return var;
2807 }
2808 /* method kernel#Int#/ for (self: Int, Int): Int */
2809 long standard___standard__Int___Numeric___47d(long self, long p0) {
2810 long var /* : Int */;
2811 short int var1 /* : Bool */;
2812 int cltype;
2813 int idtype;
2814 const char* var_class_name;
2815 long var2 /* : Int */;
2816 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2817 /* <p0:Int> isa OTHER */
2818 var1 = 1; /* easy <p0:Int> isa OTHER*/
2819 if (unlikely(!var1)) {
2820 var_class_name = type_standard__Int.name;
2821 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2822 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
2823 fatal_exit(1);
2824 }
2825 var2 = self / p0;
2826 var = var2;
2827 goto RET_LABEL;
2828 RET_LABEL:;
2829 return var;
2830 }
2831 /* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */
2832 val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) {
2833 val* var /* : Numeric */;
2834 long var1 /* : Int */;
2835 short int var3 /* : Bool */;
2836 int cltype;
2837 int idtype;
2838 const struct type* type_struct;
2839 const char* var_class_name;
2840 long var4 /* : Int */;
2841 long var5 /* : Int */;
2842 long var6 /* : Int */;
2843 val* var7 /* : Numeric */;
2844 { /* Inline kernel#Int#/ (self,p0) on <self:Numeric(Int)> */
2845 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
2846 /* <p0:Numeric> isa OTHER */
2847 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
2848 cltype = type_struct->color;
2849 idtype = type_struct->id;
2850 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
2851 var3 = 0;
2852 } else {
2853 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
2854 }
2855 if (unlikely(!var3)) {
2856 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
2857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2858 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
2859 fatal_exit(1);
2860 }
2861 var4 = (long)(self)>>2;
2862 var5 = (long)(p0)>>2;
2863 var6 = var4 / var5;
2864 var1 = var6;
2865 goto RET_LABEL2;
2866 RET_LABEL2:(void)0;
2867 }
2868 var7 = (val*)(var1<<2|1);
2869 var = var7;
2870 RET_LABEL:;
2871 return var;
2872 }
2873 /* method kernel#Int#% for (self: Int, Int): Int */
2874 long standard___standard__Int____37d(long self, long p0) {
2875 long var /* : Int */;
2876 long var1 /* : Int */;
2877 var1 = self % p0;
2878 var = var1;
2879 goto RET_LABEL;
2880 RET_LABEL:;
2881 return var;
2882 }
2883 /* method kernel#Int#lshift for (self: Int, Int): Int */
2884 long standard___standard__Int___lshift(long self, long p0) {
2885 long var /* : Int */;
2886 long var1 /* : Int */;
2887 var1 = self << p0;
2888 var = var1;
2889 goto RET_LABEL;
2890 RET_LABEL:;
2891 return var;
2892 }
2893 /* method kernel#Int#to_i for (self: Int): Int */
2894 long standard___standard__Int___Numeric__to_i(long self) {
2895 long var /* : Int */;
2896 var = self;
2897 goto RET_LABEL;
2898 RET_LABEL:;
2899 return var;
2900 }
2901 /* method kernel#Int#to_i for (self: Numeric): Int */
2902 long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) {
2903 long var /* : Int */;
2904 long var1 /* : Int */;
2905 long var2 /* : Int */;
2906 var2 = (long)(self)>>2;
2907 var1 = standard___standard__Int___Numeric__to_i(var2);
2908 var = var1;
2909 RET_LABEL:;
2910 return var;
2911 }
2912 /* method kernel#Int#to_f for (self: Int): Float */
2913 double standard___standard__Int___Numeric__to_f(long self) {
2914 double var /* : Float */;
2915 double var1 /* : Float */;
2916 var1 = (double)self;
2917 var = var1;
2918 goto RET_LABEL;
2919 RET_LABEL:;
2920 return var;
2921 }
2922 /* method kernel#Int#to_f for (self: Numeric): Float */
2923 double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) {
2924 double var /* : Float */;
2925 double var1 /* : Float */;
2926 long var3 /* : Int */;
2927 double var4 /* : Float */;
2928 { /* Inline kernel#Int#to_f (self) on <self:Numeric(Int)> */
2929 var3 = (long)(self)>>2;
2930 var4 = (double)var3;
2931 var1 = var4;
2932 goto RET_LABEL2;
2933 RET_LABEL2:(void)0;
2934 }
2935 var = var1;
2936 RET_LABEL:;
2937 return var;
2938 }
2939 /* method kernel#Int#to_b for (self: Int): Byte */
2940 unsigned char standard___standard__Int___Numeric__to_b(long self) {
2941 unsigned char var /* : Byte */;
2942 unsigned char var1 /* : Byte */;
2943 var1 = (unsigned char)self;
2944 var = var1;
2945 goto RET_LABEL;
2946 RET_LABEL:;
2947 return var;
2948 }
2949 /* method kernel#Int#to_b for (self: Numeric): Byte */
2950 unsigned char VIRTUAL_standard___standard__Int___Numeric__to_b(val* self) {
2951 unsigned char var /* : Byte */;
2952 unsigned char var1 /* : Byte */;
2953 long var3 /* : Int */;
2954 unsigned char var4 /* : Byte */;
2955 { /* Inline kernel#Int#to_b (self) on <self:Numeric(Int)> */
2956 var3 = (long)(self)>>2;
2957 var4 = (unsigned char)var3;
2958 var1 = var4;
2959 goto RET_LABEL2;
2960 RET_LABEL2:(void)0;
2961 }
2962 var = var1;
2963 RET_LABEL:;
2964 return var;
2965 }
2966 /* method kernel#Int#distance for (self: Int, Int): Int */
2967 long standard___standard__Int___Discrete__distance(long self, long p0) {
2968 long var /* : Int */;
2969 short int var1 /* : Bool */;
2970 int cltype;
2971 int idtype;
2972 const char* var_class_name;
2973 long var_i /* var i: Int */;
2974 long var2 /* : Int */;
2975 short int var4 /* : Bool */;
2976 int cltype5;
2977 int idtype6;
2978 const char* var_class_name7;
2979 long var8 /* : Int */;
2980 long var_d /* var d: Int */;
2981 short int var9 /* : Bool */;
2982 short int var11 /* : Bool */;
2983 int cltype12;
2984 int idtype13;
2985 const char* var_class_name14;
2986 short int var15 /* : Bool */;
2987 long var16 /* : Int */;
2988 long var18 /* : Int */;
2989 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2990 /* <p0:Int> isa OTHER */
2991 var1 = 1; /* easy <p0:Int> isa OTHER*/
2992 if (unlikely(!var1)) {
2993 var_class_name = type_standard__Int.name;
2994 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2995 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 575);
2996 fatal_exit(1);
2997 }
2998 var_i = p0;
2999 {
3000 { /* Inline kernel#Int#- (self,var_i) on <self:Int> */
3001 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
3002 /* <var_i:Int> isa OTHER */
3003 var4 = 1; /* easy <var_i:Int> isa OTHER*/
3004 if (unlikely(!var4)) {
3005 var_class_name7 = type_standard__Int.name;
3006 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3007 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
3008 fatal_exit(1);
3009 }
3010 var8 = self - var_i;
3011 var2 = var8;
3012 goto RET_LABEL3;
3013 RET_LABEL3:(void)0;
3014 }
3015 }
3016 var_d = var2;
3017 {
3018 { /* Inline kernel#Int#>= (var_d,0l) on <var_d:Int> */
3019 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3020 /* <0l:Int> isa OTHER */
3021 var11 = 1; /* easy <0l:Int> isa OTHER*/
3022 if (unlikely(!var11)) {
3023 var_class_name14 = type_standard__Int.name;
3024 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
3025 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
3026 fatal_exit(1);
3027 }
3028 var15 = var_d >= 0l;
3029 var9 = var15;
3030 goto RET_LABEL10;
3031 RET_LABEL10:(void)0;
3032 }
3033 }
3034 if (var9){
3035 var = var_d;
3036 goto RET_LABEL;
3037 } else {
3038 {
3039 { /* Inline kernel#Int#unary - (var_d) on <var_d:Int> */
3040 var18 = -var_d;
3041 var16 = var18;
3042 goto RET_LABEL17;
3043 RET_LABEL17:(void)0;
3044 }
3045 }
3046 var = var16;
3047 goto RET_LABEL;
3048 }
3049 RET_LABEL:;
3050 return var;
3051 }
3052 /* method kernel#Int#distance for (self: Discrete, Discrete): Int */
3053 long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) {
3054 long var /* : Int */;
3055 long var1 /* : Int */;
3056 long var2 /* : Int */;
3057 long var3 /* : Int */;
3058 var2 = (long)(self)>>2;
3059 var3 = (long)(p0)>>2;
3060 var1 = standard___standard__Int___Discrete__distance(var2, var3);
3061 var = var1;
3062 RET_LABEL:;
3063 return var;
3064 }
3065 /* method kernel#Int#<=> for (self: Int, Int): Int */
3066 long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) {
3067 long var /* : Int */;
3068 short int var1 /* : Bool */;
3069 int cltype;
3070 int idtype;
3071 const char* var_class_name;
3072 long var_other /* var other: Int */;
3073 short int var2 /* : Bool */;
3074 short int var4 /* : Bool */;
3075 int cltype5;
3076 int idtype6;
3077 const char* var_class_name7;
3078 short int var8 /* : Bool */;
3079 long var9 /* : Int */;
3080 long var11 /* : Int */;
3081 short int var12 /* : Bool */;
3082 short int var14 /* : Bool */;
3083 int cltype15;
3084 int idtype16;
3085 const char* var_class_name17;
3086 short int var18 /* : Bool */;
3087 /* Covariant cast for argument 0 (other) <p0:Int> isa OTHER */
3088 /* <p0:Int> isa OTHER */
3089 var1 = 1; /* easy <p0:Int> isa OTHER*/
3090 if (unlikely(!var1)) {
3091 var_class_name = type_standard__Int.name;
3092 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3093 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 585);
3094 fatal_exit(1);
3095 }
3096 var_other = p0;
3097 {
3098 { /* Inline kernel#Int#< (self,var_other) on <self:Int> */
3099 /* Covariant cast for argument 0 (i) <var_other:Int> isa OTHER */
3100 /* <var_other:Int> isa OTHER */
3101 var4 = 1; /* easy <var_other:Int> isa OTHER*/
3102 if (unlikely(!var4)) {
3103 var_class_name7 = type_standard__Int.name;
3104 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3105 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3106 fatal_exit(1);
3107 }
3108 var8 = self < var_other;
3109 var2 = var8;
3110 goto RET_LABEL3;
3111 RET_LABEL3:(void)0;
3112 }
3113 }
3114 if (var2){
3115 {
3116 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
3117 var11 = -1l;
3118 var9 = var11;
3119 goto RET_LABEL10;
3120 RET_LABEL10:(void)0;
3121 }
3122 }
3123 var = var9;
3124 goto RET_LABEL;
3125 } else {
3126 {
3127 { /* Inline kernel#Int#< (var_other,self) on <var_other:Int> */
3128 /* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
3129 /* <self:Int> isa OTHER */
3130 var14 = 1; /* easy <self:Int> isa OTHER*/
3131 if (unlikely(!var14)) {
3132 var_class_name17 = type_standard__Int.name;
3133 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
3134 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3135 fatal_exit(1);
3136 }
3137 var18 = var_other < self;
3138 var12 = var18;
3139 goto RET_LABEL13;
3140 RET_LABEL13:(void)0;
3141 }
3142 }
3143 if (var12){
3144 var = 1l;
3145 goto RET_LABEL;
3146 } else {
3147 var = 0l;
3148 goto RET_LABEL;
3149 }
3150 }
3151 RET_LABEL:;
3152 return var;
3153 }
3154 /* method kernel#Int#<=> for (self: Comparable, Comparable): Int */
3155 long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) {
3156 long var /* : Int */;
3157 long var1 /* : Int */;
3158 long var2 /* : Int */;
3159 long var3 /* : Int */;
3160 var2 = (long)(self)>>2;
3161 var3 = (long)(p0)>>2;
3162 var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3);
3163 var = var1;
3164 RET_LABEL:;
3165 return var;
3166 }
3167 /* method kernel#Int#ascii for (self: Int): Char */
3168 uint32_t standard___standard__Int___ascii(long self) {
3169 uint32_t var /* : Char */;
3170 uint32_t var1 /* : Char */;
3171 var1 = (uint32_t)self;
3172 var = var1;
3173 goto RET_LABEL;
3174 RET_LABEL:;
3175 return var;
3176 }
3177 /* method kernel#Int#digit_count for (self: Int, Int): Int */
3178 long standard___standard__Int___digit_count(long self, long p0) {
3179 long var /* : Int */;
3180 long var_b /* var b: Int */;
3181 short int var1 /* : Bool */;
3182 short int var3 /* : Bool */;
3183 long var4 /* : Int */;
3184 short int var5 /* : Bool */;
3185 short int var7 /* : Bool */;
3186 int cltype;
3187 int idtype;
3188 const char* var_class_name;
3189 short int var8 /* : Bool */;
3190 long var_d /* var d: Int */;
3191 long var9 /* : Int */;
3192 long var11 /* : Int */;
3193 long var_n /* var n: Int */;
3194 short int var12 /* : Bool */;
3195 short int var14 /* : Bool */;
3196 short int var15 /* : Bool */;
3197 short int var17 /* : Bool */;
3198 int cltype18;
3199 int idtype19;
3200 const char* var_class_name20;
3201 short int var21 /* : Bool */;
3202 long var22 /* : Int */;
3203 short int var24 /* : Bool */;
3204 int cltype25;
3205 int idtype26;
3206 const char* var_class_name27;
3207 long var28 /* : Int */;
3208 long var29 /* : Int */;
3209 short int var31 /* : Bool */;
3210 int cltype32;
3211 int idtype33;
3212 const char* var_class_name34;
3213 long var35 /* : Int */;
3214 var_b = p0;
3215 {
3216 { /* Inline kernel#Int#== (var_b,10l) on <var_b:Int> */
3217 var3 = var_b == 10l;
3218 var1 = var3;
3219 goto RET_LABEL2;
3220 RET_LABEL2:(void)0;
3221 }
3222 }
3223 if (var1){
3224 {
3225 var4 = standard___standard__Int___digit_count_base_95d10(self);
3226 }
3227 var = var4;
3228 goto RET_LABEL;
3229 } else {
3230 }
3231 {
3232 { /* Inline kernel#Int#< (self,0l) on <self:Int> */
3233 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3234 /* <0l:Int> isa OTHER */
3235 var7 = 1; /* easy <0l:Int> isa OTHER*/
3236 if (unlikely(!var7)) {
3237 var_class_name = type_standard__Int.name;
3238 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3239 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3240 fatal_exit(1);
3241 }
3242 var8 = self < 0l;
3243 var5 = var8;
3244 goto RET_LABEL6;
3245 RET_LABEL6:(void)0;
3246 }
3247 }
3248 if (var5){
3249 var_d = 1l;
3250 {
3251 { /* Inline kernel#Int#unary - (self) on <self:Int> */
3252 var11 = -self;
3253 var9 = var11;
3254 goto RET_LABEL10;
3255 RET_LABEL10:(void)0;
3256 }
3257 }
3258 var_n = var9;
3259 } else {
3260 {
3261 { /* Inline kernel#Int#== (self,0l) on <self:Int> */
3262 var14 = self == 0l;
3263 var12 = var14;
3264 goto RET_LABEL13;
3265 RET_LABEL13:(void)0;
3266 }
3267 }
3268 if (var12){
3269 var = 1l;
3270 goto RET_LABEL;
3271 } else {
3272 var_d = 0l;
3273 var_n = self;
3274 }
3275 }
3276 for(;;) {
3277 {
3278 { /* Inline kernel#Int#> (var_n,0l) on <var_n:Int> */
3279 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3280 /* <0l:Int> isa OTHER */
3281 var17 = 1; /* easy <0l:Int> isa OTHER*/
3282 if (unlikely(!var17)) {
3283 var_class_name20 = type_standard__Int.name;
3284 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
3285 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
3286 fatal_exit(1);
3287 }
3288 var21 = var_n > 0l;
3289 var15 = var21;
3290 goto RET_LABEL16;
3291 RET_LABEL16:(void)0;
3292 }
3293 }
3294 if (var15){
3295 {
3296 { /* Inline kernel#Int#+ (var_d,1l) on <var_d:Int> */
3297 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3298 /* <1l:Int> isa OTHER */
3299 var24 = 1; /* easy <1l:Int> isa OTHER*/
3300 if (unlikely(!var24)) {
3301 var_class_name27 = type_standard__Int.name;
3302 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
3303 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3304 fatal_exit(1);
3305 }
3306 var28 = var_d + 1l;
3307 var22 = var28;
3308 goto RET_LABEL23;
3309 RET_LABEL23:(void)0;
3310 }
3311 }
3312 var_d = var22;
3313 {
3314 { /* Inline kernel#Int#/ (var_n,var_b) on <var_n:Int> */
3315 /* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
3316 /* <var_b:Int> isa OTHER */
3317 var31 = 1; /* easy <var_b:Int> isa OTHER*/
3318 if (unlikely(!var31)) {
3319 var_class_name34 = type_standard__Int.name;
3320 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
3321 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
3322 fatal_exit(1);
3323 }
3324 var35 = var_n / var_b;
3325 var29 = var35;
3326 goto RET_LABEL30;
3327 RET_LABEL30:(void)0;
3328 }
3329 }
3330 var_n = var29;
3331 } else {
3332 goto BREAK_label;
3333 }
3334 }
3335 BREAK_label: (void)0;
3336 var = var_d;
3337 goto RET_LABEL;
3338 RET_LABEL:;
3339 return var;
3340 }
3341 /* method kernel#Int#digit_count_base_10 for (self: Int): Int */
3342 long standard___standard__Int___digit_count_base_95d10(long self) {
3343 long var /* : Int */;
3344 short int var1 /* : Bool */;
3345 short int var3 /* : Bool */;
3346 int cltype;
3347 int idtype;
3348 const char* var_class_name;
3349 short int var4 /* : Bool */;
3350 long var_result /* var result: Int */;
3351 long var5 /* : Int */;
3352 long var7 /* : Int */;
3353 long var_val /* var val: Int */;
3354 short int var8 /* : Bool */;
3355 short int var10 /* : Bool */;
3356 int cltype11;
3357 int idtype12;
3358 const char* var_class_name13;
3359 short int var14 /* : Bool */;
3360 short int var15 /* : Bool */;
3361 short int var17 /* : Bool */;
3362 int cltype18;
3363 int idtype19;
3364 const char* var_class_name20;
3365 short int var21 /* : Bool */;
3366 long var22 /* : Int */;
3367 short int var24 /* : Bool */;
3368 int cltype25;
3369 int idtype26;
3370 const char* var_class_name27;
3371 long var28 /* : Int */;
3372 short int var29 /* : Bool */;
3373 short int var31 /* : Bool */;
3374 int cltype32;
3375 int idtype33;
3376 const char* var_class_name34;
3377 short int var35 /* : Bool */;
3378 long var36 /* : Int */;
3379 short int var38 /* : Bool */;
3380 int cltype39;
3381 int idtype40;
3382 const char* var_class_name41;
3383 long var42 /* : Int */;
3384 short int var43 /* : Bool */;
3385 short int var45 /* : Bool */;
3386 int cltype46;
3387 int idtype47;
3388 const char* var_class_name48;
3389 short int var49 /* : Bool */;
3390 long var50 /* : Int */;
3391 short int var52 /* : Bool */;
3392 int cltype53;
3393 int idtype54;
3394 const char* var_class_name55;
3395 long var56 /* : Int */;
3396 long var57 /* : Int */;
3397 short int var59 /* : Bool */;
3398 int cltype60;
3399 int idtype61;
3400 const char* var_class_name62;
3401 long var63 /* : Int */;
3402 long var64 /* : Int */;
3403 short int var66 /* : Bool */;
3404 int cltype67;
3405 int idtype68;
3406 const char* var_class_name69;
3407 long var70 /* : Int */;
3408 {
3409 { /* Inline kernel#Int#< (self,0l) on <self:Int> */
3410 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3411 /* <0l:Int> isa OTHER */
3412 var3 = 1; /* easy <0l:Int> isa OTHER*/
3413 if (unlikely(!var3)) {
3414 var_class_name = type_standard__Int.name;
3415 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3416 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3417 fatal_exit(1);
3418 }
3419 var4 = self < 0l;
3420 var1 = var4;
3421 goto RET_LABEL2;
3422 RET_LABEL2:(void)0;
3423 }
3424 }
3425 if (var1){
3426 var_result = 2l;
3427 {
3428 { /* Inline kernel#Int#unary - (self) on <self:Int> */
3429 var7 = -self;
3430 var5 = var7;
3431 goto RET_LABEL6;
3432 RET_LABEL6:(void)0;
3433 }
3434 }
3435 var_val = var5;
3436 } else {
3437 var_result = 1l;
3438 var_val = self;
3439 }
3440 for(;;) {
3441 {
3442 { /* Inline kernel#Int#< (var_val,10l) on <var_val:Int> */
3443 /* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
3444 /* <10l:Int> isa OTHER */
3445 var10 = 1; /* easy <10l:Int> isa OTHER*/
3446 if (unlikely(!var10)) {
3447 var_class_name13 = type_standard__Int.name;
3448 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3449 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3450 fatal_exit(1);
3451 }
3452 var14 = var_val < 10l;
3453 var8 = var14;
3454 goto RET_LABEL9;
3455 RET_LABEL9:(void)0;
3456 }
3457 }
3458 if (var8){
3459 var = var_result;
3460 goto RET_LABEL;
3461 } else {
3462 }
3463 {
3464 { /* Inline kernel#Int#< (var_val,100l) on <var_val:Int> */
3465 /* Covariant cast for argument 0 (i) <100l:Int> isa OTHER */
3466 /* <100l:Int> isa OTHER */
3467 var17 = 1; /* easy <100l:Int> isa OTHER*/
3468 if (unlikely(!var17)) {
3469 var_class_name20 = type_standard__Int.name;
3470 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
3471 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3472 fatal_exit(1);
3473 }
3474 var21 = var_val < 100l;
3475 var15 = var21;
3476 goto RET_LABEL16;
3477 RET_LABEL16:(void)0;
3478 }
3479 }
3480 if (var15){
3481 {
3482 { /* Inline kernel#Int#+ (var_result,1l) on <var_result:Int> */
3483 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3484 /* <1l:Int> isa OTHER */
3485 var24 = 1; /* easy <1l:Int> isa OTHER*/
3486 if (unlikely(!var24)) {
3487 var_class_name27 = type_standard__Int.name;
3488 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
3489 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3490 fatal_exit(1);
3491 }
3492 var28 = var_result + 1l;
3493 var22 = var28;
3494 goto RET_LABEL23;
3495 RET_LABEL23:(void)0;
3496 }
3497 }
3498 var = var22;
3499 goto RET_LABEL;
3500 } else {
3501 }
3502 {
3503 { /* Inline kernel#Int#< (var_val,1000l) on <var_val:Int> */
3504 /* Covariant cast for argument 0 (i) <1000l:Int> isa OTHER */
3505 /* <1000l:Int> isa OTHER */
3506 var31 = 1; /* easy <1000l:Int> isa OTHER*/
3507 if (unlikely(!var31)) {
3508 var_class_name34 = type_standard__Int.name;
3509 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
3510 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3511 fatal_exit(1);
3512 }
3513 var35 = var_val < 1000l;
3514 var29 = var35;
3515 goto RET_LABEL30;
3516 RET_LABEL30:(void)0;
3517 }
3518 }
3519 if (var29){
3520 {
3521 { /* Inline kernel#Int#+ (var_result,2l) on <var_result:Int> */
3522 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
3523 /* <2l:Int> isa OTHER */
3524 var38 = 1; /* easy <2l:Int> isa OTHER*/
3525 if (unlikely(!var38)) {
3526 var_class_name41 = type_standard__Int.name;
3527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
3528 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3529 fatal_exit(1);
3530 }
3531 var42 = var_result + 2l;
3532 var36 = var42;
3533 goto RET_LABEL37;
3534 RET_LABEL37:(void)0;
3535 }
3536 }
3537 var = var36;
3538 goto RET_LABEL;
3539 } else {
3540 }
3541 {
3542 { /* Inline kernel#Int#< (var_val,10000l) on <var_val:Int> */
3543 /* Covariant cast for argument 0 (i) <10000l:Int> isa OTHER */
3544 /* <10000l:Int> isa OTHER */
3545 var45 = 1; /* easy <10000l:Int> isa OTHER*/
3546 if (unlikely(!var45)) {
3547 var_class_name48 = type_standard__Int.name;
3548 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
3549 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3550 fatal_exit(1);
3551 }
3552 var49 = var_val < 10000l;
3553 var43 = var49;
3554 goto RET_LABEL44;
3555 RET_LABEL44:(void)0;
3556 }
3557 }
3558 if (var43){
3559 {
3560 { /* Inline kernel#Int#+ (var_result,3l) on <var_result:Int> */
3561 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
3562 /* <3l:Int> isa OTHER */
3563 var52 = 1; /* easy <3l:Int> isa OTHER*/
3564 if (unlikely(!var52)) {
3565 var_class_name55 = type_standard__Int.name;
3566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
3567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3568 fatal_exit(1);
3569 }
3570 var56 = var_result + 3l;
3571 var50 = var56;
3572 goto RET_LABEL51;
3573 RET_LABEL51:(void)0;
3574 }
3575 }
3576 var = var50;
3577 goto RET_LABEL;
3578 } else {
3579 }
3580 {
3581 { /* Inline kernel#Int#/ (var_val,10000l) on <var_val:Int> */
3582 /* Covariant cast for argument 0 (i) <10000l:Int> isa OTHER */
3583 /* <10000l:Int> isa OTHER */
3584 var59 = 1; /* easy <10000l:Int> isa OTHER*/
3585 if (unlikely(!var59)) {
3586 var_class_name62 = type_standard__Int.name;
3587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62);
3588 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
3589 fatal_exit(1);
3590 }
3591 var63 = var_val / 10000l;
3592 var57 = var63;
3593 goto RET_LABEL58;
3594 RET_LABEL58:(void)0;
3595 }
3596 }
3597 var_val = var57;
3598 {
3599 { /* Inline kernel#Int#+ (var_result,4l) on <var_result:Int> */
3600 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
3601 /* <4l:Int> isa OTHER */
3602 var66 = 1; /* easy <4l:Int> isa OTHER*/
3603 if (unlikely(!var66)) {
3604 var_class_name69 = type_standard__Int.name;
3605 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
3606 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3607 fatal_exit(1);
3608 }
3609 var70 = var_result + 4l;
3610 var64 = var70;
3611 goto RET_LABEL65;
3612 RET_LABEL65:(void)0;
3613 }
3614 }
3615 var_result = var64;
3616 }
3617 RET_LABEL:;
3618 return var;
3619 }
3620 /* method kernel#Int#to_c for (self: Int): Char */
3621 uint32_t standard___standard__Int___to_c(long self) {
3622 uint32_t var /* : Char */;
3623 short int var1 /* : Bool */;
3624 short int var2 /* : Bool */;
3625 short int var4 /* : Bool */;
3626 int cltype;
3627 int idtype;
3628 const char* var_class_name;
3629 short int var5 /* : Bool */;
3630 short int var_ /* var : Bool */;
3631 short int var6 /* : Bool */;
3632 short int var8 /* : Bool */;
3633 int cltype9;
3634 int idtype10;
3635 const char* var_class_name11;
3636 short int var12 /* : Bool */;
3637 short int var13 /* : Bool */;
3638 short int var15 /* : Bool */;
3639 int cltype16;
3640 int idtype17;
3641 const char* var_class_name18;
3642 short int var19 /* : Bool */;
3643 long var20 /* : Int */;
3644 long var22 /* : Int */;
3645 long var23 /* : Int */;
3646 short int var25 /* : Bool */;
3647 int cltype26;
3648 int idtype27;
3649 const char* var_class_name28;
3650 long var29 /* : Int */;
3651 uint32_t var30 /* : Char */;
3652 uint32_t var32 /* : Char */;
3653 long var33 /* : Int */;
3654 long var35 /* : Int */;
3655 long var36 /* : Int */;
3656 short int var38 /* : Bool */;
3657 int cltype39;
3658 int idtype40;
3659 const char* var_class_name41;
3660 long var42 /* : Int */;
3661 long var43 /* : Int */;
3662 short int var45 /* : Bool */;
3663 int cltype46;
3664 int idtype47;
3665 const char* var_class_name48;
3666 long var49 /* : Int */;
3667 uint32_t var50 /* : Char */;
3668 uint32_t var52 /* : Char */;
3669 {
3670 { /* Inline kernel#Int#>= (self,0l) on <self:Int> */
3671 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3672 /* <0l:Int> isa OTHER */
3673 var4 = 1; /* easy <0l:Int> isa OTHER*/
3674 if (unlikely(!var4)) {
3675 var_class_name = type_standard__Int.name;
3676 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3677 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
3678 fatal_exit(1);
3679 }
3680 var5 = self >= 0l;
3681 var2 = var5;
3682 goto RET_LABEL3;
3683 RET_LABEL3:(void)0;
3684 }
3685 }
3686 var_ = var2;
3687 if (var2){
3688 {
3689 { /* Inline kernel#Int#<= (self,36l) on <self:Int> */
3690 /* Covariant cast for argument 0 (i) <36l:Int> isa OTHER */
3691 /* <36l:Int> isa OTHER */
3692 var8 = 1; /* easy <36l:Int> isa OTHER*/
3693 if (unlikely(!var8)) {
3694 var_class_name11 = type_standard__Int.name;
3695 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
3696 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
3697 fatal_exit(1);
3698 }
3699 var12 = self <= 36l;
3700 var6 = var12;
3701 goto RET_LABEL7;
3702 RET_LABEL7:(void)0;
3703 }
3704 }
3705 var1 = var6;
3706 } else {
3707 var1 = var_;
3708 }
3709 if (unlikely(!var1)) {
3710 PRINT_ERROR("Runtime error: %s", "Assert failed");
3711 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 685);
3712 fatal_exit(1);
3713 }
3714 {
3715 { /* Inline kernel#Int#< (self,10l) on <self:Int> */
3716 /* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
3717 /* <10l:Int> isa OTHER */
3718 var15 = 1; /* easy <10l:Int> isa OTHER*/
3719 if (unlikely(!var15)) {
3720 var_class_name18 = type_standard__Int.name;
3721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
3722 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
3723 fatal_exit(1);
3724 }
3725 var19 = self < 10l;
3726 var13 = var19;
3727 goto RET_LABEL14;
3728 RET_LABEL14:(void)0;
3729 }
3730 }
3731 if (var13){
3732 {
3733 { /* Inline kernel#Char#ascii ('0') on <'0':Char> */
3734 var22 = (long)'0';
3735 var20 = var22;
3736 goto RET_LABEL21;
3737 RET_LABEL21:(void)0;
3738 }
3739 }
3740 {
3741 { /* Inline kernel#Int#+ (self,var20) on <self:Int> */
3742 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
3743 /* <var20:Int> isa OTHER */
3744 var25 = 1; /* easy <var20:Int> isa OTHER*/
3745 if (unlikely(!var25)) {
3746 var_class_name28 = type_standard__Int.name;
3747 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
3748 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3749 fatal_exit(1);
3750 }
3751 var29 = self + var20;
3752 var23 = var29;
3753 goto RET_LABEL24;
3754 RET_LABEL24:(void)0;
3755 }
3756 }
3757 {
3758 { /* Inline kernel#Int#ascii (var23) on <var23:Int> */
3759 var32 = (uint32_t)var23;
3760 var30 = var32;
3761 goto RET_LABEL31;
3762 RET_LABEL31:(void)0;
3763 }
3764 }
3765 var = var30;
3766 goto RET_LABEL;
3767 } else {
3768 {
3769 { /* Inline kernel#Char#ascii ('a') on <'a':Char> */
3770 var35 = (long)'a';
3771 var33 = var35;
3772 goto RET_LABEL34;
3773 RET_LABEL34:(void)0;
3774 }
3775 }
3776 {
3777 { /* Inline kernel#Int#- (var33,10l) on <var33:Int> */
3778 /* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
3779 /* <10l:Int> isa OTHER */
3780 var38 = 1; /* easy <10l:Int> isa OTHER*/
3781 if (unlikely(!var38)) {
3782 var_class_name41 = type_standard__Int.name;
3783 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
3784 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
3785 fatal_exit(1);
3786 }
3787 var42 = var33 - 10l;
3788 var36 = var42;
3789 goto RET_LABEL37;
3790 RET_LABEL37:(void)0;
3791 }
3792 }
3793 {
3794 { /* Inline kernel#Int#+ (self,var36) on <self:Int> */
3795 /* Covariant cast for argument 0 (i) <var36:Int> isa OTHER */
3796 /* <var36:Int> isa OTHER */
3797 var45 = 1; /* easy <var36:Int> isa OTHER*/
3798 if (unlikely(!var45)) {
3799 var_class_name48 = type_standard__Int.name;
3800 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
3801 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
3802 fatal_exit(1);
3803 }
3804 var49 = self + var36;
3805 var43 = var49;
3806 goto RET_LABEL44;
3807 RET_LABEL44:(void)0;
3808 }
3809 }
3810 {
3811 { /* Inline kernel#Int#ascii (var43) on <var43:Int> */
3812 var52 = (uint32_t)var43;
3813 var50 = var52;
3814 goto RET_LABEL51;
3815 RET_LABEL51:(void)0;
3816 }
3817 }
3818 var = var50;
3819 goto RET_LABEL;
3820 }
3821 RET_LABEL:;
3822 return var;
3823 }
3824 /* method kernel#Int#abs for (self: Int): Int */
3825 long standard___standard__Int___abs(long self) {
3826 long var /* : Int */;
3827 short int var1 /* : Bool */;
3828 short int var3 /* : Bool */;
3829 int cltype;
3830 int idtype;
3831 const char* var_class_name;
3832 short int var4 /* : Bool */;
3833 long var5 /* : Int */;
3834 long var7 /* : Int */;
3835 long var8 /* : Int */;
3836 short int var10 /* : Bool */;
3837 int cltype11;
3838 int idtype12;
3839 const char* var_class_name13;
3840 long var14 /* : Int */;
3841 {
3842 { /* Inline kernel#Int#>= (self,0l) on <self:Int> */
3843 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3844 /* <0l:Int> isa OTHER */
3845 var3 = 1; /* easy <0l:Int> isa OTHER*/
3846 if (unlikely(!var3)) {
3847 var_class_name = type_standard__Int.name;
3848 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3849 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
3850 fatal_exit(1);
3851 }
3852 var4 = self >= 0l;
3853 var1 = var4;
3854 goto RET_LABEL2;
3855 RET_LABEL2:(void)0;
3856 }
3857 }
3858 if (var1){
3859 var = self;
3860 goto RET_LABEL;
3861 } else {
3862 {
3863 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
3864 var7 = -1l;
3865 var5 = var7;
3866 goto RET_LABEL6;
3867 RET_LABEL6:(void)0;
3868 }
3869 }
3870 {
3871 { /* Inline kernel#Int#* (var5,self) on <var5:Int> */
3872 /* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
3873 /* <self:Int> isa OTHER */
3874 var10 = 1; /* easy <self:Int> isa OTHER*/
3875 if (unlikely(!var10)) {
3876 var_class_name13 = type_standard__Int.name;
3877 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3878 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
3879 fatal_exit(1);
3880 }
3881 var14 = var5 * self;
3882 var8 = var14;
3883 goto RET_LABEL9;
3884 RET_LABEL9:(void)0;
3885 }
3886 }
3887 var = var8;
3888 goto RET_LABEL;
3889 }
3890 RET_LABEL:;
3891 return var;
3892 }
3893 /* method kernel#Char#object_id for (self: Char): Int */
3894 long standard___standard__Char___Object__object_id(uint32_t self) {
3895 long var /* : Int */;
3896 long var1 /* : Int */;
3897 var1 = (long)self;
3898 var = var1;
3899 goto RET_LABEL;
3900 RET_LABEL:;
3901 return var;
3902 }
3903 /* method kernel#Char#object_id for (self: Object): Int */
3904 long VIRTUAL_standard___standard__Char___Object__object_id(val* self) {
3905 long var /* : Int */;
3906 long var1 /* : Int */;
3907 uint32_t var3 /* : Char */;
3908 long var4 /* : Int */;
3909 { /* Inline kernel#Char#object_id (self) on <self:Object(Char)> */
3910 var3 = (uint32_t)((long)(self)>>2);
3911 var4 = (long)var3;
3912 var1 = var4;
3913 goto RET_LABEL2;
3914 RET_LABEL2:(void)0;
3915 }
3916 var = var1;
3917 RET_LABEL:;
3918 return var;
3919 }
3920 /* method kernel#Char#hash for (self: Char): Int */
3921 long standard___standard__Char___Object__hash(uint32_t self) {
3922 long var /* : Int */;
3923 long var1 /* : Int */;
3924 long var3 /* : Int */;
3925 {
3926 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3927 var3 = (long)self;
3928 var1 = var3;
3929 goto RET_LABEL2;
3930 RET_LABEL2:(void)0;
3931 }
3932 }
3933 var = var1;
3934 goto RET_LABEL;
3935 RET_LABEL:;
3936 return var;
3937 }
3938 /* method kernel#Char#hash for (self: Object): Int */
3939 long VIRTUAL_standard___standard__Char___Object__hash(val* self) {
3940 long var /* : Int */;
3941 long var1 /* : Int */;
3942 uint32_t var2 /* : Char */;
3943 var2 = (uint32_t)((long)(self)>>2);
3944 var1 = standard___standard__Char___Object__hash(var2);
3945 var = var1;
3946 RET_LABEL:;
3947 return var;
3948 }
3949 /* method kernel#Char#== for (self: Char, nullable Object): Bool */
3950 short int standard___standard__Char___Object___61d_61d(uint32_t self, val* p0) {
3951 short int var /* : Bool */;
3952 short int var1 /* : Bool */;
3953 uint32_t var2 /* : Char */;
3954 var2 = (uint32_t)((long)(p0)>>2);
3955 var1 = (p0 != NULL) && (var2 == self);
3956 var = var1;
3957 goto RET_LABEL;
3958 RET_LABEL:;
3959 return var;
3960 }
3961 /* method kernel#Char#== for (self: Object, nullable Object): Bool */
3962 short int VIRTUAL_standard___standard__Char___Object___61d_61d(val* self, val* p0) {
3963 short int var /* : Bool */;
3964 short int var1 /* : Bool */;
3965 short int var3 /* : Bool */;
3966 { /* Inline kernel#Char#== (self,p0) on <self:Object(Char)> */
3967 var3 = self == p0;
3968 var1 = var3;
3969 goto RET_LABEL2;
3970 RET_LABEL2:(void)0;
3971 }
3972 var = var1;
3973 RET_LABEL:;
3974 return var;
3975 }
3976 /* method kernel#Char#!= for (self: Char, nullable Object): Bool */
3977 short int standard___standard__Char___Object___33d_61d(uint32_t self, val* p0) {
3978 short int var /* : Bool */;
3979 short int var1 /* : Bool */;
3980 uint32_t var2 /* : Char */;
3981 short int var3 /* : Bool */;
3982 var2 = (uint32_t)((long)(p0)>>2);
3983 var1 = (p0 != NULL) && (var2 == self);
3984 var3 = !var1;
3985 var = var3;
3986 goto RET_LABEL;
3987 RET_LABEL:;
3988 return var;
3989 }
3990 /* method kernel#Char#!= for (self: Object, nullable Object): Bool */
3991 short int VIRTUAL_standard___standard__Char___Object___33d_61d(val* self, val* p0) {
3992 short int var /* : Bool */;
3993 short int var1 /* : Bool */;
3994 short int var3 /* : Bool */;
3995 short int var4 /* : Bool */;
3996 { /* Inline kernel#Char#!= (self,p0) on <self:Object(Char)> */
3997 var3 = self == p0;
3998 var4 = !var3;
3999 var1 = var4;
4000 goto RET_LABEL2;
4001 RET_LABEL2:(void)0;
4002 }
4003 var = var1;
4004 RET_LABEL:;
4005 return var;
4006 }
4007 /* method kernel#Char#<= for (self: Char, Char): Bool */
4008 short int standard___standard__Char___Comparable___60d_61d(uint32_t self, uint32_t p0) {
4009 short int var /* : Bool */;
4010 short int var1 /* : Bool */;
4011 int cltype;
4012 int idtype;
4013 const char* var_class_name;
4014 short int var2 /* : Bool */;
4015 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
4016 /* <p0:Char> isa OTHER */
4017 var1 = 1; /* easy <p0:Char> isa OTHER*/
4018 if (unlikely(!var1)) {
4019 var_class_name = type_standard__Char.name;
4020 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4021 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
4022 fatal_exit(1);
4023 }
4024 var2 = self <= p0;
4025 var = var2;
4026 goto RET_LABEL;
4027 RET_LABEL:;
4028 return var;
4029 }
4030 /* method kernel#Char#<= for (self: Comparable, Comparable): Bool */
4031 short int VIRTUAL_standard___standard__Char___Comparable___60d_61d(val* self, val* p0) {
4032 short int var /* : Bool */;
4033 short int var1 /* : Bool */;
4034 short int var3 /* : Bool */;
4035 int cltype;
4036 int idtype;
4037 const struct type* type_struct;
4038 const char* var_class_name;
4039 uint32_t var4 /* : Char */;
4040 uint32_t var5 /* : Char */;
4041 short int var6 /* : Bool */;
4042 { /* Inline kernel#Char#<= (self,p0) on <self:Comparable(Char)> */
4043 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4044 /* <p0:Comparable> isa OTHER */
4045 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
4046 cltype = type_struct->color;
4047 idtype = type_struct->id;
4048 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4049 var3 = 0;
4050 } else {
4051 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4052 }
4053 if (unlikely(!var3)) {
4054 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4055 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4056 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
4057 fatal_exit(1);
4058 }
4059 var4 = (uint32_t)((long)(self)>>2);
4060 var5 = (uint32_t)((long)(p0)>>2);
4061 var6 = var4 <= var5;
4062 var1 = var6;
4063 goto RET_LABEL2;
4064 RET_LABEL2:(void)0;
4065 }
4066 var = var1;
4067 RET_LABEL:;
4068 return var;
4069 }
4070 /* method kernel#Char#< for (self: Char, Char): Bool */
4071 short int standard___standard__Char___Comparable___60d(uint32_t self, uint32_t p0) {
4072 short int var /* : Bool */;
4073 short int var1 /* : Bool */;
4074 int cltype;
4075 int idtype;
4076 const char* var_class_name;
4077 short int var2 /* : Bool */;
4078 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
4079 /* <p0:Char> isa OTHER */
4080 var1 = 1; /* easy <p0:Char> isa OTHER*/
4081 if (unlikely(!var1)) {
4082 var_class_name = type_standard__Char.name;
4083 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4084 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723);
4085 fatal_exit(1);
4086 }
4087 var2 = self < p0;
4088 var = var2;
4089 goto RET_LABEL;
4090 RET_LABEL:;
4091 return var;
4092 }
4093 /* method kernel#Char#< for (self: Comparable, Comparable): Bool */
4094 short int VIRTUAL_standard___standard__Char___Comparable___60d(val* self, val* p0) {
4095 short int var /* : Bool */;
4096 short int var1 /* : Bool */;
4097 short int var3 /* : Bool */;
4098 int cltype;
4099 int idtype;
4100 const struct type* type_struct;
4101 const char* var_class_name;
4102 uint32_t var4 /* : Char */;
4103 uint32_t var5 /* : Char */;
4104 short int var6 /* : Bool */;
4105 { /* Inline kernel#Char#< (self,p0) on <self:Comparable(Char)> */
4106 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4107 /* <p0:Comparable> isa OTHER */
4108 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
4109 cltype = type_struct->color;
4110 idtype = type_struct->id;
4111 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4112 var3 = 0;
4113 } else {
4114 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4115 }
4116 if (unlikely(!var3)) {
4117 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4118 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4119 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723);
4120 fatal_exit(1);
4121 }
4122 var4 = (uint32_t)((long)(self)>>2);
4123 var5 = (uint32_t)((long)(p0)>>2);
4124 var6 = var4 < var5;
4125 var1 = var6;
4126 goto RET_LABEL2;
4127 RET_LABEL2:(void)0;
4128 }
4129 var = var1;
4130 RET_LABEL:;
4131 return var;
4132 }
4133 /* method kernel#Char#>= for (self: Char, Char): Bool */
4134 short int standard___standard__Char___Comparable___62d_61d(uint32_t self, uint32_t p0) {
4135 short int var /* : Bool */;
4136 short int var1 /* : Bool */;
4137 int cltype;
4138 int idtype;
4139 const char* var_class_name;
4140 short int var2 /* : Bool */;
4141 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
4142 /* <p0:Char> isa OTHER */
4143 var1 = 1; /* easy <p0:Char> isa OTHER*/
4144 if (unlikely(!var1)) {
4145 var_class_name = type_standard__Char.name;
4146 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4147 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
4148 fatal_exit(1);
4149 }
4150 var2 = self >= p0;
4151 var = var2;
4152 goto RET_LABEL;
4153 RET_LABEL:;
4154 return var;
4155 }
4156 /* method kernel#Char#>= for (self: Comparable, Comparable): Bool */
4157 short int VIRTUAL_standard___standard__Char___Comparable___62d_61d(val* self, val* p0) {
4158 short int var /* : Bool */;
4159 short int var1 /* : Bool */;
4160 short int var3 /* : Bool */;
4161 int cltype;
4162 int idtype;
4163 const struct type* type_struct;
4164 const char* var_class_name;
4165 uint32_t var4 /* : Char */;
4166 uint32_t var5 /* : Char */;
4167 short int var6 /* : Bool */;
4168 { /* Inline kernel#Char#>= (self,p0) on <self:Comparable(Char)> */
4169 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4170 /* <p0:Comparable> isa OTHER */
4171 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
4172 cltype = type_struct->color;
4173 idtype = type_struct->id;
4174 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4175 var3 = 0;
4176 } else {
4177 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4178 }
4179 if (unlikely(!var3)) {
4180 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4181 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4182 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
4183 fatal_exit(1);
4184 }
4185 var4 = (uint32_t)((long)(self)>>2);
4186 var5 = (uint32_t)((long)(p0)>>2);
4187 var6 = var4 >= var5;
4188 var1 = var6;
4189 goto RET_LABEL2;
4190 RET_LABEL2:(void)0;
4191 }
4192 var = var1;
4193 RET_LABEL:;
4194 return var;
4195 }
4196 /* method kernel#Char#> for (self: Char, Char): Bool */
4197 short int standard___standard__Char___Comparable___62d(uint32_t self, uint32_t p0) {
4198 short int var /* : Bool */;
4199 short int var1 /* : Bool */;
4200 int cltype;
4201 int idtype;
4202 const char* var_class_name;
4203 short int var2 /* : Bool */;
4204 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
4205 /* <p0:Char> isa OTHER */
4206 var1 = 1; /* easy <p0:Char> isa OTHER*/
4207 if (unlikely(!var1)) {
4208 var_class_name = type_standard__Char.name;
4209 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4210 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725);
4211 fatal_exit(1);
4212 }
4213 var2 = self > p0;
4214 var = var2;
4215 goto RET_LABEL;
4216 RET_LABEL:;
4217 return var;
4218 }
4219 /* method kernel#Char#> for (self: Comparable, Comparable): Bool */
4220 short int VIRTUAL_standard___standard__Char___Comparable___62d(val* self, val* p0) {
4221 short int var /* : Bool */;
4222 short int var1 /* : Bool */;
4223 short int var3 /* : Bool */;
4224 int cltype;
4225 int idtype;
4226 const struct type* type_struct;
4227 const char* var_class_name;
4228 uint32_t var4 /* : Char */;
4229 uint32_t var5 /* : Char */;
4230 short int var6 /* : Bool */;
4231 { /* Inline kernel#Char#> (self,p0) on <self:Comparable(Char)> */
4232 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
4233 /* <p0:Comparable> isa OTHER */
4234 type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
4235 cltype = type_struct->color;
4236 idtype = type_struct->id;
4237 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
4238 var3 = 0;
4239 } else {
4240 var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
4241 }
4242 if (unlikely(!var3)) {
4243 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
4244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4245 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725);
4246 fatal_exit(1);
4247 }
4248 var4 = (uint32_t)((long)(self)>>2);
4249 var5 = (uint32_t)((long)(p0)>>2);
4250 var6 = var4 > var5;
4251 var1 = var6;
4252 goto RET_LABEL2;
4253 RET_LABEL2:(void)0;
4254 }
4255 var = var1;
4256 RET_LABEL:;
4257 return var;
4258 }
4259 /* method kernel#Char#successor for (self: Char, Int): Char */
4260 uint32_t standard___standard__Char___Discrete__successor(uint32_t self, long p0) {
4261 uint32_t var /* : Char */;
4262 uint32_t var1 /* : Char */;
4263 var1 = self + p0;
4264 var = var1;
4265 goto RET_LABEL;
4266 RET_LABEL:;
4267 return var;
4268 }
4269 /* method kernel#Char#successor for (self: Discrete, Int): Discrete */
4270 val* VIRTUAL_standard___standard__Char___Discrete__successor(val* self, long p0) {
4271 val* var /* : Discrete */;
4272 uint32_t var1 /* : Char */;
4273 uint32_t var3 /* : Char */;
4274 uint32_t var4 /* : Char */;
4275 val* var5 /* : Discrete */;
4276 { /* Inline kernel#Char#successor (self,p0) on <self:Discrete(Char)> */
4277 var3 = (uint32_t)((long)(self)>>2);
4278 var4 = var3 + p0;
4279 var1 = var4;
4280 goto RET_LABEL2;
4281 RET_LABEL2:(void)0;
4282 }
4283 var5 = (val*)((long)(var1)<<2|2);
4284 var = var5;
4285 RET_LABEL:;
4286 return var;
4287 }
4288 /* method kernel#Char#distance for (self: Char, Char): Int */
4289 long standard___standard__Char___Discrete__distance(uint32_t self, uint32_t p0) {
4290 long var /* : Int */;
4291 short int var1 /* : Bool */;
4292 int cltype;
4293 int idtype;
4294 const char* var_class_name;
4295 uint32_t var_c /* var c: Char */;
4296 long var2 /* : Int */;
4297 long var4 /* : Int */;
4298 long var5 /* : Int */;
4299 long var7 /* : Int */;
4300 long var8 /* : Int */;
4301 short int var10 /* : Bool */;
4302 int cltype11;
4303 int idtype12;
4304 const char* var_class_name13;
4305 long var14 /* : Int */;
4306 long var_d /* var d: Int */;
4307 short int var15 /* : Bool */;
4308 short int var17 /* : Bool */;
4309 int cltype18;
4310 int idtype19;
4311 const char* var_class_name20;
4312 short int var21 /* : Bool */;
4313 long var22 /* : Int */;
4314 long var24 /* : Int */;
4315 /* Covariant cast for argument 0 (c) <p0:Char> isa OTHER */
4316 /* <p0:Char> isa OTHER */
4317 var1 = 1; /* easy <p0:Char> isa OTHER*/
4318 if (unlikely(!var1)) {
4319 var_class_name = type_standard__Char.name;
4320 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4321 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 730);
4322 fatal_exit(1);
4323 }
4324 var_c = p0;
4325 {
4326 { /* Inline kernel#Char#ascii (self) on <self:Char> */
4327 var4 = (long)self;
4328 var2 = var4;
4329 goto RET_LABEL3;
4330 RET_LABEL3:(void)0;
4331 }
4332 }
4333 {
4334 { /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
4335 var7 = (long)var_c;
4336 var5 = var7;
4337 goto RET_LABEL6;
4338 RET_LABEL6:(void)0;
4339 }
4340 }
4341 {
4342 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
4343 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4344 /* <var5:Int> isa OTHER */
4345 var10 = 1; /* easy <var5:Int> isa OTHER*/
4346 if (unlikely(!var10)) {
4347 var_class_name13 = type_standard__Int.name;
4348 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
4349 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
4350 fatal_exit(1);
4351 }
4352 var14 = var2 - var5;
4353 var8 = var14;
4354 goto RET_LABEL9;
4355 RET_LABEL9:(void)0;
4356 }
4357 }
4358 var_d = var8;
4359 {
4360 { /* Inline kernel#Int#>= (var_d,0l) on <var_d:Int> */
4361 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
4362 /* <0l:Int> isa OTHER */
4363 var17 = 1; /* easy <0l:Int> isa OTHER*/
4364 if (unlikely(!var17)) {
4365 var_class_name20 = type_standard__Int.name;
4366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
4367 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
4368 fatal_exit(1);
4369 }
4370 var21 = var_d >= 0l;
4371 var15 = var21;
4372 goto RET_LABEL16;
4373 RET_LABEL16:(void)0;
4374 }
4375 }
4376 if (var15){
4377 var = var_d;
4378 goto RET_LABEL;
4379 } else {
4380 {
4381 { /* Inline kernel#Int#unary - (var_d) on <var_d:Int> */
4382 var24 = -var_d;
4383 var22 = var24;
4384 goto RET_LABEL23;
4385 RET_LABEL23:(void)0;
4386 }
4387 }
4388 var = var22;
4389 goto RET_LABEL;
4390 }
4391 RET_LABEL:;
4392 return var;
4393 }
4394 /* method kernel#Char#distance for (self: Discrete, Discrete): Int */
4395 long VIRTUAL_standard___standard__Char___Discrete__distance(val* self, val* p0) {
4396 long var /* : Int */;
4397 long var1 /* : Int */;
4398 uint32_t var2 /* : Char */;
4399 uint32_t var3 /* : Char */;
4400 var2 = (uint32_t)((long)(self)>>2);
4401 var3 = (uint32_t)((long)(p0)>>2);
4402 var1 = standard___standard__Char___Discrete__distance(var2, var3);
4403 var = var1;
4404 RET_LABEL:;
4405 return var;
4406 }
4407 /* method kernel#Char#to_i for (self: Char): Int */
4408 long standard___standard__Char___to_i(uint32_t self) {
4409 long var /* : Int */;
4410 short int var1 /* : Bool */;
4411 short int var3 /* : Bool */;
4412 long var4 /* : Int */;
4413 long var6 /* : Int */;
4414 short int var7 /* : Bool */;
4415 long var8 /* : Int */;
4416 long var10 /* : Int */;
4417 long var11 /* : Int */;
4418 long var13 /* : Int */;
4419 long var14 /* : Int */;
4420 short int var16 /* : Bool */;
4421 int cltype;
4422 int idtype;
4423 const char* var_class_name;
4424 long var17 /* : Int */;
4425 uint32_t var18 /* : Char */;
4426 long var19 /* : Int */;
4427 long var21 /* : Int */;
4428 long var22 /* : Int */;
4429 long var24 /* : Int */;
4430 long var25 /* : Int */;
4431 short int var27 /* : Bool */;
4432 int cltype28;
4433 int idtype29;
4434 const char* var_class_name30;
4435 long var31 /* : Int */;
4436 long var32 /* : Int */;
4437 short int var34 /* : Bool */;
4438 int cltype35;
4439 int idtype36;
4440 const char* var_class_name37;
4441 long var38 /* : Int */;
4442 {
4443 { /* Inline kernel#Char#== (self,'-') on <self:Char> */
4444 var3 = self == '-';
4445 var1 = var3;
4446 goto RET_LABEL2;
4447 RET_LABEL2:(void)0;
4448 }
4449 }
4450 if (var1){
4451 {
4452 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
4453 var6 = -1l;
4454 var4 = var6;
4455 goto RET_LABEL5;
4456 RET_LABEL5:(void)0;
4457 }
4458 }
4459 var = var4;
4460 goto RET_LABEL;
4461 } else {
4462 {
4463 var7 = standard___standard__Char___is_digit(self);
4464 }
4465 if (var7){
4466 {
4467 { /* Inline kernel#Char#ascii (self) on <self:Char> */
4468 var10 = (long)self;
4469 var8 = var10;
4470 goto RET_LABEL9;
4471 RET_LABEL9:(void)0;
4472 }
4473 }
4474 {
4475 { /* Inline kernel#Char#ascii ('0') on <'0':Char> */
4476 var13 = (long)'0';
4477 var11 = var13;
4478 goto RET_LABEL12;
4479 RET_LABEL12:(void)0;
4480 }
4481 }
4482 {
4483 { /* Inline kernel#Int#- (var8,var11) on <var8:Int> */
4484 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
4485 /* <var11:Int> isa OTHER */
4486 var16 = 1; /* easy <var11:Int> isa OTHER*/
4487 if (unlikely(!var16)) {
4488 var_class_name = type_standard__Int.name;
4489 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4490 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
4491 fatal_exit(1);
4492 }
4493 var17 = var8 - var11;
4494 var14 = var17;
4495 goto RET_LABEL15;
4496 RET_LABEL15:(void)0;
4497 }
4498 }
4499 var = var14;
4500 goto RET_LABEL;
4501 } else {
4502 {
4503 var18 = standard___standard__Char___to_lower(self);
4504 }
4505 {
4506 { /* Inline kernel#Char#ascii (var18) on <var18:Char> */
4507 var21 = (long)var18;
4508 var19 = var21;
4509 goto RET_LABEL20;
4510 RET_LABEL20:(void)0;
4511 }
4512 }
4513 {
4514 { /* Inline kernel#Char#ascii ('a') on <'a':Char> */
4515 var24 = (long)'a';
4516 var22 = var24;
4517 goto RET_LABEL23;
4518 RET_LABEL23:(void)0;
4519 }
4520 }
4521 {
4522 { /* Inline kernel#Int#- (var19,var22) on <var19:Int> */
4523 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
4524 /* <var22:Int> isa OTHER */
4525 var27 = 1; /* easy <var22:Int> isa OTHER*/
4526 if (unlikely(!var27)) {
4527 var_class_name30 = type_standard__Int.name;
4528 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30);
4529 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
4530 fatal_exit(1);
4531 }
4532 var31 = var19 - var22;
4533 var25 = var31;
4534 goto RET_LABEL26;
4535 RET_LABEL26:(void)0;
4536 }
4537 }
4538 {
4539 { /* Inline kernel#Int#+ (var25,10l) on <var25:Int> */
4540 /* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
4541 /* <10l:Int> isa OTHER */
4542 var34 = 1; /* easy <10l:Int> isa OTHER*/
4543 if (unlikely(!var34)) {
4544 var_class_name37 = type_standard__Int.name;
4545 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
4546 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
4547 fatal_exit(1);
4548 }
4549 var38 = var25 + 10l;
4550 var32 = var38;
4551 goto RET_LABEL33;
4552 RET_LABEL33:(void)0;
4553 }
4554 }
4555 var = var32;
4556 goto RET_LABEL;
4557 }
4558 }
4559 RET_LABEL:;
4560 return var;
4561 }
4562 /* method kernel#Char#ascii for (self: Char): Int */
4563 long standard___standard__Char___ascii(uint32_t self) {
4564 long var /* : Int */;
4565 long var1 /* : Int */;
4566 var1 = (long)self;
4567 var = var1;
4568 goto RET_LABEL;
4569 RET_LABEL:;
4570 return var;
4571 }
4572 /* method kernel#Char#to_lower for (self: Char): Char */
4573 uint32_t standard___standard__Char___to_lower(uint32_t self) {
4574 uint32_t var /* : Char */;
4575 short int var1 /* : Bool */;
4576 long var2 /* : Int */;
4577 long var4 /* : Int */;
4578 long var5 /* : Int */;
4579 long var6 /* : Int */;
4580 short int var8 /* : Bool */;
4581 int cltype;
4582 int idtype;
4583 const char* var_class_name;
4584 long var9 /* : Int */;
4585 uint32_t var10 /* : Char */;
4586 uint32_t var12 /* : Char */;
4587 {
4588 var1 = standard___standard__Char___is_upper(self);
4589 }
4590 if (var1){
4591 {
4592 { /* Inline kernel#Char#ascii (self) on <self:Char> */
4593 var4 = (long)self;
4594 var2 = var4;
4595 goto RET_LABEL3;
4596 RET_LABEL3:(void)0;
4597 }
4598 }
4599 {
4600 var5 = standard___standard__Char___Discrete__distance('a', 'A');
4601 }
4602 {
4603 { /* Inline kernel#Int#+ (var2,var5) on <var2:Int> */
4604 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4605 /* <var5:Int> isa OTHER */
4606 var8 = 1; /* easy <var5:Int> isa OTHER*/
4607 if (unlikely(!var8)) {
4608 var_class_name = type_standard__Int.name;
4609 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4610 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
4611 fatal_exit(1);
4612 }
4613 var9 = var2 + var5;
4614 var6 = var9;
4615 goto RET_LABEL7;
4616 RET_LABEL7:(void)0;
4617 }
4618 }
4619 {
4620 { /* Inline kernel#Int#ascii (var6) on <var6:Int> */
4621 var12 = (uint32_t)var6;
4622 var10 = var12;
4623 goto RET_LABEL11;
4624 RET_LABEL11:(void)0;
4625 }
4626 }
4627 var = var10;
4628 goto RET_LABEL;
4629 } else {
4630 var = self;
4631 goto RET_LABEL;
4632 }
4633 RET_LABEL:;
4634 return var;
4635 }
4636 /* method kernel#Char#to_upper for (self: Char): Char */
4637 uint32_t standard___standard__Char___to_upper(uint32_t self) {
4638 uint32_t var /* : Char */;
4639 short int var1 /* : Bool */;
4640 long var2 /* : Int */;
4641 long var4 /* : Int */;
4642 long var5 /* : Int */;
4643 long var6 /* : Int */;
4644 short int var8 /* : Bool */;
4645 int cltype;
4646 int idtype;
4647 const char* var_class_name;
4648 long var9 /* : Int */;
4649 uint32_t var10 /* : Char */;
4650 uint32_t var12 /* : Char */;
4651 {
4652 var1 = standard___standard__Char___is_lower(self);
4653 }
4654 if (var1){
4655 {
4656 { /* Inline kernel#Char#ascii (self) on <self:Char> */
4657 var4 = (long)self;
4658 var2 = var4;
4659 goto RET_LABEL3;
4660 RET_LABEL3:(void)0;
4661 }
4662 }
4663 {
4664 var5 = standard___standard__Char___Discrete__distance('a', 'A');
4665 }
4666 {
4667 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
4668 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4669 /* <var5:Int> isa OTHER */
4670 var8 = 1; /* easy <var5:Int> isa OTHER*/
4671 if (unlikely(!var8)) {
4672 var_class_name = type_standard__Int.name;
4673 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4674 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
4675 fatal_exit(1);
4676 }
4677 var9 = var2 - var5;
4678 var6 = var9;
4679 goto RET_LABEL7;
4680 RET_LABEL7:(void)0;
4681 }
4682 }
4683 {
4684 { /* Inline kernel#Int#ascii (var6) on <var6:Int> */
4685 var12 = (uint32_t)var6;
4686 var10 = var12;
4687 goto RET_LABEL11;
4688 RET_LABEL11:(void)0;
4689 }
4690 }
4691 var = var10;
4692 goto RET_LABEL;
4693 } else {
4694 var = self;
4695 goto RET_LABEL;
4696 }
4697 RET_LABEL:;
4698 return var;
4699 }
4700 /* method kernel#Char#is_digit for (self: Char): Bool */
4701 short int standard___standard__Char___is_digit(uint32_t self) {
4702 short int var /* : Bool */;
4703 short int var1 /* : Bool */;
4704 short int var2 /* : Bool */;
4705 short int var4 /* : Bool */;
4706 int cltype;
4707 int idtype;
4708 const char* var_class_name;
4709 short int var5 /* : Bool */;
4710 short int var_ /* var : Bool */;
4711 short int var6 /* : Bool */;
4712 short int var8 /* : Bool */;
4713 int cltype9;
4714 int idtype10;
4715 const char* var_class_name11;
4716 short int var12 /* : Bool */;
4717 {
4718 { /* Inline kernel#Char#>= (self,'0') on <self:Char> */
4719 /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */
4720 /* <'0':Char> isa OTHER */
4721 var4 = 1; /* easy <'0':Char> isa OTHER*/
4722 if (unlikely(!var4)) {
4723 var_class_name = type_standard__Char.name;
4724 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4725 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
4726 fatal_exit(1);
4727 }
4728 var5 = self >= '0';
4729 var2 = var5;
4730 goto RET_LABEL3;
4731 RET_LABEL3:(void)0;
4732 }
4733 }
4734 var_ = var2;
4735 if (var2){
4736 {
4737 { /* Inline kernel#Char#<= (self,'9') on <self:Char> */
4738 /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */
4739 /* <'9':Char> isa OTHER */
4740 var8 = 1; /* easy <'9':Char> isa OTHER*/
4741 if (unlikely(!var8)) {
4742 var_class_name11 = type_standard__Char.name;
4743 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
4744 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
4745 fatal_exit(1);
4746 }
4747 var12 = self <= '9';
4748 var6 = var12;
4749 goto RET_LABEL7;
4750 RET_LABEL7:(void)0;
4751 }
4752 }
4753 var1 = var6;
4754 } else {
4755 var1 = var_;
4756 }
4757 var = var1;
4758 goto RET_LABEL;
4759 RET_LABEL:;
4760 return var;
4761 }
4762 /* method kernel#Char#is_lower for (self: Char): Bool */
4763 short int standard___standard__Char___is_lower(uint32_t self) {
4764 short int var /* : Bool */;
4765 short int var1 /* : Bool */;
4766 short int var2 /* : Bool */;
4767 short int var4 /* : Bool */;
4768 int cltype;
4769 int idtype;
4770 const char* var_class_name;
4771 short int var5 /* : Bool */;
4772 short int var_ /* var : Bool */;
4773 short int var6 /* : Bool */;
4774 short int var8 /* : Bool */;
4775 int cltype9;
4776 int idtype10;
4777 const char* var_class_name11;
4778 short int var12 /* : Bool */;
4779 {
4780 { /* Inline kernel#Char#>= (self,'a') on <self:Char> */
4781 /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */
4782 /* <'a':Char> isa OTHER */
4783 var4 = 1; /* easy <'a':Char> isa OTHER*/
4784 if (unlikely(!var4)) {
4785 var_class_name = type_standard__Char.name;
4786 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4787 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
4788 fatal_exit(1);
4789 }
4790 var5 = self >= 'a';
4791 var2 = var5;
4792 goto RET_LABEL3;
4793 RET_LABEL3:(void)0;
4794 }
4795 }
4796 var_ = var2;
4797 if (var2){
4798 {
4799 { /* Inline kernel#Char#<= (self,'z') on <self:Char> */
4800 /* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */
4801 /* <'z':Char> isa OTHER */
4802 var8 = 1; /* easy <'z':Char> isa OTHER*/
4803 if (unlikely(!var8)) {
4804 var_class_name11 = type_standard__Char.name;
4805 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
4806 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
4807 fatal_exit(1);
4808 }
4809 var12 = self <= 'z';
4810 var6 = var12;
4811 goto RET_LABEL7;
4812 RET_LABEL7:(void)0;
4813 }
4814 }
4815 var1 = var6;
4816 } else {
4817 var1 = var_;
4818 }
4819 var = var1;
4820 goto RET_LABEL;
4821 RET_LABEL:;
4822 return var;
4823 }
4824 /* method kernel#Char#is_upper for (self: Char): Bool */
4825 short int standard___standard__Char___is_upper(uint32_t self) {
4826 short int var /* : Bool */;
4827 short int var1 /* : Bool */;
4828 short int var2 /* : Bool */;
4829 short int var4 /* : Bool */;
4830 int cltype;
4831 int idtype;
4832 const char* var_class_name;
4833 short int var5 /* : Bool */;
4834 short int var_ /* var : Bool */;
4835 short int var6 /* : Bool */;
4836 short int var8 /* : Bool */;
4837 int cltype9;
4838 int idtype10;
4839 const char* var_class_name11;
4840 short int var12 /* : Bool */;
4841 {
4842 { /* Inline kernel#Char#>= (self,'A') on <self:Char> */
4843 /* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */
4844 /* <'A':Char> isa OTHER */
4845 var4 = 1; /* easy <'A':Char> isa OTHER*/
4846 if (unlikely(!var4)) {
4847 var_class_name = type_standard__Char.name;
4848 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4849 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
4850 fatal_exit(1);
4851 }
4852 var5 = self >= 'A';
4853 var2 = var5;
4854 goto RET_LABEL3;
4855 RET_LABEL3:(void)0;
4856 }
4857 }
4858 var_ = var2;
4859 if (var2){
4860 {
4861 { /* Inline kernel#Char#<= (self,'Z') on <self:Char> */
4862 /* Covariant cast for argument 0 (i) <'Z':Char> isa OTHER */
4863 /* <'Z':Char> isa OTHER */
4864 var8 = 1; /* easy <'Z':Char> isa OTHER*/
4865 if (unlikely(!var8)) {
4866 var_class_name11 = type_standard__Char.name;
4867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
4868 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
4869 fatal_exit(1);
4870 }
4871 var12 = self <= 'Z';
4872 var6 = var12;
4873 goto RET_LABEL7;
4874 RET_LABEL7:(void)0;
4875 }
4876 }
4877 var1 = var6;
4878 } else {
4879 var1 = var_;
4880 }
4881 var = var1;
4882 goto RET_LABEL;
4883 RET_LABEL:;
4884 return var;
4885 }
4886 /* method kernel#Pointer#address_is_null for (self: Pointer): Bool */
4887 short int standard___standard__Pointer___address_is_null(val* self) {
4888 short int var /* : Bool */;
4889 short int var1 /* : Bool for extern */;
4890 void* var2 /* : Pointer for extern */;
4891 var2 = ((struct instance_standard__Pointer*)self)->value; /* unboxing Pointer */
4892 var1 = address_is_null(var2);
4893 var = var1;
4894 goto RET_LABEL;
4895 RET_LABEL:;
4896 return var;
4897 }