misc/vim: inform the user when no results are found
[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 && self->class == p0->class && ((self->class->box_kind == 1 && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value) || (self->class->box_kind == 2 && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value) || (self->class->box_kind == 3 && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value) || (self->class->box_kind == 4 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)p0)->value) || (self->class->box_kind == 6 && ((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 && self->class == var_other->class && ((self->class->box_kind == 1 && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)var_other)->value) || (self->class->box_kind == 2 && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)var_other)->value) || (self->class->box_kind == 3 && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)var_other)->value) || (self->class->box_kind == 4 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)var_other)->value) || (self->class->box_kind == 6 && ((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))(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 long var3 /* : Int */;
64 short int var5 /* : Bool */;
65 int cltype;
66 int idtype;
67 const char* var_class_name;
68 long var6 /* : Int */;
69 {
70 var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__kernel__Object__object_id]))(self) /* object_id on <self:Object>*/;
71 }
72 var2 = 8;
73 {
74 { /* Inline kernel#Int#/ (var1,var2) on <var1:Int> */
75 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
76 /* <var2:Int> isa OTHER */
77 var5 = 1; /* easy <var2:Int> isa OTHER*/
78 if (unlikely(!var5)) {
79 var_class_name = type_standard__Int.name;
80 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
81 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
82 show_backtrace(1);
83 }
84 var6 = var1 / var2;
85 var3 = var6;
86 goto RET_LABEL4;
87 RET_LABEL4:(void)0;
88 }
89 }
90 var = var3;
91 goto RET_LABEL;
92 RET_LABEL:;
93 return var;
94 }
95 /* method kernel#Object#exit for (self: Object, Int) */
96 void standard___standard__Object___exit(val* self, long p0) {
97 exit(p0);
98 RET_LABEL:;
99 }
100 /* method kernel#Object#sys for (self: Object): Sys */
101 val* standard___standard__Object___sys(val* self) {
102 val* var /* : Sys */;
103 val* var1 /* : Sys */;
104 var1 = glob_sys;
105 var = var1;
106 goto RET_LABEL;
107 RET_LABEL:;
108 return var;
109 }
110 /* method kernel#Object#init for (self: Object) */
111 void standard___standard__Object___init(val* self) {
112 RET_LABEL:;
113 }
114 /* method kernel#Sys#run for (self: Sys) */
115 void standard___standard__Sys___run(val* self) {
116 {
117 nit__abstract_compiler___standard__Sys___main(self); /* Direct call abstract_compiler#Sys#main on <self:Sys>*/
118 }
119 RET_LABEL:;
120 }
121 /* method kernel#Sys#errno for (self: Sys): Int */
122 long standard___standard__Sys___errno(val* self) {
123 long var /* : Int */;
124 long var1 /* : Int */;
125 struct nitni_instance* var_for_c_0;
126 var_for_c_0 = nit_alloc(sizeof(struct nitni_instance));
127 var_for_c_0->value = self;
128 var1 = kernel___Sys_errno___impl(var_for_c_0);
129 var = var1;
130 goto RET_LABEL;
131 RET_LABEL:;
132 return var;
133 }
134 /* method kernel#Comparable#<= for (self: Comparable, Comparable): Bool */
135 short int standard___standard__Comparable____60d_61d(val* self, val* p0) {
136 short int var /* : Bool */;
137 short int var1 /* : Bool */;
138 int cltype;
139 int idtype;
140 const struct type* type_struct;
141 const char* var_class_name;
142 val* var_other /* var other: Comparable */;
143 short int var2 /* : Bool */;
144 short int var3 /* : Bool */;
145 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
146 /* <p0:Comparable> isa OTHER */
147 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
148 cltype = type_struct->color;
149 idtype = type_struct->id;
150 if(cltype >= p0->type->table_size) {
151 var1 = 0;
152 } else {
153 var1 = p0->type->type_table[cltype] == idtype;
154 }
155 if (unlikely(!var1)) {
156 var_class_name = p0 == NULL ? "null" : p0->type->name;
157 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
158 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 139);
159 show_backtrace(1);
160 }
161 var_other = p0;
162 {
163 var2 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on <var_other:Comparable>*/;
164 }
165 var3 = !var2;
166 var = var3;
167 goto RET_LABEL;
168 RET_LABEL:;
169 return var;
170 }
171 /* method kernel#Comparable#>= for (self: Comparable, Comparable): Bool */
172 short int standard___standard__Comparable____62d_61d(val* self, val* p0) {
173 short int var /* : Bool */;
174 short int var1 /* : Bool */;
175 int cltype;
176 int idtype;
177 const struct type* type_struct;
178 const char* var_class_name;
179 val* var_other /* var other: Comparable */;
180 short int var2 /* : Bool */;
181 short int var3 /* : Bool */;
182 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
183 /* <p0:Comparable> isa OTHER */
184 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
185 cltype = type_struct->color;
186 idtype = type_struct->id;
187 if(cltype >= p0->type->table_size) {
188 var1 = 0;
189 } else {
190 var1 = p0->type->type_table[cltype] == idtype;
191 }
192 if (unlikely(!var1)) {
193 var_class_name = p0 == NULL ? "null" : p0->type->name;
194 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
195 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 143);
196 show_backtrace(1);
197 }
198 var_other = p0;
199 {
200 var2 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other) /* < on <self:Comparable>*/;
201 }
202 var3 = !var2;
203 var = var3;
204 goto RET_LABEL;
205 RET_LABEL:;
206 return var;
207 }
208 /* method kernel#Comparable#> for (self: Comparable, Comparable): Bool */
209 short int standard___standard__Comparable____62d(val* self, val* p0) {
210 short int var /* : Bool */;
211 short int var1 /* : Bool */;
212 int cltype;
213 int idtype;
214 const struct type* type_struct;
215 const char* var_class_name;
216 val* var_other /* var other: Comparable */;
217 short int var2 /* : Bool */;
218 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
219 /* <p0:Comparable> isa OTHER */
220 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
221 cltype = type_struct->color;
222 idtype = type_struct->id;
223 if(cltype >= p0->type->table_size) {
224 var1 = 0;
225 } else {
226 var1 = p0->type->type_table[cltype] == idtype;
227 }
228 if (unlikely(!var1)) {
229 var_class_name = p0 == NULL ? "null" : p0->type->name;
230 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
231 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 147);
232 show_backtrace(1);
233 }
234 var_other = p0;
235 {
236 var2 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on <var_other:Comparable>*/;
237 }
238 var = var2;
239 goto RET_LABEL;
240 RET_LABEL:;
241 return var;
242 }
243 /* method kernel#Comparable#<=> for (self: Comparable, Comparable): Int */
244 long standard___standard__Comparable____60d_61d_62d(val* self, val* p0) {
245 long var /* : Int */;
246 short int var1 /* : Bool */;
247 int cltype;
248 int idtype;
249 const struct type* type_struct;
250 const char* var_class_name;
251 val* var_other /* var other: Comparable */;
252 short int var2 /* : Bool */;
253 long var3 /* : Int */;
254 long var4 /* : Int */;
255 long var6 /* : Int */;
256 short int var7 /* : Bool */;
257 long var8 /* : Int */;
258 long var9 /* : Int */;
259 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
260 /* <p0:Comparable> isa OTHER */
261 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
262 cltype = type_struct->color;
263 idtype = type_struct->id;
264 if(cltype >= p0->type->table_size) {
265 var1 = 0;
266 } else {
267 var1 = p0->type->type_table[cltype] == idtype;
268 }
269 if (unlikely(!var1)) {
270 var_class_name = p0 == NULL ? "null" : p0->type->name;
271 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
272 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 150);
273 show_backtrace(1);
274 }
275 var_other = p0;
276 {
277 var2 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other) /* < on <self:Comparable>*/;
278 }
279 if (var2){
280 var3 = 1;
281 {
282 { /* Inline kernel#Int#unary - (var3) on <var3:Int> */
283 var6 = -var3;
284 var4 = var6;
285 goto RET_LABEL5;
286 RET_LABEL5:(void)0;
287 }
288 }
289 var = var4;
290 goto RET_LABEL;
291 } else {
292 {
293 var7 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on <var_other:Comparable>*/;
294 }
295 if (var7){
296 var8 = 1;
297 var = var8;
298 goto RET_LABEL;
299 } else {
300 var9 = 0;
301 var = var9;
302 goto RET_LABEL;
303 }
304 }
305 RET_LABEL:;
306 return var;
307 }
308 /* method kernel#Bool#object_id for (self: Bool): Int */
309 long standard___standard__Bool___Object__object_id(short int self) {
310 long var /* : Int */;
311 long var1 /* : Int */;
312 var1 = (long)self;
313 var = var1;
314 goto RET_LABEL;
315 RET_LABEL:;
316 return var;
317 }
318 /* method kernel#Bool#object_id for (self: Object): Int */
319 long VIRTUAL_standard___standard__Bool___Object__object_id(val* self) {
320 long var /* : Int */;
321 long var1 /* : Int */;
322 short int var3 /* : Bool */;
323 long var4 /* : Int */;
324 { /* Inline kernel#Bool#object_id (self) on <self:Object(Bool)> */
325 var3 = ((struct instance_standard__Bool*)self)->value; /* autounbox from Object to Bool */;
326 var4 = (long)var3;
327 var1 = var4;
328 goto RET_LABEL2;
329 RET_LABEL2:(void)0;
330 }
331 var = var1;
332 RET_LABEL:;
333 return var;
334 }
335 /* method kernel#Bool#== for (self: Bool, nullable Object): Bool */
336 short int standard___standard__Bool___Object___61d_61d(short int self, val* p0) {
337 short int var /* : Bool */;
338 short int var1 /* : Bool */;
339 short int var2 /* : Bool */;
340 var1 = (p0 != NULL) && (p0->class == &class_standard__Bool);
341 if (var1) {
342 var2 = ((struct instance_standard__Bool*)p0)->value; /* autounbox from nullable Object to Bool */;
343 var1 = (var2 == self);
344 }
345 var = var1;
346 goto RET_LABEL;
347 RET_LABEL:;
348 return var;
349 }
350 /* method kernel#Bool#== for (self: Object, nullable Object): Bool */
351 short int VIRTUAL_standard___standard__Bool___Object___61d_61d(val* self, val* p0) {
352 short int var /* : Bool */;
353 short int var1 /* : Bool */;
354 short int var3 /* : Bool */;
355 { /* Inline kernel#Bool#== (self,p0) on <self:Object(Bool)> */
356 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value);
357 var1 = var3;
358 goto RET_LABEL2;
359 RET_LABEL2:(void)0;
360 }
361 var = var1;
362 RET_LABEL:;
363 return var;
364 }
365 /* method kernel#Bool#!= for (self: Bool, nullable Object): Bool */
366 short int standard___standard__Bool___Object___33d_61d(short int self, val* p0) {
367 short int var /* : Bool */;
368 short int var1 /* : Bool */;
369 short int var2 /* : Bool */;
370 short int var3 /* : Bool */;
371 var1 = (p0 != NULL) && (p0->class == &class_standard__Bool);
372 if (var1) {
373 var2 = ((struct instance_standard__Bool*)p0)->value; /* autounbox from nullable Object to Bool */;
374 var1 = (var2 == self);
375 }
376 var3 = !var1;
377 var = var3;
378 goto RET_LABEL;
379 RET_LABEL:;
380 return var;
381 }
382 /* method kernel#Bool#!= for (self: Object, nullable Object): Bool */
383 short int VIRTUAL_standard___standard__Bool___Object___33d_61d(val* self, val* p0) {
384 short int var /* : Bool */;
385 short int var1 /* : Bool */;
386 short int var3 /* : Bool */;
387 short int var4 /* : Bool */;
388 { /* Inline kernel#Bool#!= (self,p0) on <self:Object(Bool)> */
389 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value);
390 var4 = !var3;
391 var1 = var4;
392 goto RET_LABEL2;
393 RET_LABEL2:(void)0;
394 }
395 var = var1;
396 RET_LABEL:;
397 return var;
398 }
399 /* method kernel#Bool#hash for (self: Bool): Int */
400 long standard___standard__Bool___Object__hash(short int self) {
401 long var /* : Int */;
402 long var1 /* : Int */;
403 {
404 var1 = standard___standard__Bool___to_i(self);
405 }
406 var = var1;
407 goto RET_LABEL;
408 RET_LABEL:;
409 return var;
410 }
411 /* method kernel#Bool#hash for (self: Object): Int */
412 long VIRTUAL_standard___standard__Bool___Object__hash(val* self) {
413 long var /* : Int */;
414 long var1 /* : Int */;
415 short int var2 /* : Bool */;
416 var2 = ((struct instance_standard__Bool*)self)->value; /* autounbox from Object to Bool */;
417 var1 = standard___standard__Bool___Object__hash(var2);
418 var = var1;
419 RET_LABEL:;
420 return var;
421 }
422 /* method kernel#Bool#to_i for (self: Bool): Int */
423 long standard___standard__Bool___to_i(short int self) {
424 long var /* : Int */;
425 long var1 /* : Int */;
426 long var2 /* : Int */;
427 if (self){
428 var1 = 1;
429 var = var1;
430 goto RET_LABEL;
431 } else {
432 var2 = 0;
433 var = var2;
434 goto RET_LABEL;
435 }
436 RET_LABEL:;
437 return var;
438 }
439 /* method kernel#Float#object_id for (self: Float): Int */
440 long standard___standard__Float___Object__object_id(double self) {
441 long var /* : Int */;
442 long var1 /* : Int */;
443 var1 = (double)self;
444 var = var1;
445 goto RET_LABEL;
446 RET_LABEL:;
447 return var;
448 }
449 /* method kernel#Float#object_id for (self: Object): Int */
450 long VIRTUAL_standard___standard__Float___Object__object_id(val* self) {
451 long var /* : Int */;
452 long var1 /* : Int */;
453 double var3 /* : Float */;
454 long var4 /* : Int */;
455 { /* Inline kernel#Float#object_id (self) on <self:Object(Float)> */
456 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Object to Float */;
457 var4 = (double)var3;
458 var1 = var4;
459 goto RET_LABEL2;
460 RET_LABEL2:(void)0;
461 }
462 var = var1;
463 RET_LABEL:;
464 return var;
465 }
466 /* method kernel#Float#== for (self: Float, nullable Object): Bool */
467 short int standard___standard__Float___Object___61d_61d(double self, val* p0) {
468 short int var /* : Bool */;
469 short int var1 /* : Bool */;
470 double var2 /* : Float */;
471 var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
472 if (var1) {
473 var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
474 var1 = (var2 == self);
475 }
476 var = var1;
477 goto RET_LABEL;
478 RET_LABEL:;
479 return var;
480 }
481 /* method kernel#Float#== for (self: Object, nullable Object): Bool */
482 short int VIRTUAL_standard___standard__Float___Object___61d_61d(val* self, val* p0) {
483 short int var /* : Bool */;
484 short int var1 /* : Bool */;
485 short int var3 /* : Bool */;
486 { /* Inline kernel#Float#== (self,p0) on <self:Object(Float)> */
487 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
488 var1 = var3;
489 goto RET_LABEL2;
490 RET_LABEL2:(void)0;
491 }
492 var = var1;
493 RET_LABEL:;
494 return var;
495 }
496 /* method kernel#Float#!= for (self: Float, nullable Object): Bool */
497 short int standard___standard__Float___Object___33d_61d(double self, val* p0) {
498 short int var /* : Bool */;
499 short int var1 /* : Bool */;
500 double var2 /* : Float */;
501 short int var3 /* : Bool */;
502 var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
503 if (var1) {
504 var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
505 var1 = (var2 == self);
506 }
507 var3 = !var1;
508 var = var3;
509 goto RET_LABEL;
510 RET_LABEL:;
511 return var;
512 }
513 /* method kernel#Float#!= for (self: Object, nullable Object): Bool */
514 short int VIRTUAL_standard___standard__Float___Object___33d_61d(val* self, val* p0) {
515 short int var /* : Bool */;
516 short int var1 /* : Bool */;
517 short int var3 /* : Bool */;
518 short int var4 /* : Bool */;
519 { /* Inline kernel#Float#!= (self,p0) on <self:Object(Float)> */
520 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
521 var4 = !var3;
522 var1 = var4;
523 goto RET_LABEL2;
524 RET_LABEL2:(void)0;
525 }
526 var = var1;
527 RET_LABEL:;
528 return var;
529 }
530 /* method kernel#Float#<= for (self: Float, Float): Bool */
531 short int standard___standard__Float___Comparable___60d_61d(double self, double p0) {
532 short int var /* : Bool */;
533 short int var1 /* : Bool */;
534 int cltype;
535 int idtype;
536 const char* var_class_name;
537 short int var2 /* : Bool */;
538 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
539 /* <p0:Float> isa OTHER */
540 var1 = 1; /* easy <p0:Float> isa OTHER*/
541 if (unlikely(!var1)) {
542 var_class_name = type_standard__Float.name;
543 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
544 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 321);
545 show_backtrace(1);
546 }
547 var2 = self <= p0;
548 var = var2;
549 goto RET_LABEL;
550 RET_LABEL:;
551 return var;
552 }
553 /* method kernel#Float#<= for (self: Comparable, Comparable): Bool */
554 short int VIRTUAL_standard___standard__Float___Comparable___60d_61d(val* self, val* p0) {
555 short int var /* : Bool */;
556 short int var1 /* : Bool */;
557 short int var3 /* : Bool */;
558 int cltype;
559 int idtype;
560 const struct type* type_struct;
561 const char* var_class_name;
562 double var4 /* : Float */;
563 double var5 /* : Float */;
564 short int var6 /* : Bool */;
565 { /* Inline kernel#Float#<= (self,p0) on <self:Comparable(Float)> */
566 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
567 /* <p0:Comparable> isa OTHER */
568 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
569 cltype = type_struct->color;
570 idtype = type_struct->id;
571 if(cltype >= p0->type->table_size) {
572 var3 = 0;
573 } else {
574 var3 = p0->type->type_table[cltype] == idtype;
575 }
576 if (unlikely(!var3)) {
577 var_class_name = p0 == NULL ? "null" : p0->type->name;
578 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
579 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 321);
580 show_backtrace(1);
581 }
582 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
583 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
584 var6 = var4 <= var5;
585 var1 = var6;
586 goto RET_LABEL2;
587 RET_LABEL2:(void)0;
588 }
589 var = var1;
590 RET_LABEL:;
591 return var;
592 }
593 /* method kernel#Float#< for (self: Float, Float): Bool */
594 short int standard___standard__Float___Comparable___60d(double self, double p0) {
595 short int var /* : Bool */;
596 short int var1 /* : Bool */;
597 int cltype;
598 int idtype;
599 const char* var_class_name;
600 short int var2 /* : Bool */;
601 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
602 /* <p0:Float> isa OTHER */
603 var1 = 1; /* easy <p0:Float> isa OTHER*/
604 if (unlikely(!var1)) {
605 var_class_name = type_standard__Float.name;
606 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
607 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322);
608 show_backtrace(1);
609 }
610 var2 = self < p0;
611 var = var2;
612 goto RET_LABEL;
613 RET_LABEL:;
614 return var;
615 }
616 /* method kernel#Float#< for (self: Comparable, Comparable): Bool */
617 short int VIRTUAL_standard___standard__Float___Comparable___60d(val* self, val* p0) {
618 short int var /* : Bool */;
619 short int var1 /* : Bool */;
620 short int var3 /* : Bool */;
621 int cltype;
622 int idtype;
623 const struct type* type_struct;
624 const char* var_class_name;
625 double var4 /* : Float */;
626 double var5 /* : Float */;
627 short int var6 /* : Bool */;
628 { /* Inline kernel#Float#< (self,p0) on <self:Comparable(Float)> */
629 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
630 /* <p0:Comparable> isa OTHER */
631 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
632 cltype = type_struct->color;
633 idtype = type_struct->id;
634 if(cltype >= p0->type->table_size) {
635 var3 = 0;
636 } else {
637 var3 = p0->type->type_table[cltype] == idtype;
638 }
639 if (unlikely(!var3)) {
640 var_class_name = p0 == NULL ? "null" : p0->type->name;
641 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
642 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322);
643 show_backtrace(1);
644 }
645 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
646 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
647 var6 = var4 < var5;
648 var1 = var6;
649 goto RET_LABEL2;
650 RET_LABEL2:(void)0;
651 }
652 var = var1;
653 RET_LABEL:;
654 return var;
655 }
656 /* method kernel#Float#>= for (self: Float, Float): Bool */
657 short int standard___standard__Float___Comparable___62d_61d(double self, double p0) {
658 short int var /* : Bool */;
659 short int var1 /* : Bool */;
660 int cltype;
661 int idtype;
662 const char* var_class_name;
663 short int var2 /* : Bool */;
664 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
665 /* <p0:Float> isa OTHER */
666 var1 = 1; /* easy <p0:Float> isa OTHER*/
667 if (unlikely(!var1)) {
668 var_class_name = type_standard__Float.name;
669 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
670 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 323);
671 show_backtrace(1);
672 }
673 var2 = self >= p0;
674 var = var2;
675 goto RET_LABEL;
676 RET_LABEL:;
677 return var;
678 }
679 /* method kernel#Float#>= for (self: Comparable, Comparable): Bool */
680 short int VIRTUAL_standard___standard__Float___Comparable___62d_61d(val* self, val* p0) {
681 short int var /* : Bool */;
682 short int var1 /* : Bool */;
683 short int var3 /* : Bool */;
684 int cltype;
685 int idtype;
686 const struct type* type_struct;
687 const char* var_class_name;
688 double var4 /* : Float */;
689 double var5 /* : Float */;
690 short int var6 /* : Bool */;
691 { /* Inline kernel#Float#>= (self,p0) on <self:Comparable(Float)> */
692 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
693 /* <p0:Comparable> isa OTHER */
694 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
695 cltype = type_struct->color;
696 idtype = type_struct->id;
697 if(cltype >= p0->type->table_size) {
698 var3 = 0;
699 } else {
700 var3 = p0->type->type_table[cltype] == idtype;
701 }
702 if (unlikely(!var3)) {
703 var_class_name = p0 == NULL ? "null" : p0->type->name;
704 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
705 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 323);
706 show_backtrace(1);
707 }
708 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
709 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
710 var6 = var4 >= var5;
711 var1 = var6;
712 goto RET_LABEL2;
713 RET_LABEL2:(void)0;
714 }
715 var = var1;
716 RET_LABEL:;
717 return var;
718 }
719 /* method kernel#Float#> for (self: Float, Float): Bool */
720 short int standard___standard__Float___Comparable___62d(double self, double p0) {
721 short int var /* : Bool */;
722 short int var1 /* : Bool */;
723 int cltype;
724 int idtype;
725 const char* var_class_name;
726 short int var2 /* : Bool */;
727 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
728 /* <p0:Float> isa OTHER */
729 var1 = 1; /* easy <p0:Float> isa OTHER*/
730 if (unlikely(!var1)) {
731 var_class_name = type_standard__Float.name;
732 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
733 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 324);
734 show_backtrace(1);
735 }
736 var2 = self > p0;
737 var = var2;
738 goto RET_LABEL;
739 RET_LABEL:;
740 return var;
741 }
742 /* method kernel#Float#> for (self: Comparable, Comparable): Bool */
743 short int VIRTUAL_standard___standard__Float___Comparable___62d(val* self, val* p0) {
744 short int var /* : Bool */;
745 short int var1 /* : Bool */;
746 short int var3 /* : Bool */;
747 int cltype;
748 int idtype;
749 const struct type* type_struct;
750 const char* var_class_name;
751 double var4 /* : Float */;
752 double var5 /* : Float */;
753 short int var6 /* : Bool */;
754 { /* Inline kernel#Float#> (self,p0) on <self:Comparable(Float)> */
755 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
756 /* <p0:Comparable> isa OTHER */
757 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
758 cltype = type_struct->color;
759 idtype = type_struct->id;
760 if(cltype >= p0->type->table_size) {
761 var3 = 0;
762 } else {
763 var3 = p0->type->type_table[cltype] == idtype;
764 }
765 if (unlikely(!var3)) {
766 var_class_name = p0 == NULL ? "null" : p0->type->name;
767 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
768 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 324);
769 show_backtrace(1);
770 }
771 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
772 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
773 var6 = var4 > var5;
774 var1 = var6;
775 goto RET_LABEL2;
776 RET_LABEL2:(void)0;
777 }
778 var = var1;
779 RET_LABEL:;
780 return var;
781 }
782 /* method kernel#Float#+ for (self: Float, Float): Float */
783 double standard___standard__Float___Numeric___43d(double self, double p0) {
784 double var /* : Float */;
785 short int var1 /* : Bool */;
786 int cltype;
787 int idtype;
788 const char* var_class_name;
789 double var2 /* : Float */;
790 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
791 /* <p0:Float> isa OTHER */
792 var1 = 1; /* easy <p0:Float> isa OTHER*/
793 if (unlikely(!var1)) {
794 var_class_name = type_standard__Float.name;
795 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
796 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 326);
797 show_backtrace(1);
798 }
799 var2 = self + p0;
800 var = var2;
801 goto RET_LABEL;
802 RET_LABEL:;
803 return var;
804 }
805 /* method kernel#Float#+ for (self: Numeric, Numeric): Numeric */
806 val* VIRTUAL_standard___standard__Float___Numeric___43d(val* self, val* p0) {
807 val* var /* : Numeric */;
808 double var1 /* : Float */;
809 short int var3 /* : Bool */;
810 int cltype;
811 int idtype;
812 const struct type* type_struct;
813 const char* var_class_name;
814 double var4 /* : Float */;
815 double var5 /* : Float */;
816 double var6 /* : Float */;
817 val* var7 /* : Numeric */;
818 { /* Inline kernel#Float#+ (self,p0) on <self:Numeric(Float)> */
819 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
820 /* <p0:Numeric> isa OTHER */
821 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
822 cltype = type_struct->color;
823 idtype = type_struct->id;
824 if(cltype >= p0->type->table_size) {
825 var3 = 0;
826 } else {
827 var3 = p0->type->type_table[cltype] == idtype;
828 }
829 if (unlikely(!var3)) {
830 var_class_name = p0 == NULL ? "null" : p0->type->name;
831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
832 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 326);
833 show_backtrace(1);
834 }
835 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
836 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
837 var6 = var4 + var5;
838 var1 = var6;
839 goto RET_LABEL2;
840 RET_LABEL2:(void)0;
841 }
842 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
843 var = var7;
844 RET_LABEL:;
845 return var;
846 }
847 /* method kernel#Float#unary - for (self: Float): Float */
848 double standard___standard__Float___Numeric__unary_32d_45d(double self) {
849 double var /* : Float */;
850 double var1 /* : Float */;
851 var1 = -self;
852 var = var1;
853 goto RET_LABEL;
854 RET_LABEL:;
855 return var;
856 }
857 /* method kernel#Float#unary - for (self: Numeric): Numeric */
858 val* VIRTUAL_standard___standard__Float___Numeric__unary_32d_45d(val* self) {
859 val* var /* : Numeric */;
860 double var1 /* : Float */;
861 double var3 /* : Float */;
862 double var4 /* : Float */;
863 val* var5 /* : Numeric */;
864 { /* Inline kernel#Float#unary - (self) on <self:Numeric(Float)> */
865 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
866 var4 = -var3;
867 var1 = var4;
868 goto RET_LABEL2;
869 RET_LABEL2:(void)0;
870 }
871 var5 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
872 var = var5;
873 RET_LABEL:;
874 return var;
875 }
876 /* method kernel#Float#- for (self: Float, Float): Float */
877 double standard___standard__Float___Numeric___45d(double self, double p0) {
878 double var /* : Float */;
879 short int var1 /* : Bool */;
880 int cltype;
881 int idtype;
882 const char* var_class_name;
883 double var2 /* : Float */;
884 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
885 /* <p0:Float> isa OTHER */
886 var1 = 1; /* easy <p0:Float> isa OTHER*/
887 if (unlikely(!var1)) {
888 var_class_name = type_standard__Float.name;
889 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
890 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 328);
891 show_backtrace(1);
892 }
893 var2 = self - p0;
894 var = var2;
895 goto RET_LABEL;
896 RET_LABEL:;
897 return var;
898 }
899 /* method kernel#Float#- for (self: Numeric, Numeric): Numeric */
900 val* VIRTUAL_standard___standard__Float___Numeric___45d(val* self, val* p0) {
901 val* var /* : Numeric */;
902 double var1 /* : Float */;
903 short int var3 /* : Bool */;
904 int cltype;
905 int idtype;
906 const struct type* type_struct;
907 const char* var_class_name;
908 double var4 /* : Float */;
909 double var5 /* : Float */;
910 double var6 /* : Float */;
911 val* var7 /* : Numeric */;
912 { /* Inline kernel#Float#- (self,p0) on <self:Numeric(Float)> */
913 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
914 /* <p0:Numeric> isa OTHER */
915 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
916 cltype = type_struct->color;
917 idtype = type_struct->id;
918 if(cltype >= p0->type->table_size) {
919 var3 = 0;
920 } else {
921 var3 = p0->type->type_table[cltype] == idtype;
922 }
923 if (unlikely(!var3)) {
924 var_class_name = p0 == NULL ? "null" : p0->type->name;
925 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
926 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 328);
927 show_backtrace(1);
928 }
929 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
930 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
931 var6 = var4 - var5;
932 var1 = var6;
933 goto RET_LABEL2;
934 RET_LABEL2:(void)0;
935 }
936 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
937 var = var7;
938 RET_LABEL:;
939 return var;
940 }
941 /* method kernel#Float#* for (self: Float, Float): Float */
942 double standard___standard__Float___Numeric___42d(double self, double p0) {
943 double var /* : Float */;
944 short int var1 /* : Bool */;
945 int cltype;
946 int idtype;
947 const char* var_class_name;
948 double var2 /* : Float */;
949 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
950 /* <p0:Float> isa OTHER */
951 var1 = 1; /* easy <p0:Float> isa OTHER*/
952 if (unlikely(!var1)) {
953 var_class_name = type_standard__Float.name;
954 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
955 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 329);
956 show_backtrace(1);
957 }
958 var2 = self * p0;
959 var = var2;
960 goto RET_LABEL;
961 RET_LABEL:;
962 return var;
963 }
964 /* method kernel#Float#* for (self: Numeric, Numeric): Numeric */
965 val* VIRTUAL_standard___standard__Float___Numeric___42d(val* self, val* p0) {
966 val* var /* : Numeric */;
967 double var1 /* : Float */;
968 short int var3 /* : Bool */;
969 int cltype;
970 int idtype;
971 const struct type* type_struct;
972 const char* var_class_name;
973 double var4 /* : Float */;
974 double var5 /* : Float */;
975 double var6 /* : Float */;
976 val* var7 /* : Numeric */;
977 { /* Inline kernel#Float#* (self,p0) on <self:Numeric(Float)> */
978 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
979 /* <p0:Numeric> isa OTHER */
980 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
981 cltype = type_struct->color;
982 idtype = type_struct->id;
983 if(cltype >= p0->type->table_size) {
984 var3 = 0;
985 } else {
986 var3 = p0->type->type_table[cltype] == idtype;
987 }
988 if (unlikely(!var3)) {
989 var_class_name = p0 == NULL ? "null" : p0->type->name;
990 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
991 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 329);
992 show_backtrace(1);
993 }
994 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
995 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
996 var6 = var4 * var5;
997 var1 = var6;
998 goto RET_LABEL2;
999 RET_LABEL2:(void)0;
1000 }
1001 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
1002 var = var7;
1003 RET_LABEL:;
1004 return var;
1005 }
1006 /* method kernel#Float#/ for (self: Float, Float): Float */
1007 double standard___standard__Float___Numeric___47d(double self, double p0) {
1008 double var /* : Float */;
1009 short int var1 /* : Bool */;
1010 int cltype;
1011 int idtype;
1012 const char* var_class_name;
1013 double var2 /* : Float */;
1014 /* Covariant cast for argument 0 (i) <p0:Float> isa OTHER */
1015 /* <p0:Float> isa OTHER */
1016 var1 = 1; /* easy <p0:Float> isa OTHER*/
1017 if (unlikely(!var1)) {
1018 var_class_name = type_standard__Float.name;
1019 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1020 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 330);
1021 show_backtrace(1);
1022 }
1023 var2 = self / p0;
1024 var = var2;
1025 goto RET_LABEL;
1026 RET_LABEL:;
1027 return var;
1028 }
1029 /* method kernel#Float#/ for (self: Numeric, Numeric): Numeric */
1030 val* VIRTUAL_standard___standard__Float___Numeric___47d(val* self, val* p0) {
1031 val* var /* : Numeric */;
1032 double var1 /* : Float */;
1033 short int var3 /* : Bool */;
1034 int cltype;
1035 int idtype;
1036 const struct type* type_struct;
1037 const char* var_class_name;
1038 double var4 /* : Float */;
1039 double var5 /* : Float */;
1040 double var6 /* : Float */;
1041 val* var7 /* : Numeric */;
1042 { /* Inline kernel#Float#/ (self,p0) on <self:Numeric(Float)> */
1043 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1044 /* <p0:Numeric> isa OTHER */
1045 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1046 cltype = type_struct->color;
1047 idtype = type_struct->id;
1048 if(cltype >= p0->type->table_size) {
1049 var3 = 0;
1050 } else {
1051 var3 = p0->type->type_table[cltype] == idtype;
1052 }
1053 if (unlikely(!var3)) {
1054 var_class_name = p0 == NULL ? "null" : p0->type->name;
1055 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1056 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 330);
1057 show_backtrace(1);
1058 }
1059 var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1060 var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
1061 var6 = var4 / var5;
1062 var1 = var6;
1063 goto RET_LABEL2;
1064 RET_LABEL2:(void)0;
1065 }
1066 var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
1067 var = var7;
1068 RET_LABEL:;
1069 return var;
1070 }
1071 /* method kernel#Float#to_i for (self: Float): Int */
1072 long standard___standard__Float___Numeric__to_i(double self) {
1073 long var /* : Int */;
1074 long var1 /* : Int */;
1075 var1 = (long)self;
1076 var = var1;
1077 goto RET_LABEL;
1078 RET_LABEL:;
1079 return var;
1080 }
1081 /* method kernel#Float#to_i for (self: Numeric): Int */
1082 long VIRTUAL_standard___standard__Float___Numeric__to_i(val* self) {
1083 long var /* : Int */;
1084 long var1 /* : Int */;
1085 double var3 /* : Float */;
1086 long var4 /* : Int */;
1087 { /* Inline kernel#Float#to_i (self) on <self:Numeric(Float)> */
1088 var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1089 var4 = (long)var3;
1090 var1 = var4;
1091 goto RET_LABEL2;
1092 RET_LABEL2:(void)0;
1093 }
1094 var = var1;
1095 RET_LABEL:;
1096 return var;
1097 }
1098 /* method kernel#Float#to_f for (self: Float): Float */
1099 double standard___standard__Float___Numeric__to_f(double self) {
1100 double var /* : Float */;
1101 var = self;
1102 goto RET_LABEL;
1103 RET_LABEL:;
1104 return var;
1105 }
1106 /* method kernel#Float#to_f for (self: Numeric): Float */
1107 double VIRTUAL_standard___standard__Float___Numeric__to_f(val* self) {
1108 double var /* : Float */;
1109 double var1 /* : Float */;
1110 double var2 /* : Float */;
1111 var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
1112 var1 = standard___standard__Float___Numeric__to_f(var2);
1113 var = var1;
1114 RET_LABEL:;
1115 return var;
1116 }
1117 /* method kernel#Float#<=> for (self: Float, Float): Int */
1118 long standard___standard__Float___Comparable___60d_61d_62d(double self, double p0) {
1119 long var /* : Int */;
1120 short int var1 /* : Bool */;
1121 int cltype;
1122 int idtype;
1123 const char* var_class_name;
1124 double var_other /* var other: Float */;
1125 short int var2 /* : Bool */;
1126 short int var4 /* : Bool */;
1127 int cltype5;
1128 int idtype6;
1129 const char* var_class_name7;
1130 short int var8 /* : Bool */;
1131 long var9 /* : Int */;
1132 long var10 /* : Int */;
1133 long var12 /* : Int */;
1134 short int var13 /* : Bool */;
1135 short int var15 /* : Bool */;
1136 int cltype16;
1137 int idtype17;
1138 const char* var_class_name18;
1139 short int var19 /* : Bool */;
1140 long var20 /* : Int */;
1141 long var21 /* : Int */;
1142 /* Covariant cast for argument 0 (other) <p0:Float> isa OTHER */
1143 /* <p0:Float> isa OTHER */
1144 var1 = 1; /* easy <p0:Float> isa OTHER*/
1145 if (unlikely(!var1)) {
1146 var_class_name = type_standard__Float.name;
1147 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1148 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 338);
1149 show_backtrace(1);
1150 }
1151 var_other = p0;
1152 {
1153 { /* Inline kernel#Float#< (self,var_other) on <self:Float> */
1154 /* Covariant cast for argument 0 (i) <var_other:Float> isa OTHER */
1155 /* <var_other:Float> isa OTHER */
1156 var4 = 1; /* easy <var_other:Float> isa OTHER*/
1157 if (unlikely(!var4)) {
1158 var_class_name7 = type_standard__Float.name;
1159 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
1160 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322);
1161 show_backtrace(1);
1162 }
1163 var8 = self < var_other;
1164 var2 = var8;
1165 goto RET_LABEL3;
1166 RET_LABEL3:(void)0;
1167 }
1168 }
1169 if (var2){
1170 var9 = 1;
1171 {
1172 { /* Inline kernel#Int#unary - (var9) on <var9:Int> */
1173 var12 = -var9;
1174 var10 = var12;
1175 goto RET_LABEL11;
1176 RET_LABEL11:(void)0;
1177 }
1178 }
1179 var = var10;
1180 goto RET_LABEL;
1181 } else {
1182 {
1183 { /* Inline kernel#Float#< (var_other,self) on <var_other:Float> */
1184 /* Covariant cast for argument 0 (i) <self:Float> isa OTHER */
1185 /* <self:Float> isa OTHER */
1186 var15 = 1; /* easy <self:Float> isa OTHER*/
1187 if (unlikely(!var15)) {
1188 var_class_name18 = type_standard__Float.name;
1189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1190 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322);
1191 show_backtrace(1);
1192 }
1193 var19 = var_other < self;
1194 var13 = var19;
1195 goto RET_LABEL14;
1196 RET_LABEL14:(void)0;
1197 }
1198 }
1199 if (var13){
1200 var20 = 1;
1201 var = var20;
1202 goto RET_LABEL;
1203 } else {
1204 var21 = 0;
1205 var = var21;
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#Int#successor for (self: Int, Int): Int */
1226 long standard___standard__Int___Discrete__successor(long self, long p0) {
1227 long var /* : Int */;
1228 long var_i /* var i: Int */;
1229 long var1 /* : Int */;
1230 short int var3 /* : Bool */;
1231 int cltype;
1232 int idtype;
1233 const char* var_class_name;
1234 long var4 /* : Int */;
1235 var_i = p0;
1236 {
1237 { /* Inline kernel#Int#+ (self,var_i) on <self:Int> */
1238 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
1239 /* <var_i:Int> isa OTHER */
1240 var3 = 1; /* easy <var_i:Int> isa OTHER*/
1241 if (unlikely(!var3)) {
1242 var_class_name = type_standard__Int.name;
1243 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1244 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1245 show_backtrace(1);
1246 }
1247 var4 = self + var_i;
1248 var1 = var4;
1249 goto RET_LABEL2;
1250 RET_LABEL2:(void)0;
1251 }
1252 }
1253 var = var1;
1254 goto RET_LABEL;
1255 RET_LABEL:;
1256 return var;
1257 }
1258 /* method kernel#Int#successor for (self: Discrete, Int): Discrete */
1259 val* VIRTUAL_standard___standard__Int___Discrete__successor(val* self, long p0) {
1260 val* var /* : Discrete */;
1261 long var1 /* : Int */;
1262 long var2 /* : Int */;
1263 val* var3 /* : Discrete */;
1264 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Discrete to Int */;
1265 var1 = standard___standard__Int___Discrete__successor(var2, p0);
1266 var3 = BOX_standard__Int(var1); /* autobox from Int to Discrete */
1267 var = var3;
1268 RET_LABEL:;
1269 return var;
1270 }
1271 /* method kernel#Int#object_id for (self: Int): Int */
1272 long standard___standard__Int___Object__object_id(long self) {
1273 long var /* : Int */;
1274 var = self;
1275 goto RET_LABEL;
1276 RET_LABEL:;
1277 return var;
1278 }
1279 /* method kernel#Int#object_id for (self: Object): Int */
1280 long VIRTUAL_standard___standard__Int___Object__object_id(val* self) {
1281 long var /* : Int */;
1282 long var1 /* : Int */;
1283 long var3 /* : Int */;
1284 { /* Inline kernel#Int#object_id (self) on <self:Object(Int)> */
1285 var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Object to Int */;
1286 var1 = var3;
1287 goto RET_LABEL2;
1288 RET_LABEL2:(void)0;
1289 }
1290 var = var1;
1291 RET_LABEL:;
1292 return var;
1293 }
1294 /* method kernel#Int#hash for (self: Int): Int */
1295 long standard___standard__Int___Object__hash(long self) {
1296 long var /* : Int */;
1297 var = self;
1298 goto RET_LABEL;
1299 RET_LABEL:;
1300 return var;
1301 }
1302 /* method kernel#Int#hash for (self: Object): Int */
1303 long VIRTUAL_standard___standard__Int___Object__hash(val* self) {
1304 long var /* : Int */;
1305 long var1 /* : Int */;
1306 long var2 /* : Int */;
1307 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Object to Int */;
1308 var1 = standard___standard__Int___Object__hash(var2);
1309 var = var1;
1310 RET_LABEL:;
1311 return var;
1312 }
1313 /* method kernel#Int#== for (self: Int, nullable Object): Bool */
1314 short int standard___standard__Int___Object___61d_61d(long self, val* p0) {
1315 short int var /* : Bool */;
1316 short int var1 /* : Bool */;
1317 long var2 /* : Int */;
1318 var1 = (p0 != NULL) && (p0->class == &class_standard__Int);
1319 if (var1) {
1320 var2 = ((struct instance_standard__Int*)p0)->value; /* autounbox from nullable Object to Int */;
1321 var1 = (var2 == self);
1322 }
1323 var = var1;
1324 goto RET_LABEL;
1325 RET_LABEL:;
1326 return var;
1327 }
1328 /* method kernel#Int#== for (self: Object, nullable Object): Bool */
1329 short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) {
1330 short int var /* : Bool */;
1331 short int var1 /* : Bool */;
1332 short int var3 /* : Bool */;
1333 { /* Inline kernel#Int#== (self,p0) on <self:Object(Int)> */
1334 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value);
1335 var1 = var3;
1336 goto RET_LABEL2;
1337 RET_LABEL2:(void)0;
1338 }
1339 var = var1;
1340 RET_LABEL:;
1341 return var;
1342 }
1343 /* method kernel#Int#!= for (self: Int, nullable Object): Bool */
1344 short int standard___standard__Int___Object___33d_61d(long self, val* p0) {
1345 short int var /* : Bool */;
1346 short int var1 /* : Bool */;
1347 long var2 /* : Int */;
1348 short int var3 /* : Bool */;
1349 var1 = (p0 != NULL) && (p0->class == &class_standard__Int);
1350 if (var1) {
1351 var2 = ((struct instance_standard__Int*)p0)->value; /* autounbox from nullable Object to Int */;
1352 var1 = (var2 == self);
1353 }
1354 var3 = !var1;
1355 var = var3;
1356 goto RET_LABEL;
1357 RET_LABEL:;
1358 return var;
1359 }
1360 /* method kernel#Int#!= for (self: Object, nullable Object): Bool */
1361 short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) {
1362 short int var /* : Bool */;
1363 short int var1 /* : Bool */;
1364 short int var3 /* : Bool */;
1365 short int var4 /* : Bool */;
1366 { /* Inline kernel#Int#!= (self,p0) on <self:Object(Int)> */
1367 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value);
1368 var4 = !var3;
1369 var1 = var4;
1370 goto RET_LABEL2;
1371 RET_LABEL2:(void)0;
1372 }
1373 var = var1;
1374 RET_LABEL:;
1375 return var;
1376 }
1377 /* method kernel#Int#<= for (self: Int, Int): Bool */
1378 short int standard___standard__Int___Comparable___60d_61d(long self, long p0) {
1379 short int var /* : Bool */;
1380 short int var1 /* : Bool */;
1381 int cltype;
1382 int idtype;
1383 const char* var_class_name;
1384 short int var2 /* : Bool */;
1385 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1386 /* <p0:Int> isa OTHER */
1387 var1 = 1; /* easy <p0:Int> isa OTHER*/
1388 if (unlikely(!var1)) {
1389 var_class_name = type_standard__Int.name;
1390 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1391 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
1392 show_backtrace(1);
1393 }
1394 var2 = self <= p0;
1395 var = var2;
1396 goto RET_LABEL;
1397 RET_LABEL:;
1398 return var;
1399 }
1400 /* method kernel#Int#<= for (self: Comparable, Comparable): Bool */
1401 short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) {
1402 short int var /* : Bool */;
1403 short int var1 /* : Bool */;
1404 short int var3 /* : Bool */;
1405 int cltype;
1406 int idtype;
1407 const struct type* type_struct;
1408 const char* var_class_name;
1409 long var4 /* : Int */;
1410 long var5 /* : Int */;
1411 short int var6 /* : Bool */;
1412 { /* Inline kernel#Int#<= (self,p0) on <self:Comparable(Int)> */
1413 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1414 /* <p0:Comparable> isa OTHER */
1415 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1416 cltype = type_struct->color;
1417 idtype = type_struct->id;
1418 if(cltype >= p0->type->table_size) {
1419 var3 = 0;
1420 } else {
1421 var3 = p0->type->type_table[cltype] == idtype;
1422 }
1423 if (unlikely(!var3)) {
1424 var_class_name = p0 == NULL ? "null" : p0->type->name;
1425 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1426 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
1427 show_backtrace(1);
1428 }
1429 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */;
1430 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */;
1431 var6 = var4 <= var5;
1432 var1 = var6;
1433 goto RET_LABEL2;
1434 RET_LABEL2:(void)0;
1435 }
1436 var = var1;
1437 RET_LABEL:;
1438 return var;
1439 }
1440 /* method kernel#Int#< for (self: Int, Int): Bool */
1441 short int standard___standard__Int___Comparable___60d(long self, long p0) {
1442 short int var /* : Bool */;
1443 short int var1 /* : Bool */;
1444 int cltype;
1445 int idtype;
1446 const char* var_class_name;
1447 short int var2 /* : Bool */;
1448 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1449 /* <p0:Int> isa OTHER */
1450 var1 = 1; /* easy <p0:Int> isa OTHER*/
1451 if (unlikely(!var1)) {
1452 var_class_name = type_standard__Int.name;
1453 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1454 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1455 show_backtrace(1);
1456 }
1457 var2 = self < p0;
1458 var = var2;
1459 goto RET_LABEL;
1460 RET_LABEL:;
1461 return var;
1462 }
1463 /* method kernel#Int#< for (self: Comparable, Comparable): Bool */
1464 short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) {
1465 short int var /* : Bool */;
1466 short int var1 /* : Bool */;
1467 short int var3 /* : Bool */;
1468 int cltype;
1469 int idtype;
1470 const struct type* type_struct;
1471 const char* var_class_name;
1472 long var4 /* : Int */;
1473 long var5 /* : Int */;
1474 short int var6 /* : Bool */;
1475 { /* Inline kernel#Int#< (self,p0) on <self:Comparable(Int)> */
1476 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1477 /* <p0:Comparable> isa OTHER */
1478 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1479 cltype = type_struct->color;
1480 idtype = type_struct->id;
1481 if(cltype >= p0->type->table_size) {
1482 var3 = 0;
1483 } else {
1484 var3 = p0->type->type_table[cltype] == idtype;
1485 }
1486 if (unlikely(!var3)) {
1487 var_class_name = p0 == NULL ? "null" : p0->type->name;
1488 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1489 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1490 show_backtrace(1);
1491 }
1492 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */;
1493 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */;
1494 var6 = var4 < var5;
1495 var1 = var6;
1496 goto RET_LABEL2;
1497 RET_LABEL2:(void)0;
1498 }
1499 var = var1;
1500 RET_LABEL:;
1501 return var;
1502 }
1503 /* method kernel#Int#>= for (self: Int, Int): Bool */
1504 short int standard___standard__Int___Comparable___62d_61d(long self, long p0) {
1505 short int var /* : Bool */;
1506 short int var1 /* : Bool */;
1507 int cltype;
1508 int idtype;
1509 const char* var_class_name;
1510 short int var2 /* : Bool */;
1511 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1512 /* <p0:Int> isa OTHER */
1513 var1 = 1; /* easy <p0:Int> isa OTHER*/
1514 if (unlikely(!var1)) {
1515 var_class_name = type_standard__Int.name;
1516 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1517 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
1518 show_backtrace(1);
1519 }
1520 var2 = self >= p0;
1521 var = var2;
1522 goto RET_LABEL;
1523 RET_LABEL:;
1524 return var;
1525 }
1526 /* method kernel#Int#>= for (self: Comparable, Comparable): Bool */
1527 short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) {
1528 short int var /* : Bool */;
1529 short int var1 /* : Bool */;
1530 short int var3 /* : Bool */;
1531 int cltype;
1532 int idtype;
1533 const struct type* type_struct;
1534 const char* var_class_name;
1535 long var4 /* : Int */;
1536 long var5 /* : Int */;
1537 short int var6 /* : Bool */;
1538 { /* Inline kernel#Int#>= (self,p0) on <self:Comparable(Int)> */
1539 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1540 /* <p0:Comparable> isa OTHER */
1541 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1542 cltype = type_struct->color;
1543 idtype = type_struct->id;
1544 if(cltype >= p0->type->table_size) {
1545 var3 = 0;
1546 } else {
1547 var3 = p0->type->type_table[cltype] == idtype;
1548 }
1549 if (unlikely(!var3)) {
1550 var_class_name = p0 == NULL ? "null" : p0->type->name;
1551 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1552 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
1553 show_backtrace(1);
1554 }
1555 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */;
1556 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */;
1557 var6 = var4 >= var5;
1558 var1 = var6;
1559 goto RET_LABEL2;
1560 RET_LABEL2:(void)0;
1561 }
1562 var = var1;
1563 RET_LABEL:;
1564 return var;
1565 }
1566 /* method kernel#Int#> for (self: Int, Int): Bool */
1567 short int standard___standard__Int___Comparable___62d(long self, long p0) {
1568 short int var /* : Bool */;
1569 short int var1 /* : Bool */;
1570 int cltype;
1571 int idtype;
1572 const char* var_class_name;
1573 short int var2 /* : Bool */;
1574 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1575 /* <p0:Int> isa OTHER */
1576 var1 = 1; /* easy <p0:Int> isa OTHER*/
1577 if (unlikely(!var1)) {
1578 var_class_name = type_standard__Int.name;
1579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1580 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1581 show_backtrace(1);
1582 }
1583 var2 = self > p0;
1584 var = var2;
1585 goto RET_LABEL;
1586 RET_LABEL:;
1587 return var;
1588 }
1589 /* method kernel#Int#> for (self: Comparable, Comparable): Bool */
1590 short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) {
1591 short int var /* : Bool */;
1592 short int var1 /* : Bool */;
1593 short int var3 /* : Bool */;
1594 int cltype;
1595 int idtype;
1596 const struct type* type_struct;
1597 const char* var_class_name;
1598 long var4 /* : Int */;
1599 long var5 /* : Int */;
1600 short int var6 /* : Bool */;
1601 { /* Inline kernel#Int#> (self,p0) on <self:Comparable(Int)> */
1602 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
1603 /* <p0:Comparable> isa OTHER */
1604 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1605 cltype = type_struct->color;
1606 idtype = type_struct->id;
1607 if(cltype >= p0->type->table_size) {
1608 var3 = 0;
1609 } else {
1610 var3 = p0->type->type_table[cltype] == idtype;
1611 }
1612 if (unlikely(!var3)) {
1613 var_class_name = p0 == NULL ? "null" : p0->type->name;
1614 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1615 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1616 show_backtrace(1);
1617 }
1618 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */;
1619 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */;
1620 var6 = var4 > var5;
1621 var1 = var6;
1622 goto RET_LABEL2;
1623 RET_LABEL2:(void)0;
1624 }
1625 var = var1;
1626 RET_LABEL:;
1627 return var;
1628 }
1629 /* method kernel#Int#+ for (self: Int, Int): Int */
1630 long standard___standard__Int___Numeric___43d(long self, long p0) {
1631 long var /* : Int */;
1632 short int var1 /* : Bool */;
1633 int cltype;
1634 int idtype;
1635 const char* var_class_name;
1636 long var2 /* : Int */;
1637 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1638 /* <p0:Int> isa OTHER */
1639 var1 = 1; /* easy <p0:Int> isa OTHER*/
1640 if (unlikely(!var1)) {
1641 var_class_name = type_standard__Int.name;
1642 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1643 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1644 show_backtrace(1);
1645 }
1646 var2 = self + p0;
1647 var = var2;
1648 goto RET_LABEL;
1649 RET_LABEL:;
1650 return var;
1651 }
1652 /* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */
1653 val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) {
1654 val* var /* : Numeric */;
1655 long var1 /* : Int */;
1656 short int var3 /* : Bool */;
1657 int cltype;
1658 int idtype;
1659 const struct type* type_struct;
1660 const char* var_class_name;
1661 long var4 /* : Int */;
1662 long var5 /* : Int */;
1663 long var6 /* : Int */;
1664 val* var7 /* : Numeric */;
1665 { /* Inline kernel#Int#+ (self,p0) on <self:Numeric(Int)> */
1666 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1667 /* <p0:Numeric> isa OTHER */
1668 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1669 cltype = type_struct->color;
1670 idtype = type_struct->id;
1671 if(cltype >= p0->type->table_size) {
1672 var3 = 0;
1673 } else {
1674 var3 = p0->type->type_table[cltype] == idtype;
1675 }
1676 if (unlikely(!var3)) {
1677 var_class_name = p0 == NULL ? "null" : p0->type->name;
1678 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1679 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1680 show_backtrace(1);
1681 }
1682 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1683 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */;
1684 var6 = var4 + var5;
1685 var1 = var6;
1686 goto RET_LABEL2;
1687 RET_LABEL2:(void)0;
1688 }
1689 var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */
1690 var = var7;
1691 RET_LABEL:;
1692 return var;
1693 }
1694 /* method kernel#Int#unary - for (self: Int): Int */
1695 long standard___standard__Int___Numeric__unary_32d_45d(long self) {
1696 long var /* : Int */;
1697 long var1 /* : Int */;
1698 var1 = -self;
1699 var = var1;
1700 goto RET_LABEL;
1701 RET_LABEL:;
1702 return var;
1703 }
1704 /* method kernel#Int#unary - for (self: Numeric): Numeric */
1705 val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) {
1706 val* var /* : Numeric */;
1707 long var1 /* : Int */;
1708 long var3 /* : Int */;
1709 long var4 /* : Int */;
1710 val* var5 /* : Numeric */;
1711 { /* Inline kernel#Int#unary - (self) on <self:Numeric(Int)> */
1712 var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1713 var4 = -var3;
1714 var1 = var4;
1715 goto RET_LABEL2;
1716 RET_LABEL2:(void)0;
1717 }
1718 var5 = BOX_standard__Int(var1); /* autobox from Int to Numeric */
1719 var = var5;
1720 RET_LABEL:;
1721 return var;
1722 }
1723 /* method kernel#Int#- for (self: Int, Int): Int */
1724 long standard___standard__Int___Numeric___45d(long self, long p0) {
1725 long var /* : Int */;
1726 short int var1 /* : Bool */;
1727 int cltype;
1728 int idtype;
1729 const char* var_class_name;
1730 long var2 /* : Int */;
1731 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1732 /* <p0:Int> isa OTHER */
1733 var1 = 1; /* easy <p0:Int> isa OTHER*/
1734 if (unlikely(!var1)) {
1735 var_class_name = type_standard__Int.name;
1736 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1737 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1738 show_backtrace(1);
1739 }
1740 var2 = self - p0;
1741 var = var2;
1742 goto RET_LABEL;
1743 RET_LABEL:;
1744 return var;
1745 }
1746 /* method kernel#Int#- for (self: Numeric, Numeric): Numeric */
1747 val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) {
1748 val* var /* : Numeric */;
1749 long var1 /* : Int */;
1750 short int var3 /* : Bool */;
1751 int cltype;
1752 int idtype;
1753 const struct type* type_struct;
1754 const char* var_class_name;
1755 long var4 /* : Int */;
1756 long var5 /* : Int */;
1757 long var6 /* : Int */;
1758 val* var7 /* : Numeric */;
1759 { /* Inline kernel#Int#- (self,p0) on <self:Numeric(Int)> */
1760 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1761 /* <p0:Numeric> isa OTHER */
1762 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1763 cltype = type_struct->color;
1764 idtype = type_struct->id;
1765 if(cltype >= p0->type->table_size) {
1766 var3 = 0;
1767 } else {
1768 var3 = p0->type->type_table[cltype] == idtype;
1769 }
1770 if (unlikely(!var3)) {
1771 var_class_name = p0 == NULL ? "null" : p0->type->name;
1772 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1773 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1774 show_backtrace(1);
1775 }
1776 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1777 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */;
1778 var6 = var4 - var5;
1779 var1 = var6;
1780 goto RET_LABEL2;
1781 RET_LABEL2:(void)0;
1782 }
1783 var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */
1784 var = var7;
1785 RET_LABEL:;
1786 return var;
1787 }
1788 /* method kernel#Int#* for (self: Int, Int): Int */
1789 long standard___standard__Int___Numeric___42d(long self, long p0) {
1790 long var /* : Int */;
1791 short int var1 /* : Bool */;
1792 int cltype;
1793 int idtype;
1794 const char* var_class_name;
1795 long var2 /* : Int */;
1796 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1797 /* <p0:Int> isa OTHER */
1798 var1 = 1; /* easy <p0:Int> isa OTHER*/
1799 if (unlikely(!var1)) {
1800 var_class_name = type_standard__Int.name;
1801 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1802 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
1803 show_backtrace(1);
1804 }
1805 var2 = self * p0;
1806 var = var2;
1807 goto RET_LABEL;
1808 RET_LABEL:;
1809 return var;
1810 }
1811 /* method kernel#Int#* for (self: Numeric, Numeric): Numeric */
1812 val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) {
1813 val* var /* : Numeric */;
1814 long var1 /* : Int */;
1815 short int var3 /* : Bool */;
1816 int cltype;
1817 int idtype;
1818 const struct type* type_struct;
1819 const char* var_class_name;
1820 long var4 /* : Int */;
1821 long var5 /* : Int */;
1822 long var6 /* : Int */;
1823 val* var7 /* : Numeric */;
1824 { /* Inline kernel#Int#* (self,p0) on <self:Numeric(Int)> */
1825 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1826 /* <p0:Numeric> isa OTHER */
1827 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1828 cltype = type_struct->color;
1829 idtype = type_struct->id;
1830 if(cltype >= p0->type->table_size) {
1831 var3 = 0;
1832 } else {
1833 var3 = p0->type->type_table[cltype] == idtype;
1834 }
1835 if (unlikely(!var3)) {
1836 var_class_name = p0 == NULL ? "null" : p0->type->name;
1837 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1838 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
1839 show_backtrace(1);
1840 }
1841 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1842 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */;
1843 var6 = var4 * var5;
1844 var1 = var6;
1845 goto RET_LABEL2;
1846 RET_LABEL2:(void)0;
1847 }
1848 var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */
1849 var = var7;
1850 RET_LABEL:;
1851 return var;
1852 }
1853 /* method kernel#Int#/ for (self: Int, Int): Int */
1854 long standard___standard__Int___Numeric___47d(long self, long p0) {
1855 long var /* : Int */;
1856 short int var1 /* : Bool */;
1857 int cltype;
1858 int idtype;
1859 const char* var_class_name;
1860 long var2 /* : Int */;
1861 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
1862 /* <p0:Int> isa OTHER */
1863 var1 = 1; /* easy <p0:Int> isa OTHER*/
1864 if (unlikely(!var1)) {
1865 var_class_name = type_standard__Int.name;
1866 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1867 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
1868 show_backtrace(1);
1869 }
1870 var2 = self / p0;
1871 var = var2;
1872 goto RET_LABEL;
1873 RET_LABEL:;
1874 return var;
1875 }
1876 /* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */
1877 val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) {
1878 val* var /* : Numeric */;
1879 long var1 /* : Int */;
1880 short int var3 /* : Bool */;
1881 int cltype;
1882 int idtype;
1883 const struct type* type_struct;
1884 const char* var_class_name;
1885 long var4 /* : Int */;
1886 long var5 /* : Int */;
1887 long var6 /* : Int */;
1888 val* var7 /* : Numeric */;
1889 { /* Inline kernel#Int#/ (self,p0) on <self:Numeric(Int)> */
1890 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
1891 /* <p0:Numeric> isa OTHER */
1892 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1893 cltype = type_struct->color;
1894 idtype = type_struct->id;
1895 if(cltype >= p0->type->table_size) {
1896 var3 = 0;
1897 } else {
1898 var3 = p0->type->type_table[cltype] == idtype;
1899 }
1900 if (unlikely(!var3)) {
1901 var_class_name = p0 == NULL ? "null" : p0->type->name;
1902 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1903 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
1904 show_backtrace(1);
1905 }
1906 var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1907 var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */;
1908 var6 = var4 / var5;
1909 var1 = var6;
1910 goto RET_LABEL2;
1911 RET_LABEL2:(void)0;
1912 }
1913 var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */
1914 var = var7;
1915 RET_LABEL:;
1916 return var;
1917 }
1918 /* method kernel#Int#% for (self: Int, Int): Int */
1919 long standard___standard__Int____37d(long self, long p0) {
1920 long var /* : Int */;
1921 long var1 /* : Int */;
1922 var1 = self % p0;
1923 var = var1;
1924 goto RET_LABEL;
1925 RET_LABEL:;
1926 return var;
1927 }
1928 /* method kernel#Int#lshift for (self: Int, Int): Int */
1929 long standard___standard__Int___lshift(long self, long p0) {
1930 long var /* : Int */;
1931 long var1 /* : Int */;
1932 var1 = self << p0;
1933 var = var1;
1934 goto RET_LABEL;
1935 RET_LABEL:;
1936 return var;
1937 }
1938 /* method kernel#Int#to_i for (self: Int): Int */
1939 long standard___standard__Int___Numeric__to_i(long self) {
1940 long var /* : Int */;
1941 var = self;
1942 goto RET_LABEL;
1943 RET_LABEL:;
1944 return var;
1945 }
1946 /* method kernel#Int#to_i for (self: Numeric): Int */
1947 long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) {
1948 long var /* : Int */;
1949 long var1 /* : Int */;
1950 long var2 /* : Int */;
1951 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1952 var1 = standard___standard__Int___Numeric__to_i(var2);
1953 var = var1;
1954 RET_LABEL:;
1955 return var;
1956 }
1957 /* method kernel#Int#to_f for (self: Int): Float */
1958 double standard___standard__Int___Numeric__to_f(long self) {
1959 double var /* : Float */;
1960 double var1 /* : Float */;
1961 var1 = (double)self;
1962 var = var1;
1963 goto RET_LABEL;
1964 RET_LABEL:;
1965 return var;
1966 }
1967 /* method kernel#Int#to_f for (self: Numeric): Float */
1968 double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) {
1969 double var /* : Float */;
1970 double var1 /* : Float */;
1971 long var3 /* : Int */;
1972 double var4 /* : Float */;
1973 { /* Inline kernel#Int#to_f (self) on <self:Numeric(Int)> */
1974 var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */;
1975 var4 = (double)var3;
1976 var1 = var4;
1977 goto RET_LABEL2;
1978 RET_LABEL2:(void)0;
1979 }
1980 var = var1;
1981 RET_LABEL:;
1982 return var;
1983 }
1984 /* method kernel#Int#distance for (self: Int, Int): Int */
1985 long standard___standard__Int___Discrete__distance(long self, long p0) {
1986 long var /* : Int */;
1987 short int var1 /* : Bool */;
1988 int cltype;
1989 int idtype;
1990 const char* var_class_name;
1991 long var_i /* var i: Int */;
1992 long var2 /* : Int */;
1993 short int var4 /* : Bool */;
1994 int cltype5;
1995 int idtype6;
1996 const char* var_class_name7;
1997 long var8 /* : Int */;
1998 long var_d /* var d: Int */;
1999 long var9 /* : Int */;
2000 short int var10 /* : Bool */;
2001 short int var12 /* : Bool */;
2002 int cltype13;
2003 int idtype14;
2004 const char* var_class_name15;
2005 short int var16 /* : Bool */;
2006 long var17 /* : Int */;
2007 long var19 /* : Int */;
2008 /* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
2009 /* <p0:Int> isa OTHER */
2010 var1 = 1; /* easy <p0:Int> isa OTHER*/
2011 if (unlikely(!var1)) {
2012 var_class_name = type_standard__Int.name;
2013 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2014 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 444);
2015 show_backtrace(1);
2016 }
2017 var_i = p0;
2018 {
2019 { /* Inline kernel#Int#- (self,var_i) on <self:Int> */
2020 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
2021 /* <var_i:Int> isa OTHER */
2022 var4 = 1; /* easy <var_i:Int> isa OTHER*/
2023 if (unlikely(!var4)) {
2024 var_class_name7 = type_standard__Int.name;
2025 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2026 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2027 show_backtrace(1);
2028 }
2029 var8 = self - var_i;
2030 var2 = var8;
2031 goto RET_LABEL3;
2032 RET_LABEL3:(void)0;
2033 }
2034 }
2035 var_d = var2;
2036 var9 = 0;
2037 {
2038 { /* Inline kernel#Int#>= (var_d,var9) on <var_d:Int> */
2039 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
2040 /* <var9:Int> isa OTHER */
2041 var12 = 1; /* easy <var9:Int> isa OTHER*/
2042 if (unlikely(!var12)) {
2043 var_class_name15 = type_standard__Int.name;
2044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
2045 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2046 show_backtrace(1);
2047 }
2048 var16 = var_d >= var9;
2049 var10 = var16;
2050 goto RET_LABEL11;
2051 RET_LABEL11:(void)0;
2052 }
2053 }
2054 if (var10){
2055 var = var_d;
2056 goto RET_LABEL;
2057 } else {
2058 {
2059 { /* Inline kernel#Int#unary - (var_d) on <var_d:Int> */
2060 var19 = -var_d;
2061 var17 = var19;
2062 goto RET_LABEL18;
2063 RET_LABEL18:(void)0;
2064 }
2065 }
2066 var = var17;
2067 goto RET_LABEL;
2068 }
2069 RET_LABEL:;
2070 return var;
2071 }
2072 /* method kernel#Int#distance for (self: Discrete, Discrete): Int */
2073 long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) {
2074 long var /* : Int */;
2075 long var1 /* : Int */;
2076 long var2 /* : Int */;
2077 long var3 /* : Int */;
2078 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Discrete to Int */;
2079 var3 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Discrete to Int */;
2080 var1 = standard___standard__Int___Discrete__distance(var2, var3);
2081 var = var1;
2082 RET_LABEL:;
2083 return var;
2084 }
2085 /* method kernel#Int#<=> for (self: Int, Int): Int */
2086 long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) {
2087 long var /* : Int */;
2088 short int var1 /* : Bool */;
2089 int cltype;
2090 int idtype;
2091 const char* var_class_name;
2092 long var_other /* var other: Int */;
2093 short int var2 /* : Bool */;
2094 short int var4 /* : Bool */;
2095 int cltype5;
2096 int idtype6;
2097 const char* var_class_name7;
2098 short int var8 /* : Bool */;
2099 long var9 /* : Int */;
2100 long var10 /* : Int */;
2101 long var12 /* : Int */;
2102 short int var13 /* : Bool */;
2103 short int var15 /* : Bool */;
2104 int cltype16;
2105 int idtype17;
2106 const char* var_class_name18;
2107 short int var19 /* : Bool */;
2108 long var20 /* : Int */;
2109 long var21 /* : Int */;
2110 /* Covariant cast for argument 0 (other) <p0:Int> isa OTHER */
2111 /* <p0:Int> isa OTHER */
2112 var1 = 1; /* easy <p0:Int> isa OTHER*/
2113 if (unlikely(!var1)) {
2114 var_class_name = type_standard__Int.name;
2115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2116 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 454);
2117 show_backtrace(1);
2118 }
2119 var_other = p0;
2120 {
2121 { /* Inline kernel#Int#< (self,var_other) on <self:Int> */
2122 /* Covariant cast for argument 0 (i) <var_other:Int> isa OTHER */
2123 /* <var_other:Int> isa OTHER */
2124 var4 = 1; /* easy <var_other:Int> isa OTHER*/
2125 if (unlikely(!var4)) {
2126 var_class_name7 = type_standard__Int.name;
2127 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
2128 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2129 show_backtrace(1);
2130 }
2131 var8 = self < var_other;
2132 var2 = var8;
2133 goto RET_LABEL3;
2134 RET_LABEL3:(void)0;
2135 }
2136 }
2137 if (var2){
2138 var9 = 1;
2139 {
2140 { /* Inline kernel#Int#unary - (var9) on <var9:Int> */
2141 var12 = -var9;
2142 var10 = var12;
2143 goto RET_LABEL11;
2144 RET_LABEL11:(void)0;
2145 }
2146 }
2147 var = var10;
2148 goto RET_LABEL;
2149 } else {
2150 {
2151 { /* Inline kernel#Int#< (var_other,self) on <var_other:Int> */
2152 /* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
2153 /* <self:Int> isa OTHER */
2154 var15 = 1; /* easy <self:Int> isa OTHER*/
2155 if (unlikely(!var15)) {
2156 var_class_name18 = type_standard__Int.name;
2157 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
2158 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2159 show_backtrace(1);
2160 }
2161 var19 = var_other < self;
2162 var13 = var19;
2163 goto RET_LABEL14;
2164 RET_LABEL14:(void)0;
2165 }
2166 }
2167 if (var13){
2168 var20 = 1;
2169 var = var20;
2170 goto RET_LABEL;
2171 } else {
2172 var21 = 0;
2173 var = var21;
2174 goto RET_LABEL;
2175 }
2176 }
2177 RET_LABEL:;
2178 return var;
2179 }
2180 /* method kernel#Int#<=> for (self: Comparable, Comparable): Int */
2181 long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) {
2182 long var /* : Int */;
2183 long var1 /* : Int */;
2184 long var2 /* : Int */;
2185 long var3 /* : Int */;
2186 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */;
2187 var3 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */;
2188 var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3);
2189 var = var1;
2190 RET_LABEL:;
2191 return var;
2192 }
2193 /* method kernel#Int#ascii for (self: Int): Char */
2194 char standard___standard__Int___ascii(long self) {
2195 char var /* : Char */;
2196 char var1 /* : Char */;
2197 var1 = self;
2198 var = var1;
2199 goto RET_LABEL;
2200 RET_LABEL:;
2201 return var;
2202 }
2203 /* method kernel#Int#digit_count for (self: Int, Int): Int */
2204 long standard___standard__Int___digit_count(long self, long p0) {
2205 long var /* : Int */;
2206 long var_b /* var b: Int */;
2207 long var1 /* : Int */;
2208 short int var2 /* : Bool */;
2209 short int var4 /* : Bool */;
2210 long var5 /* : Int */;
2211 long var6 /* : Int */;
2212 short int var7 /* : Bool */;
2213 short int var9 /* : Bool */;
2214 int cltype;
2215 int idtype;
2216 const char* var_class_name;
2217 short int var10 /* : Bool */;
2218 long var11 /* : Int */;
2219 long var_d /* var d: Int */;
2220 long var12 /* : Int */;
2221 long var14 /* : Int */;
2222 long var_n /* var n: Int */;
2223 long var15 /* : Int */;
2224 short int var16 /* : Bool */;
2225 short int var18 /* : Bool */;
2226 long var19 /* : Int */;
2227 long var20 /* : Int */;
2228 long var21 /* : Int */;
2229 short int var22 /* : Bool */;
2230 short int var24 /* : Bool */;
2231 int cltype25;
2232 int idtype26;
2233 const char* var_class_name27;
2234 short int var28 /* : Bool */;
2235 long var29 /* : Int */;
2236 long var30 /* : Int */;
2237 short int var32 /* : Bool */;
2238 int cltype33;
2239 int idtype34;
2240 const char* var_class_name35;
2241 long var36 /* : Int */;
2242 long var37 /* : Int */;
2243 short int var39 /* : Bool */;
2244 int cltype40;
2245 int idtype41;
2246 const char* var_class_name42;
2247 long var43 /* : Int */;
2248 var_b = p0;
2249 var1 = 10;
2250 {
2251 { /* Inline kernel#Int#== (var_b,var1) on <var_b:Int> */
2252 var4 = var_b == var1;
2253 var2 = var4;
2254 goto RET_LABEL3;
2255 RET_LABEL3:(void)0;
2256 }
2257 }
2258 if (var2){
2259 {
2260 var5 = standard___standard__Int___digit_count_base_95d10(self);
2261 }
2262 var = var5;
2263 goto RET_LABEL;
2264 } else {
2265 }
2266 var6 = 0;
2267 {
2268 { /* Inline kernel#Int#< (self,var6) on <self:Int> */
2269 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2270 /* <var6:Int> isa OTHER */
2271 var9 = 1; /* easy <var6:Int> isa OTHER*/
2272 if (unlikely(!var9)) {
2273 var_class_name = type_standard__Int.name;
2274 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2275 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2276 show_backtrace(1);
2277 }
2278 var10 = self < var6;
2279 var7 = var10;
2280 goto RET_LABEL8;
2281 RET_LABEL8:(void)0;
2282 }
2283 }
2284 if (var7){
2285 var11 = 1;
2286 var_d = var11;
2287 {
2288 { /* Inline kernel#Int#unary - (self) on <self:Int> */
2289 var14 = -self;
2290 var12 = var14;
2291 goto RET_LABEL13;
2292 RET_LABEL13:(void)0;
2293 }
2294 }
2295 var_n = var12;
2296 } else {
2297 var15 = 0;
2298 {
2299 { /* Inline kernel#Int#== (self,var15) on <self:Int> */
2300 var18 = self == var15;
2301 var16 = var18;
2302 goto RET_LABEL17;
2303 RET_LABEL17:(void)0;
2304 }
2305 }
2306 if (var16){
2307 var19 = 1;
2308 var = var19;
2309 goto RET_LABEL;
2310 } else {
2311 var20 = 0;
2312 var_d = var20;
2313 var_n = self;
2314 }
2315 }
2316 for(;;) {
2317 var21 = 0;
2318 {
2319 { /* Inline kernel#Int#> (var_n,var21) on <var_n:Int> */
2320 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
2321 /* <var21:Int> isa OTHER */
2322 var24 = 1; /* easy <var21:Int> isa OTHER*/
2323 if (unlikely(!var24)) {
2324 var_class_name27 = type_standard__Int.name;
2325 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
2326 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
2327 show_backtrace(1);
2328 }
2329 var28 = var_n > var21;
2330 var22 = var28;
2331 goto RET_LABEL23;
2332 RET_LABEL23:(void)0;
2333 }
2334 }
2335 if (var22){
2336 var29 = 1;
2337 {
2338 { /* Inline kernel#Int#+ (var_d,var29) on <var_d:Int> */
2339 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
2340 /* <var29:Int> isa OTHER */
2341 var32 = 1; /* easy <var29:Int> isa OTHER*/
2342 if (unlikely(!var32)) {
2343 var_class_name35 = type_standard__Int.name;
2344 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
2345 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2346 show_backtrace(1);
2347 }
2348 var36 = var_d + var29;
2349 var30 = var36;
2350 goto RET_LABEL31;
2351 RET_LABEL31:(void)0;
2352 }
2353 }
2354 var_d = var30;
2355 {
2356 { /* Inline kernel#Int#/ (var_n,var_b) on <var_n:Int> */
2357 /* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
2358 /* <var_b:Int> isa OTHER */
2359 var39 = 1; /* easy <var_b:Int> isa OTHER*/
2360 if (unlikely(!var39)) {
2361 var_class_name42 = type_standard__Int.name;
2362 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
2363 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
2364 show_backtrace(1);
2365 }
2366 var43 = var_n / var_b;
2367 var37 = var43;
2368 goto RET_LABEL38;
2369 RET_LABEL38:(void)0;
2370 }
2371 }
2372 var_n = var37;
2373 } else {
2374 goto BREAK_label;
2375 }
2376 }
2377 BREAK_label: (void)0;
2378 var = var_d;
2379 goto RET_LABEL;
2380 RET_LABEL:;
2381 return var;
2382 }
2383 /* method kernel#Int#digit_count_base_10 for (self: Int): Int */
2384 long standard___standard__Int___digit_count_base_95d10(long self) {
2385 long var /* : Int */;
2386 long var1 /* : Int */;
2387 short int var2 /* : Bool */;
2388 short int var4 /* : Bool */;
2389 int cltype;
2390 int idtype;
2391 const char* var_class_name;
2392 short int var5 /* : Bool */;
2393 long var6 /* : Int */;
2394 long var_result /* var result: Int */;
2395 long var7 /* : Int */;
2396 long var9 /* : Int */;
2397 long var_val /* var val: Int */;
2398 long var10 /* : Int */;
2399 long var11 /* : Int */;
2400 short int var12 /* : Bool */;
2401 short int var14 /* : Bool */;
2402 int cltype15;
2403 int idtype16;
2404 const char* var_class_name17;
2405 short int var18 /* : Bool */;
2406 long var19 /* : Int */;
2407 short int var20 /* : Bool */;
2408 short int var22 /* : Bool */;
2409 int cltype23;
2410 int idtype24;
2411 const char* var_class_name25;
2412 short int var26 /* : Bool */;
2413 long var27 /* : Int */;
2414 long var28 /* : Int */;
2415 short int var30 /* : Bool */;
2416 int cltype31;
2417 int idtype32;
2418 const char* var_class_name33;
2419 long var34 /* : Int */;
2420 long var35 /* : Int */;
2421 short int var36 /* : Bool */;
2422 short int var38 /* : Bool */;
2423 int cltype39;
2424 int idtype40;
2425 const char* var_class_name41;
2426 short int var42 /* : Bool */;
2427 long var43 /* : Int */;
2428 long var44 /* : Int */;
2429 short int var46 /* : Bool */;
2430 int cltype47;
2431 int idtype48;
2432 const char* var_class_name49;
2433 long var50 /* : Int */;
2434 long var51 /* : Int */;
2435 short int var52 /* : Bool */;
2436 short int var54 /* : Bool */;
2437 int cltype55;
2438 int idtype56;
2439 const char* var_class_name57;
2440 short int var58 /* : Bool */;
2441 long var59 /* : Int */;
2442 long var60 /* : Int */;
2443 short int var62 /* : Bool */;
2444 int cltype63;
2445 int idtype64;
2446 const char* var_class_name65;
2447 long var66 /* : Int */;
2448 long var67 /* : Int */;
2449 long var68 /* : Int */;
2450 short int var70 /* : Bool */;
2451 int cltype71;
2452 int idtype72;
2453 const char* var_class_name73;
2454 long var74 /* : Int */;
2455 long var75 /* : Int */;
2456 long var76 /* : Int */;
2457 short int var78 /* : Bool */;
2458 int cltype79;
2459 int idtype80;
2460 const char* var_class_name81;
2461 long var82 /* : Int */;
2462 var1 = 0;
2463 {
2464 { /* Inline kernel#Int#< (self,var1) on <self:Int> */
2465 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2466 /* <var1:Int> isa OTHER */
2467 var4 = 1; /* easy <var1:Int> isa OTHER*/
2468 if (unlikely(!var4)) {
2469 var_class_name = type_standard__Int.name;
2470 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2471 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2472 show_backtrace(1);
2473 }
2474 var5 = self < var1;
2475 var2 = var5;
2476 goto RET_LABEL3;
2477 RET_LABEL3:(void)0;
2478 }
2479 }
2480 if (var2){
2481 var6 = 2;
2482 var_result = var6;
2483 {
2484 { /* Inline kernel#Int#unary - (self) on <self:Int> */
2485 var9 = -self;
2486 var7 = var9;
2487 goto RET_LABEL8;
2488 RET_LABEL8:(void)0;
2489 }
2490 }
2491 var_val = var7;
2492 } else {
2493 var10 = 1;
2494 var_result = var10;
2495 var_val = self;
2496 }
2497 for(;;) {
2498 var11 = 10;
2499 {
2500 { /* Inline kernel#Int#< (var_val,var11) on <var_val:Int> */
2501 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
2502 /* <var11:Int> isa OTHER */
2503 var14 = 1; /* easy <var11:Int> isa OTHER*/
2504 if (unlikely(!var14)) {
2505 var_class_name17 = type_standard__Int.name;
2506 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2507 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2508 show_backtrace(1);
2509 }
2510 var18 = var_val < var11;
2511 var12 = var18;
2512 goto RET_LABEL13;
2513 RET_LABEL13:(void)0;
2514 }
2515 }
2516 if (var12){
2517 var = var_result;
2518 goto RET_LABEL;
2519 } else {
2520 }
2521 var19 = 100;
2522 {
2523 { /* Inline kernel#Int#< (var_val,var19) on <var_val:Int> */
2524 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
2525 /* <var19:Int> isa OTHER */
2526 var22 = 1; /* easy <var19:Int> isa OTHER*/
2527 if (unlikely(!var22)) {
2528 var_class_name25 = type_standard__Int.name;
2529 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
2530 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2531 show_backtrace(1);
2532 }
2533 var26 = var_val < var19;
2534 var20 = var26;
2535 goto RET_LABEL21;
2536 RET_LABEL21:(void)0;
2537 }
2538 }
2539 if (var20){
2540 var27 = 1;
2541 {
2542 { /* Inline kernel#Int#+ (var_result,var27) on <var_result:Int> */
2543 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
2544 /* <var27:Int> isa OTHER */
2545 var30 = 1; /* easy <var27:Int> isa OTHER*/
2546 if (unlikely(!var30)) {
2547 var_class_name33 = type_standard__Int.name;
2548 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
2549 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2550 show_backtrace(1);
2551 }
2552 var34 = var_result + var27;
2553 var28 = var34;
2554 goto RET_LABEL29;
2555 RET_LABEL29:(void)0;
2556 }
2557 }
2558 var = var28;
2559 goto RET_LABEL;
2560 } else {
2561 }
2562 var35 = 1000;
2563 {
2564 { /* Inline kernel#Int#< (var_val,var35) on <var_val:Int> */
2565 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
2566 /* <var35:Int> isa OTHER */
2567 var38 = 1; /* easy <var35:Int> isa OTHER*/
2568 if (unlikely(!var38)) {
2569 var_class_name41 = type_standard__Int.name;
2570 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
2571 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2572 show_backtrace(1);
2573 }
2574 var42 = var_val < var35;
2575 var36 = var42;
2576 goto RET_LABEL37;
2577 RET_LABEL37:(void)0;
2578 }
2579 }
2580 if (var36){
2581 var43 = 2;
2582 {
2583 { /* Inline kernel#Int#+ (var_result,var43) on <var_result:Int> */
2584 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
2585 /* <var43:Int> isa OTHER */
2586 var46 = 1; /* easy <var43:Int> isa OTHER*/
2587 if (unlikely(!var46)) {
2588 var_class_name49 = type_standard__Int.name;
2589 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
2590 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2591 show_backtrace(1);
2592 }
2593 var50 = var_result + var43;
2594 var44 = var50;
2595 goto RET_LABEL45;
2596 RET_LABEL45:(void)0;
2597 }
2598 }
2599 var = var44;
2600 goto RET_LABEL;
2601 } else {
2602 }
2603 var51 = 10000;
2604 {
2605 { /* Inline kernel#Int#< (var_val,var51) on <var_val:Int> */
2606 /* Covariant cast for argument 0 (i) <var51:Int> isa OTHER */
2607 /* <var51:Int> isa OTHER */
2608 var54 = 1; /* easy <var51:Int> isa OTHER*/
2609 if (unlikely(!var54)) {
2610 var_class_name57 = type_standard__Int.name;
2611 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
2612 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2613 show_backtrace(1);
2614 }
2615 var58 = var_val < var51;
2616 var52 = var58;
2617 goto RET_LABEL53;
2618 RET_LABEL53:(void)0;
2619 }
2620 }
2621 if (var52){
2622 var59 = 3;
2623 {
2624 { /* Inline kernel#Int#+ (var_result,var59) on <var_result:Int> */
2625 /* Covariant cast for argument 0 (i) <var59:Int> isa OTHER */
2626 /* <var59:Int> isa OTHER */
2627 var62 = 1; /* easy <var59:Int> isa OTHER*/
2628 if (unlikely(!var62)) {
2629 var_class_name65 = type_standard__Int.name;
2630 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
2631 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2632 show_backtrace(1);
2633 }
2634 var66 = var_result + var59;
2635 var60 = var66;
2636 goto RET_LABEL61;
2637 RET_LABEL61:(void)0;
2638 }
2639 }
2640 var = var60;
2641 goto RET_LABEL;
2642 } else {
2643 }
2644 var67 = 10000;
2645 {
2646 { /* Inline kernel#Int#/ (var_val,var67) on <var_val:Int> */
2647 /* Covariant cast for argument 0 (i) <var67:Int> isa OTHER */
2648 /* <var67:Int> isa OTHER */
2649 var70 = 1; /* easy <var67:Int> isa OTHER*/
2650 if (unlikely(!var70)) {
2651 var_class_name73 = type_standard__Int.name;
2652 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
2653 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
2654 show_backtrace(1);
2655 }
2656 var74 = var_val / var67;
2657 var68 = var74;
2658 goto RET_LABEL69;
2659 RET_LABEL69:(void)0;
2660 }
2661 }
2662 var_val = var68;
2663 var75 = 4;
2664 {
2665 { /* Inline kernel#Int#+ (var_result,var75) on <var_result:Int> */
2666 /* Covariant cast for argument 0 (i) <var75:Int> isa OTHER */
2667 /* <var75:Int> isa OTHER */
2668 var78 = 1; /* easy <var75:Int> isa OTHER*/
2669 if (unlikely(!var78)) {
2670 var_class_name81 = type_standard__Int.name;
2671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81);
2672 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2673 show_backtrace(1);
2674 }
2675 var82 = var_result + var75;
2676 var76 = var82;
2677 goto RET_LABEL77;
2678 RET_LABEL77:(void)0;
2679 }
2680 }
2681 var_result = var76;
2682 }
2683 RET_LABEL:;
2684 return var;
2685 }
2686 /* method kernel#Int#to_c for (self: Int): Char */
2687 char standard___standard__Int___to_c(long self) {
2688 char var /* : Char */;
2689 short int var1 /* : Bool */;
2690 long var2 /* : Int */;
2691 short int var3 /* : Bool */;
2692 short int var5 /* : Bool */;
2693 int cltype;
2694 int idtype;
2695 const char* var_class_name;
2696 short int var6 /* : Bool */;
2697 short int var_ /* var : Bool */;
2698 long var7 /* : Int */;
2699 short int var8 /* : Bool */;
2700 short int var10 /* : Bool */;
2701 int cltype11;
2702 int idtype12;
2703 const char* var_class_name13;
2704 short int var14 /* : Bool */;
2705 long var15 /* : Int */;
2706 short int var16 /* : Bool */;
2707 short int var18 /* : Bool */;
2708 int cltype19;
2709 int idtype20;
2710 const char* var_class_name21;
2711 short int var22 /* : Bool */;
2712 char var23 /* : Char */;
2713 long var24 /* : Int */;
2714 long var26 /* : Int */;
2715 long var27 /* : Int */;
2716 short int var29 /* : Bool */;
2717 int cltype30;
2718 int idtype31;
2719 const char* var_class_name32;
2720 long var33 /* : Int */;
2721 char var34 /* : Char */;
2722 char var36 /* : Char */;
2723 char var37 /* : Char */;
2724 long var38 /* : Int */;
2725 long var40 /* : Int */;
2726 long var41 /* : Int */;
2727 long var42 /* : Int */;
2728 short int var44 /* : Bool */;
2729 int cltype45;
2730 int idtype46;
2731 const char* var_class_name47;
2732 long var48 /* : Int */;
2733 long var49 /* : Int */;
2734 short int var51 /* : Bool */;
2735 int cltype52;
2736 int idtype53;
2737 const char* var_class_name54;
2738 long var55 /* : Int */;
2739 char var56 /* : Char */;
2740 char var58 /* : Char */;
2741 var2 = 0;
2742 {
2743 { /* Inline kernel#Int#>= (self,var2) on <self:Int> */
2744 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2745 /* <var2:Int> isa OTHER */
2746 var5 = 1; /* easy <var2:Int> isa OTHER*/
2747 if (unlikely(!var5)) {
2748 var_class_name = type_standard__Int.name;
2749 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2750 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2751 show_backtrace(1);
2752 }
2753 var6 = self >= var2;
2754 var3 = var6;
2755 goto RET_LABEL4;
2756 RET_LABEL4:(void)0;
2757 }
2758 }
2759 var_ = var3;
2760 if (var3){
2761 var7 = 36;
2762 {
2763 { /* Inline kernel#Int#<= (self,var7) on <self:Int> */
2764 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
2765 /* <var7:Int> isa OTHER */
2766 var10 = 1; /* easy <var7:Int> isa OTHER*/
2767 if (unlikely(!var10)) {
2768 var_class_name13 = type_standard__Int.name;
2769 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
2770 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2771 show_backtrace(1);
2772 }
2773 var14 = self <= var7;
2774 var8 = var14;
2775 goto RET_LABEL9;
2776 RET_LABEL9:(void)0;
2777 }
2778 }
2779 var1 = var8;
2780 } else {
2781 var1 = var_;
2782 }
2783 if (unlikely(!var1)) {
2784 PRINT_ERROR("Runtime error: %s", "Assert failed");
2785 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 554);
2786 show_backtrace(1);
2787 }
2788 var15 = 10;
2789 {
2790 { /* Inline kernel#Int#< (self,var15) on <self:Int> */
2791 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
2792 /* <var15:Int> isa OTHER */
2793 var18 = 1; /* easy <var15:Int> isa OTHER*/
2794 if (unlikely(!var18)) {
2795 var_class_name21 = type_standard__Int.name;
2796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
2797 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2798 show_backtrace(1);
2799 }
2800 var22 = self < var15;
2801 var16 = var22;
2802 goto RET_LABEL17;
2803 RET_LABEL17:(void)0;
2804 }
2805 }
2806 if (var16){
2807 var23 = '0';
2808 {
2809 { /* Inline kernel#Char#ascii (var23) on <var23:Char> */
2810 var26 = (unsigned char)var23;
2811 var24 = var26;
2812 goto RET_LABEL25;
2813 RET_LABEL25:(void)0;
2814 }
2815 }
2816 {
2817 { /* Inline kernel#Int#+ (self,var24) on <self:Int> */
2818 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
2819 /* <var24:Int> isa OTHER */
2820 var29 = 1; /* easy <var24:Int> isa OTHER*/
2821 if (unlikely(!var29)) {
2822 var_class_name32 = type_standard__Int.name;
2823 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
2824 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2825 show_backtrace(1);
2826 }
2827 var33 = self + var24;
2828 var27 = var33;
2829 goto RET_LABEL28;
2830 RET_LABEL28:(void)0;
2831 }
2832 }
2833 {
2834 { /* Inline kernel#Int#ascii (var27) on <var27:Int> */
2835 var36 = var27;
2836 var34 = var36;
2837 goto RET_LABEL35;
2838 RET_LABEL35:(void)0;
2839 }
2840 }
2841 var = var34;
2842 goto RET_LABEL;
2843 } else {
2844 var37 = 'a';
2845 {
2846 { /* Inline kernel#Char#ascii (var37) on <var37:Char> */
2847 var40 = (unsigned char)var37;
2848 var38 = var40;
2849 goto RET_LABEL39;
2850 RET_LABEL39:(void)0;
2851 }
2852 }
2853 var41 = 10;
2854 {
2855 { /* Inline kernel#Int#- (var38,var41) on <var38:Int> */
2856 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
2857 /* <var41:Int> isa OTHER */
2858 var44 = 1; /* easy <var41:Int> isa OTHER*/
2859 if (unlikely(!var44)) {
2860 var_class_name47 = type_standard__Int.name;
2861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
2862 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2863 show_backtrace(1);
2864 }
2865 var48 = var38 - var41;
2866 var42 = var48;
2867 goto RET_LABEL43;
2868 RET_LABEL43:(void)0;
2869 }
2870 }
2871 {
2872 { /* Inline kernel#Int#+ (self,var42) on <self:Int> */
2873 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
2874 /* <var42:Int> isa OTHER */
2875 var51 = 1; /* easy <var42:Int> isa OTHER*/
2876 if (unlikely(!var51)) {
2877 var_class_name54 = type_standard__Int.name;
2878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
2879 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2880 show_backtrace(1);
2881 }
2882 var55 = self + var42;
2883 var49 = var55;
2884 goto RET_LABEL50;
2885 RET_LABEL50:(void)0;
2886 }
2887 }
2888 {
2889 { /* Inline kernel#Int#ascii (var49) on <var49:Int> */
2890 var58 = var49;
2891 var56 = var58;
2892 goto RET_LABEL57;
2893 RET_LABEL57:(void)0;
2894 }
2895 }
2896 var = var56;
2897 goto RET_LABEL;
2898 }
2899 RET_LABEL:;
2900 return var;
2901 }
2902 /* method kernel#Int#abs for (self: Int): Int */
2903 long standard___standard__Int___abs(long self) {
2904 long var /* : Int */;
2905 long var1 /* : Int */;
2906 short int var2 /* : Bool */;
2907 short int var4 /* : Bool */;
2908 int cltype;
2909 int idtype;
2910 const char* var_class_name;
2911 short int var5 /* : Bool */;
2912 long var6 /* : Int */;
2913 long var7 /* : Int */;
2914 long var9 /* : Int */;
2915 long var10 /* : Int */;
2916 short int var12 /* : Bool */;
2917 int cltype13;
2918 int idtype14;
2919 const char* var_class_name15;
2920 long var16 /* : Int */;
2921 var1 = 0;
2922 {
2923 { /* Inline kernel#Int#>= (self,var1) on <self:Int> */
2924 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2925 /* <var1:Int> isa OTHER */
2926 var4 = 1; /* easy <var1:Int> isa OTHER*/
2927 if (unlikely(!var4)) {
2928 var_class_name = type_standard__Int.name;
2929 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2930 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2931 show_backtrace(1);
2932 }
2933 var5 = self >= var1;
2934 var2 = var5;
2935 goto RET_LABEL3;
2936 RET_LABEL3:(void)0;
2937 }
2938 }
2939 if (var2){
2940 var = self;
2941 goto RET_LABEL;
2942 } else {
2943 var6 = 1;
2944 {
2945 { /* Inline kernel#Int#unary - (var6) on <var6:Int> */
2946 var9 = -var6;
2947 var7 = var9;
2948 goto RET_LABEL8;
2949 RET_LABEL8:(void)0;
2950 }
2951 }
2952 {
2953 { /* Inline kernel#Int#* (var7,self) on <var7:Int> */
2954 /* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
2955 /* <self:Int> isa OTHER */
2956 var12 = 1; /* easy <self:Int> isa OTHER*/
2957 if (unlikely(!var12)) {
2958 var_class_name15 = type_standard__Int.name;
2959 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
2960 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
2961 show_backtrace(1);
2962 }
2963 var16 = var7 * self;
2964 var10 = var16;
2965 goto RET_LABEL11;
2966 RET_LABEL11:(void)0;
2967 }
2968 }
2969 var = var10;
2970 goto RET_LABEL;
2971 }
2972 RET_LABEL:;
2973 return var;
2974 }
2975 /* method kernel#Char#object_id for (self: Char): Int */
2976 long standard___standard__Char___Object__object_id(char self) {
2977 long var /* : Int */;
2978 long var1 /* : Int */;
2979 var1 = (long)self;
2980 var = var1;
2981 goto RET_LABEL;
2982 RET_LABEL:;
2983 return var;
2984 }
2985 /* method kernel#Char#object_id for (self: Object): Int */
2986 long VIRTUAL_standard___standard__Char___Object__object_id(val* self) {
2987 long var /* : Int */;
2988 long var1 /* : Int */;
2989 char var3 /* : Char */;
2990 long var4 /* : Int */;
2991 { /* Inline kernel#Char#object_id (self) on <self:Object(Char)> */
2992 var3 = ((struct instance_standard__Char*)self)->value; /* autounbox from Object to Char */;
2993 var4 = (long)var3;
2994 var1 = var4;
2995 goto RET_LABEL2;
2996 RET_LABEL2:(void)0;
2997 }
2998 var = var1;
2999 RET_LABEL:;
3000 return var;
3001 }
3002 /* method kernel#Char#hash for (self: Char): Int */
3003 long standard___standard__Char___Object__hash(char self) {
3004 long var /* : Int */;
3005 long var1 /* : Int */;
3006 long var3 /* : Int */;
3007 {
3008 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3009 var3 = (unsigned char)self;
3010 var1 = var3;
3011 goto RET_LABEL2;
3012 RET_LABEL2:(void)0;
3013 }
3014 }
3015 var = var1;
3016 goto RET_LABEL;
3017 RET_LABEL:;
3018 return var;
3019 }
3020 /* method kernel#Char#hash for (self: Object): Int */
3021 long VIRTUAL_standard___standard__Char___Object__hash(val* self) {
3022 long var /* : Int */;
3023 long var1 /* : Int */;
3024 char var2 /* : Char */;
3025 var2 = ((struct instance_standard__Char*)self)->value; /* autounbox from Object to Char */;
3026 var1 = standard___standard__Char___Object__hash(var2);
3027 var = var1;
3028 RET_LABEL:;
3029 return var;
3030 }
3031 /* method kernel#Char#== for (self: Char, nullable Object): Bool */
3032 short int standard___standard__Char___Object___61d_61d(char self, val* p0) {
3033 short int var /* : Bool */;
3034 short int var1 /* : Bool */;
3035 char var2 /* : Char */;
3036 var1 = (p0 != NULL) && (p0->class == &class_standard__Char);
3037 if (var1) {
3038 var2 = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */;
3039 var1 = (var2 == self);
3040 }
3041 var = var1;
3042 goto RET_LABEL;
3043 RET_LABEL:;
3044 return var;
3045 }
3046 /* method kernel#Char#== for (self: Object, nullable Object): Bool */
3047 short int VIRTUAL_standard___standard__Char___Object___61d_61d(val* self, val* p0) {
3048 short int var /* : Bool */;
3049 short int var1 /* : Bool */;
3050 short int var3 /* : Bool */;
3051 { /* Inline kernel#Char#== (self,p0) on <self:Object(Char)> */
3052 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value);
3053 var1 = var3;
3054 goto RET_LABEL2;
3055 RET_LABEL2:(void)0;
3056 }
3057 var = var1;
3058 RET_LABEL:;
3059 return var;
3060 }
3061 /* method kernel#Char#!= for (self: Char, nullable Object): Bool */
3062 short int standard___standard__Char___Object___33d_61d(char self, val* p0) {
3063 short int var /* : Bool */;
3064 short int var1 /* : Bool */;
3065 char var2 /* : Char */;
3066 short int var3 /* : Bool */;
3067 var1 = (p0 != NULL) && (p0->class == &class_standard__Char);
3068 if (var1) {
3069 var2 = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */;
3070 var1 = (var2 == self);
3071 }
3072 var3 = !var1;
3073 var = var3;
3074 goto RET_LABEL;
3075 RET_LABEL:;
3076 return var;
3077 }
3078 /* method kernel#Char#!= for (self: Object, nullable Object): Bool */
3079 short int VIRTUAL_standard___standard__Char___Object___33d_61d(val* self, val* p0) {
3080 short int var /* : Bool */;
3081 short int var1 /* : Bool */;
3082 short int var3 /* : Bool */;
3083 short int var4 /* : Bool */;
3084 { /* Inline kernel#Char#!= (self,p0) on <self:Object(Char)> */
3085 var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value);
3086 var4 = !var3;
3087 var1 = var4;
3088 goto RET_LABEL2;
3089 RET_LABEL2:(void)0;
3090 }
3091 var = var1;
3092 RET_LABEL:;
3093 return var;
3094 }
3095 /* method kernel#Char#<= for (self: Char, Char): Bool */
3096 short int standard___standard__Char___Comparable___60d_61d(char self, char p0) {
3097 short int var /* : Bool */;
3098 short int var1 /* : Bool */;
3099 int cltype;
3100 int idtype;
3101 const char* var_class_name;
3102 short int var2 /* : Bool */;
3103 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
3104 /* <p0:Char> isa OTHER */
3105 var1 = 1; /* easy <p0:Char> isa OTHER*/
3106 if (unlikely(!var1)) {
3107 var_class_name = type_standard__Char.name;
3108 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3109 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
3110 show_backtrace(1);
3111 }
3112 var2 = self <= p0;
3113 var = var2;
3114 goto RET_LABEL;
3115 RET_LABEL:;
3116 return var;
3117 }
3118 /* method kernel#Char#<= for (self: Comparable, Comparable): Bool */
3119 short int VIRTUAL_standard___standard__Char___Comparable___60d_61d(val* self, val* p0) {
3120 short int var /* : Bool */;
3121 short int var1 /* : Bool */;
3122 short int var3 /* : Bool */;
3123 int cltype;
3124 int idtype;
3125 const struct type* type_struct;
3126 const char* var_class_name;
3127 char var4 /* : Char */;
3128 char var5 /* : Char */;
3129 short int var6 /* : Bool */;
3130 { /* Inline kernel#Char#<= (self,p0) on <self:Comparable(Char)> */
3131 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3132 /* <p0:Comparable> isa OTHER */
3133 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
3134 cltype = type_struct->color;
3135 idtype = type_struct->id;
3136 if(cltype >= p0->type->table_size) {
3137 var3 = 0;
3138 } else {
3139 var3 = p0->type->type_table[cltype] == idtype;
3140 }
3141 if (unlikely(!var3)) {
3142 var_class_name = p0 == NULL ? "null" : p0->type->name;
3143 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3144 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
3145 show_backtrace(1);
3146 }
3147 var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */;
3148 var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */;
3149 var6 = var4 <= var5;
3150 var1 = var6;
3151 goto RET_LABEL2;
3152 RET_LABEL2:(void)0;
3153 }
3154 var = var1;
3155 RET_LABEL:;
3156 return var;
3157 }
3158 /* method kernel#Char#< for (self: Char, Char): Bool */
3159 short int standard___standard__Char___Comparable___60d(char self, char p0) {
3160 short int var /* : Bool */;
3161 short int var1 /* : Bool */;
3162 int cltype;
3163 int idtype;
3164 const char* var_class_name;
3165 short int var2 /* : Bool */;
3166 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
3167 /* <p0:Char> isa OTHER */
3168 var1 = 1; /* easy <p0:Char> isa OTHER*/
3169 if (unlikely(!var1)) {
3170 var_class_name = type_standard__Char.name;
3171 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3172 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 592);
3173 show_backtrace(1);
3174 }
3175 var2 = self < p0;
3176 var = var2;
3177 goto RET_LABEL;
3178 RET_LABEL:;
3179 return var;
3180 }
3181 /* method kernel#Char#< for (self: Comparable, Comparable): Bool */
3182 short int VIRTUAL_standard___standard__Char___Comparable___60d(val* self, val* p0) {
3183 short int var /* : Bool */;
3184 short int var1 /* : Bool */;
3185 short int var3 /* : Bool */;
3186 int cltype;
3187 int idtype;
3188 const struct type* type_struct;
3189 const char* var_class_name;
3190 char var4 /* : Char */;
3191 char var5 /* : Char */;
3192 short int var6 /* : Bool */;
3193 { /* Inline kernel#Char#< (self,p0) on <self:Comparable(Char)> */
3194 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3195 /* <p0:Comparable> isa OTHER */
3196 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
3197 cltype = type_struct->color;
3198 idtype = type_struct->id;
3199 if(cltype >= p0->type->table_size) {
3200 var3 = 0;
3201 } else {
3202 var3 = p0->type->type_table[cltype] == idtype;
3203 }
3204 if (unlikely(!var3)) {
3205 var_class_name = p0 == NULL ? "null" : p0->type->name;
3206 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3207 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 592);
3208 show_backtrace(1);
3209 }
3210 var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */;
3211 var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */;
3212 var6 = var4 < var5;
3213 var1 = var6;
3214 goto RET_LABEL2;
3215 RET_LABEL2:(void)0;
3216 }
3217 var = var1;
3218 RET_LABEL:;
3219 return var;
3220 }
3221 /* method kernel#Char#>= for (self: Char, Char): Bool */
3222 short int standard___standard__Char___Comparable___62d_61d(char self, char p0) {
3223 short int var /* : Bool */;
3224 short int var1 /* : Bool */;
3225 int cltype;
3226 int idtype;
3227 const char* var_class_name;
3228 short int var2 /* : Bool */;
3229 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
3230 /* <p0:Char> isa OTHER */
3231 var1 = 1; /* easy <p0:Char> isa OTHER*/
3232 if (unlikely(!var1)) {
3233 var_class_name = type_standard__Char.name;
3234 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3235 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
3236 show_backtrace(1);
3237 }
3238 var2 = self >= p0;
3239 var = var2;
3240 goto RET_LABEL;
3241 RET_LABEL:;
3242 return var;
3243 }
3244 /* method kernel#Char#>= for (self: Comparable, Comparable): Bool */
3245 short int VIRTUAL_standard___standard__Char___Comparable___62d_61d(val* self, val* p0) {
3246 short int var /* : Bool */;
3247 short int var1 /* : Bool */;
3248 short int var3 /* : Bool */;
3249 int cltype;
3250 int idtype;
3251 const struct type* type_struct;
3252 const char* var_class_name;
3253 char var4 /* : Char */;
3254 char var5 /* : Char */;
3255 short int var6 /* : Bool */;
3256 { /* Inline kernel#Char#>= (self,p0) on <self:Comparable(Char)> */
3257 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3258 /* <p0:Comparable> isa OTHER */
3259 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
3260 cltype = type_struct->color;
3261 idtype = type_struct->id;
3262 if(cltype >= p0->type->table_size) {
3263 var3 = 0;
3264 } else {
3265 var3 = p0->type->type_table[cltype] == idtype;
3266 }
3267 if (unlikely(!var3)) {
3268 var_class_name = p0 == NULL ? "null" : p0->type->name;
3269 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3270 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
3271 show_backtrace(1);
3272 }
3273 var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */;
3274 var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */;
3275 var6 = var4 >= var5;
3276 var1 = var6;
3277 goto RET_LABEL2;
3278 RET_LABEL2:(void)0;
3279 }
3280 var = var1;
3281 RET_LABEL:;
3282 return var;
3283 }
3284 /* method kernel#Char#> for (self: Char, Char): Bool */
3285 short int standard___standard__Char___Comparable___62d(char self, char p0) {
3286 short int var /* : Bool */;
3287 short int var1 /* : Bool */;
3288 int cltype;
3289 int idtype;
3290 const char* var_class_name;
3291 short int var2 /* : Bool */;
3292 /* Covariant cast for argument 0 (i) <p0:Char> isa OTHER */
3293 /* <p0:Char> isa OTHER */
3294 var1 = 1; /* easy <p0:Char> isa OTHER*/
3295 if (unlikely(!var1)) {
3296 var_class_name = type_standard__Char.name;
3297 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3298 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 594);
3299 show_backtrace(1);
3300 }
3301 var2 = self > p0;
3302 var = var2;
3303 goto RET_LABEL;
3304 RET_LABEL:;
3305 return var;
3306 }
3307 /* method kernel#Char#> for (self: Comparable, Comparable): Bool */
3308 short int VIRTUAL_standard___standard__Char___Comparable___62d(val* self, val* p0) {
3309 short int var /* : Bool */;
3310 short int var1 /* : Bool */;
3311 short int var3 /* : Bool */;
3312 int cltype;
3313 int idtype;
3314 const struct type* type_struct;
3315 const char* var_class_name;
3316 char var4 /* : Char */;
3317 char var5 /* : Char */;
3318 short int var6 /* : Bool */;
3319 { /* Inline kernel#Char#> (self,p0) on <self:Comparable(Char)> */
3320 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
3321 /* <p0:Comparable> isa OTHER */
3322 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
3323 cltype = type_struct->color;
3324 idtype = type_struct->id;
3325 if(cltype >= p0->type->table_size) {
3326 var3 = 0;
3327 } else {
3328 var3 = p0->type->type_table[cltype] == idtype;
3329 }
3330 if (unlikely(!var3)) {
3331 var_class_name = p0 == NULL ? "null" : p0->type->name;
3332 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3333 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 594);
3334 show_backtrace(1);
3335 }
3336 var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */;
3337 var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */;
3338 var6 = var4 > var5;
3339 var1 = var6;
3340 goto RET_LABEL2;
3341 RET_LABEL2:(void)0;
3342 }
3343 var = var1;
3344 RET_LABEL:;
3345 return var;
3346 }
3347 /* method kernel#Char#successor for (self: Char, Int): Char */
3348 char standard___standard__Char___Discrete__successor(char self, long p0) {
3349 char var /* : Char */;
3350 char var1 /* : Char */;
3351 var1 = self + p0;
3352 var = var1;
3353 goto RET_LABEL;
3354 RET_LABEL:;
3355 return var;
3356 }
3357 /* method kernel#Char#successor for (self: Discrete, Int): Discrete */
3358 val* VIRTUAL_standard___standard__Char___Discrete__successor(val* self, long p0) {
3359 val* var /* : Discrete */;
3360 char var1 /* : Char */;
3361 char var3 /* : Char */;
3362 char var4 /* : Char */;
3363 val* var5 /* : Discrete */;
3364 { /* Inline kernel#Char#successor (self,p0) on <self:Discrete(Char)> */
3365 var3 = ((struct instance_standard__Char*)self)->value; /* autounbox from Discrete to Char */;
3366 var4 = var3 + p0;
3367 var1 = var4;
3368 goto RET_LABEL2;
3369 RET_LABEL2:(void)0;
3370 }
3371 var5 = BOX_standard__Char(var1); /* autobox from Char to Discrete */
3372 var = var5;
3373 RET_LABEL:;
3374 return var;
3375 }
3376 /* method kernel#Char#distance for (self: Char, Char): Int */
3377 long standard___standard__Char___Discrete__distance(char self, char p0) {
3378 long var /* : Int */;
3379 short int var1 /* : Bool */;
3380 int cltype;
3381 int idtype;
3382 const char* var_class_name;
3383 char var_c /* var c: Char */;
3384 long var2 /* : Int */;
3385 long var4 /* : Int */;
3386 long var5 /* : Int */;
3387 long var7 /* : Int */;
3388 long var8 /* : Int */;
3389 short int var10 /* : Bool */;
3390 int cltype11;
3391 int idtype12;
3392 const char* var_class_name13;
3393 long var14 /* : Int */;
3394 long var_d /* var d: Int */;
3395 long var15 /* : Int */;
3396 short int var16 /* : Bool */;
3397 short int var18 /* : Bool */;
3398 int cltype19;
3399 int idtype20;
3400 const char* var_class_name21;
3401 short int var22 /* : Bool */;
3402 long var23 /* : Int */;
3403 long var25 /* : Int */;
3404 /* Covariant cast for argument 0 (c) <p0:Char> isa OTHER */
3405 /* <p0:Char> isa OTHER */
3406 var1 = 1; /* easy <p0:Char> isa OTHER*/
3407 if (unlikely(!var1)) {
3408 var_class_name = type_standard__Char.name;
3409 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3410 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 599);
3411 show_backtrace(1);
3412 }
3413 var_c = p0;
3414 {
3415 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3416 var4 = (unsigned char)self;
3417 var2 = var4;
3418 goto RET_LABEL3;
3419 RET_LABEL3:(void)0;
3420 }
3421 }
3422 {
3423 { /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
3424 var7 = (unsigned char)var_c;
3425 var5 = var7;
3426 goto RET_LABEL6;
3427 RET_LABEL6:(void)0;
3428 }
3429 }
3430 {
3431 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
3432 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3433 /* <var5:Int> isa OTHER */
3434 var10 = 1; /* easy <var5:Int> isa OTHER*/
3435 if (unlikely(!var10)) {
3436 var_class_name13 = type_standard__Int.name;
3437 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3438 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3439 show_backtrace(1);
3440 }
3441 var14 = var2 - var5;
3442 var8 = var14;
3443 goto RET_LABEL9;
3444 RET_LABEL9:(void)0;
3445 }
3446 }
3447 var_d = var8;
3448 var15 = 0;
3449 {
3450 { /* Inline kernel#Int#>= (var_d,var15) on <var_d:Int> */
3451 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
3452 /* <var15:Int> isa OTHER */
3453 var18 = 1; /* easy <var15:Int> isa OTHER*/
3454 if (unlikely(!var18)) {
3455 var_class_name21 = type_standard__Int.name;
3456 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
3457 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
3458 show_backtrace(1);
3459 }
3460 var22 = var_d >= var15;
3461 var16 = var22;
3462 goto RET_LABEL17;
3463 RET_LABEL17:(void)0;
3464 }
3465 }
3466 if (var16){
3467 var = var_d;
3468 goto RET_LABEL;
3469 } else {
3470 {
3471 { /* Inline kernel#Int#unary - (var_d) on <var_d:Int> */
3472 var25 = -var_d;
3473 var23 = var25;
3474 goto RET_LABEL24;
3475 RET_LABEL24:(void)0;
3476 }
3477 }
3478 var = var23;
3479 goto RET_LABEL;
3480 }
3481 RET_LABEL:;
3482 return var;
3483 }
3484 /* method kernel#Char#distance for (self: Discrete, Discrete): Int */
3485 long VIRTUAL_standard___standard__Char___Discrete__distance(val* self, val* p0) {
3486 long var /* : Int */;
3487 long var1 /* : Int */;
3488 char var2 /* : Char */;
3489 char var3 /* : Char */;
3490 var2 = ((struct instance_standard__Char*)self)->value; /* autounbox from Discrete to Char */;
3491 var3 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Discrete to Char */;
3492 var1 = standard___standard__Char___Discrete__distance(var2, var3);
3493 var = var1;
3494 RET_LABEL:;
3495 return var;
3496 }
3497 /* method kernel#Char#to_i for (self: Char): Int */
3498 long standard___standard__Char___to_i(char self) {
3499 long var /* : Int */;
3500 char var1 /* : Char */;
3501 short int var2 /* : Bool */;
3502 short int var4 /* : Bool */;
3503 long var5 /* : Int */;
3504 long var6 /* : Int */;
3505 long var8 /* : Int */;
3506 short int var9 /* : Bool */;
3507 long var10 /* : Int */;
3508 long var12 /* : Int */;
3509 char var13 /* : Char */;
3510 long var14 /* : Int */;
3511 long var16 /* : Int */;
3512 long var17 /* : Int */;
3513 short int var19 /* : Bool */;
3514 int cltype;
3515 int idtype;
3516 const char* var_class_name;
3517 long var20 /* : Int */;
3518 char var21 /* : Char */;
3519 long var22 /* : Int */;
3520 long var24 /* : Int */;
3521 char var25 /* : Char */;
3522 long var26 /* : Int */;
3523 long var28 /* : Int */;
3524 long var29 /* : Int */;
3525 short int var31 /* : Bool */;
3526 int cltype32;
3527 int idtype33;
3528 const char* var_class_name34;
3529 long var35 /* : Int */;
3530 long var36 /* : Int */;
3531 long var37 /* : Int */;
3532 short int var39 /* : Bool */;
3533 int cltype40;
3534 int idtype41;
3535 const char* var_class_name42;
3536 long var43 /* : Int */;
3537 var1 = '-';
3538 {
3539 { /* Inline kernel#Char#== (self,var1) on <self:Char> */
3540 var4 = self == var1;
3541 var2 = var4;
3542 goto RET_LABEL3;
3543 RET_LABEL3:(void)0;
3544 }
3545 }
3546 if (var2){
3547 var5 = 1;
3548 {
3549 { /* Inline kernel#Int#unary - (var5) on <var5:Int> */
3550 var8 = -var5;
3551 var6 = var8;
3552 goto RET_LABEL7;
3553 RET_LABEL7:(void)0;
3554 }
3555 }
3556 var = var6;
3557 goto RET_LABEL;
3558 } else {
3559 {
3560 var9 = standard___standard__Char___is_digit(self);
3561 }
3562 if (var9){
3563 {
3564 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3565 var12 = (unsigned char)self;
3566 var10 = var12;
3567 goto RET_LABEL11;
3568 RET_LABEL11:(void)0;
3569 }
3570 }
3571 var13 = '0';
3572 {
3573 { /* Inline kernel#Char#ascii (var13) on <var13:Char> */
3574 var16 = (unsigned char)var13;
3575 var14 = var16;
3576 goto RET_LABEL15;
3577 RET_LABEL15:(void)0;
3578 }
3579 }
3580 {
3581 { /* Inline kernel#Int#- (var10,var14) on <var10:Int> */
3582 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3583 /* <var14:Int> isa OTHER */
3584 var19 = 1; /* easy <var14:Int> isa OTHER*/
3585 if (unlikely(!var19)) {
3586 var_class_name = type_standard__Int.name;
3587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3588 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3589 show_backtrace(1);
3590 }
3591 var20 = var10 - var14;
3592 var17 = var20;
3593 goto RET_LABEL18;
3594 RET_LABEL18:(void)0;
3595 }
3596 }
3597 var = var17;
3598 goto RET_LABEL;
3599 } else {
3600 {
3601 var21 = standard___standard__Char___to_lower(self);
3602 }
3603 {
3604 { /* Inline kernel#Char#ascii (var21) on <var21:Char> */
3605 var24 = (unsigned char)var21;
3606 var22 = var24;
3607 goto RET_LABEL23;
3608 RET_LABEL23:(void)0;
3609 }
3610 }
3611 var25 = 'a';
3612 {
3613 { /* Inline kernel#Char#ascii (var25) on <var25:Char> */
3614 var28 = (unsigned char)var25;
3615 var26 = var28;
3616 goto RET_LABEL27;
3617 RET_LABEL27:(void)0;
3618 }
3619 }
3620 {
3621 { /* Inline kernel#Int#- (var22,var26) on <var22:Int> */
3622 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
3623 /* <var26:Int> isa OTHER */
3624 var31 = 1; /* easy <var26:Int> isa OTHER*/
3625 if (unlikely(!var31)) {
3626 var_class_name34 = type_standard__Int.name;
3627 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
3628 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3629 show_backtrace(1);
3630 }
3631 var35 = var22 - var26;
3632 var29 = var35;
3633 goto RET_LABEL30;
3634 RET_LABEL30:(void)0;
3635 }
3636 }
3637 var36 = 10;
3638 {
3639 { /* Inline kernel#Int#+ (var29,var36) on <var29:Int> */
3640 /* Covariant cast for argument 0 (i) <var36:Int> isa OTHER */
3641 /* <var36:Int> isa OTHER */
3642 var39 = 1; /* easy <var36:Int> isa OTHER*/
3643 if (unlikely(!var39)) {
3644 var_class_name42 = type_standard__Int.name;
3645 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
3646 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3647 show_backtrace(1);
3648 }
3649 var43 = var29 + var36;
3650 var37 = var43;
3651 goto RET_LABEL38;
3652 RET_LABEL38:(void)0;
3653 }
3654 }
3655 var = var37;
3656 goto RET_LABEL;
3657 }
3658 }
3659 RET_LABEL:;
3660 return var;
3661 }
3662 /* method kernel#Char#ascii for (self: Char): Int */
3663 long standard___standard__Char___ascii(char self) {
3664 long var /* : Int */;
3665 long var1 /* : Int */;
3666 var1 = (unsigned char)self;
3667 var = var1;
3668 goto RET_LABEL;
3669 RET_LABEL:;
3670 return var;
3671 }
3672 /* method kernel#Char#to_lower for (self: Char): Char */
3673 char standard___standard__Char___to_lower(char self) {
3674 char var /* : Char */;
3675 short int var1 /* : Bool */;
3676 long var2 /* : Int */;
3677 long var4 /* : Int */;
3678 char var5 /* : Char */;
3679 char var6 /* : Char */;
3680 long var7 /* : Int */;
3681 long var8 /* : Int */;
3682 short int var10 /* : Bool */;
3683 int cltype;
3684 int idtype;
3685 const char* var_class_name;
3686 long var11 /* : Int */;
3687 char var12 /* : Char */;
3688 char var14 /* : Char */;
3689 {
3690 var1 = standard___standard__Char___is_upper(self);
3691 }
3692 if (var1){
3693 {
3694 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3695 var4 = (unsigned char)self;
3696 var2 = var4;
3697 goto RET_LABEL3;
3698 RET_LABEL3:(void)0;
3699 }
3700 }
3701 var5 = 'a';
3702 var6 = 'A';
3703 {
3704 var7 = standard___standard__Char___Discrete__distance(var5, var6);
3705 }
3706 {
3707 { /* Inline kernel#Int#+ (var2,var7) on <var2:Int> */
3708 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
3709 /* <var7:Int> isa OTHER */
3710 var10 = 1; /* easy <var7:Int> isa OTHER*/
3711 if (unlikely(!var10)) {
3712 var_class_name = type_standard__Int.name;
3713 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3714 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3715 show_backtrace(1);
3716 }
3717 var11 = var2 + var7;
3718 var8 = var11;
3719 goto RET_LABEL9;
3720 RET_LABEL9:(void)0;
3721 }
3722 }
3723 {
3724 { /* Inline kernel#Int#ascii (var8) on <var8:Int> */
3725 var14 = var8;
3726 var12 = var14;
3727 goto RET_LABEL13;
3728 RET_LABEL13:(void)0;
3729 }
3730 }
3731 var = var12;
3732 goto RET_LABEL;
3733 } else {
3734 var = self;
3735 goto RET_LABEL;
3736 }
3737 RET_LABEL:;
3738 return var;
3739 }
3740 /* method kernel#Char#to_upper for (self: Char): Char */
3741 char standard___standard__Char___to_upper(char self) {
3742 char var /* : Char */;
3743 short int var1 /* : Bool */;
3744 long var2 /* : Int */;
3745 long var4 /* : Int */;
3746 char var5 /* : Char */;
3747 char var6 /* : Char */;
3748 long var7 /* : Int */;
3749 long var8 /* : Int */;
3750 short int var10 /* : Bool */;
3751 int cltype;
3752 int idtype;
3753 const char* var_class_name;
3754 long var11 /* : Int */;
3755 char var12 /* : Char */;
3756 char var14 /* : Char */;
3757 {
3758 var1 = standard___standard__Char___is_lower(self);
3759 }
3760 if (var1){
3761 {
3762 { /* Inline kernel#Char#ascii (self) on <self:Char> */
3763 var4 = (unsigned char)self;
3764 var2 = var4;
3765 goto RET_LABEL3;
3766 RET_LABEL3:(void)0;
3767 }
3768 }
3769 var5 = 'a';
3770 var6 = 'A';
3771 {
3772 var7 = standard___standard__Char___Discrete__distance(var5, var6);
3773 }
3774 {
3775 { /* Inline kernel#Int#- (var2,var7) on <var2:Int> */
3776 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
3777 /* <var7:Int> isa OTHER */
3778 var10 = 1; /* easy <var7:Int> isa OTHER*/
3779 if (unlikely(!var10)) {
3780 var_class_name = type_standard__Int.name;
3781 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3782 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3783 show_backtrace(1);
3784 }
3785 var11 = var2 - var7;
3786 var8 = var11;
3787 goto RET_LABEL9;
3788 RET_LABEL9:(void)0;
3789 }
3790 }
3791 {
3792 { /* Inline kernel#Int#ascii (var8) on <var8:Int> */
3793 var14 = var8;
3794 var12 = var14;
3795 goto RET_LABEL13;
3796 RET_LABEL13:(void)0;
3797 }
3798 }
3799 var = var12;
3800 goto RET_LABEL;
3801 } else {
3802 var = self;
3803 goto RET_LABEL;
3804 }
3805 RET_LABEL:;
3806 return var;
3807 }
3808 /* method kernel#Char#is_digit for (self: Char): Bool */
3809 short int standard___standard__Char___is_digit(char self) {
3810 short int var /* : Bool */;
3811 short int var1 /* : Bool */;
3812 char var2 /* : Char */;
3813 short int var3 /* : Bool */;
3814 short int var5 /* : Bool */;
3815 int cltype;
3816 int idtype;
3817 const char* var_class_name;
3818 short int var6 /* : Bool */;
3819 short int var_ /* var : Bool */;
3820 char var7 /* : Char */;
3821 short int var8 /* : Bool */;
3822 short int var10 /* : Bool */;
3823 int cltype11;
3824 int idtype12;
3825 const char* var_class_name13;
3826 short int var14 /* : Bool */;
3827 var2 = '0';
3828 {
3829 { /* Inline kernel#Char#>= (self,var2) on <self:Char> */
3830 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
3831 /* <var2:Char> isa OTHER */
3832 var5 = 1; /* easy <var2:Char> isa OTHER*/
3833 if (unlikely(!var5)) {
3834 var_class_name = type_standard__Char.name;
3835 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3836 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
3837 show_backtrace(1);
3838 }
3839 var6 = self >= var2;
3840 var3 = var6;
3841 goto RET_LABEL4;
3842 RET_LABEL4:(void)0;
3843 }
3844 }
3845 var_ = var3;
3846 if (var3){
3847 var7 = '9';
3848 {
3849 { /* Inline kernel#Char#<= (self,var7) on <self:Char> */
3850 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
3851 /* <var7:Char> isa OTHER */
3852 var10 = 1; /* easy <var7:Char> isa OTHER*/
3853 if (unlikely(!var10)) {
3854 var_class_name13 = type_standard__Char.name;
3855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3856 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
3857 show_backtrace(1);
3858 }
3859 var14 = self <= var7;
3860 var8 = var14;
3861 goto RET_LABEL9;
3862 RET_LABEL9:(void)0;
3863 }
3864 }
3865 var1 = var8;
3866 } else {
3867 var1 = var_;
3868 }
3869 var = var1;
3870 goto RET_LABEL;
3871 RET_LABEL:;
3872 return var;
3873 }
3874 /* method kernel#Char#is_lower for (self: Char): Bool */
3875 short int standard___standard__Char___is_lower(char self) {
3876 short int var /* : Bool */;
3877 short int var1 /* : Bool */;
3878 char var2 /* : Char */;
3879 short int var3 /* : Bool */;
3880 short int var5 /* : Bool */;
3881 int cltype;
3882 int idtype;
3883 const char* var_class_name;
3884 short int var6 /* : Bool */;
3885 short int var_ /* var : Bool */;
3886 char var7 /* : Char */;
3887 short int var8 /* : Bool */;
3888 short int var10 /* : Bool */;
3889 int cltype11;
3890 int idtype12;
3891 const char* var_class_name13;
3892 short int var14 /* : Bool */;
3893 var2 = 'a';
3894 {
3895 { /* Inline kernel#Char#>= (self,var2) on <self:Char> */
3896 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
3897 /* <var2:Char> isa OTHER */
3898 var5 = 1; /* easy <var2:Char> isa OTHER*/
3899 if (unlikely(!var5)) {
3900 var_class_name = type_standard__Char.name;
3901 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3902 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
3903 show_backtrace(1);
3904 }
3905 var6 = self >= var2;
3906 var3 = var6;
3907 goto RET_LABEL4;
3908 RET_LABEL4:(void)0;
3909 }
3910 }
3911 var_ = var3;
3912 if (var3){
3913 var7 = 'z';
3914 {
3915 { /* Inline kernel#Char#<= (self,var7) on <self:Char> */
3916 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
3917 /* <var7:Char> isa OTHER */
3918 var10 = 1; /* easy <var7:Char> isa OTHER*/
3919 if (unlikely(!var10)) {
3920 var_class_name13 = type_standard__Char.name;
3921 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3922 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
3923 show_backtrace(1);
3924 }
3925 var14 = self <= var7;
3926 var8 = var14;
3927 goto RET_LABEL9;
3928 RET_LABEL9:(void)0;
3929 }
3930 }
3931 var1 = var8;
3932 } else {
3933 var1 = var_;
3934 }
3935 var = var1;
3936 goto RET_LABEL;
3937 RET_LABEL:;
3938 return var;
3939 }
3940 /* method kernel#Char#is_upper for (self: Char): Bool */
3941 short int standard___standard__Char___is_upper(char self) {
3942 short int var /* : Bool */;
3943 short int var1 /* : Bool */;
3944 char var2 /* : Char */;
3945 short int var3 /* : Bool */;
3946 short int var5 /* : Bool */;
3947 int cltype;
3948 int idtype;
3949 const char* var_class_name;
3950 short int var6 /* : Bool */;
3951 short int var_ /* var : Bool */;
3952 char var7 /* : Char */;
3953 short int var8 /* : Bool */;
3954 short int var10 /* : Bool */;
3955 int cltype11;
3956 int idtype12;
3957 const char* var_class_name13;
3958 short int var14 /* : Bool */;
3959 var2 = 'A';
3960 {
3961 { /* Inline kernel#Char#>= (self,var2) on <self:Char> */
3962 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
3963 /* <var2:Char> isa OTHER */
3964 var5 = 1; /* easy <var2:Char> isa OTHER*/
3965 if (unlikely(!var5)) {
3966 var_class_name = type_standard__Char.name;
3967 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3968 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
3969 show_backtrace(1);
3970 }
3971 var6 = self >= var2;
3972 var3 = var6;
3973 goto RET_LABEL4;
3974 RET_LABEL4:(void)0;
3975 }
3976 }
3977 var_ = var3;
3978 if (var3){
3979 var7 = 'Z';
3980 {
3981 { /* Inline kernel#Char#<= (self,var7) on <self:Char> */
3982 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
3983 /* <var7:Char> isa OTHER */
3984 var10 = 1; /* easy <var7:Char> isa OTHER*/
3985 if (unlikely(!var10)) {
3986 var_class_name13 = type_standard__Char.name;
3987 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3988 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
3989 show_backtrace(1);
3990 }
3991 var14 = self <= var7;
3992 var8 = var14;
3993 goto RET_LABEL9;
3994 RET_LABEL9:(void)0;
3995 }
3996 }
3997 var1 = var8;
3998 } else {
3999 var1 = var_;
4000 }
4001 var = var1;
4002 goto RET_LABEL;
4003 RET_LABEL:;
4004 return var;
4005 }
4006 /* method kernel#Pointer#address_is_null for (self: Pointer): Bool */
4007 short int standard___standard__Pointer___address_is_null(val* self) {
4008 short int var /* : Bool */;
4009 short int var1 /* : Bool for extern */;
4010 void* var2 /* : Pointer for extern */;
4011 var2 = ((struct instance_standard__Pointer*)self)->value; /* unboxing Pointer */
4012 var1 = address_is_null(var2);
4013 var = var1;
4014 goto RET_LABEL;
4015 RET_LABEL:;
4016 return var;
4017 }