c_src: update to have intern args
[nit.git] / c_src / standard___kernel._sep.c
1 /* This C file is generated by NIT to compile module standard___kernel. */
2 #include "standard___kernel._sep.h"
3 static const char LOCATE_standard___kernel___Object___object_id[] = "kernel::Object::object_id";
4 val_t standard___kernel___Object___object_id(val_t p0){
5 struct {struct stack_frame_t me;} fra;
6 val_t REGB0;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_standard___kernel;
10 fra.me.line = 29;
11 fra.me.meth = LOCATE_standard___kernel___Object___object_id;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.nitni_local_ref_head = NULL;
15 fra.me.REG[0] = NIT_NULL;
16 fra.me.REG[0] = p0;
17 /* ../lib/standard/kernel.nit:29 */
18 REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id);
19 stack_frame_head = fra.me.prev;
20 return REGB0;
21 }
22 static const char LOCATE_standard___kernel___Object___is_same_type[] = "kernel::Object::is_same_type";
23 val_t standard___kernel___Object___is_same_type(val_t p0, val_t p1){
24 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25 val_t REGB0;
26 val_t tmp;
27 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28 fra.me.file = LOCATE_standard___kernel;
29 fra.me.line = 34;
30 fra.me.meth = LOCATE_standard___kernel___Object___is_same_type;
31 fra.me.has_broke = 0;
32 fra.me.REG_size = 2;
33 fra.me.nitni_local_ref_head = NULL;
34 fra.me.REG[0] = NIT_NULL;
35 fra.me.REG[1] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 fra.me.REG[1] = p1;
38 /* ../lib/standard/kernel.nit:34 */
39 REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1])));
40 stack_frame_head = fra.me.prev;
41 return REGB0;
42 }
43 static const char LOCATE_standard___kernel___Object_____eqeq[] = "kernel::Object::==";
44 val_t standard___kernel___Object_____eqeq(val_t p0, val_t p1){
45 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46 val_t REGB0;
47 val_t tmp;
48 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49 fra.me.file = LOCATE_standard___kernel;
50 fra.me.line = 38;
51 fra.me.meth = LOCATE_standard___kernel___Object_____eqeq;
52 fra.me.has_broke = 0;
53 fra.me.REG_size = 2;
54 fra.me.nitni_local_ref_head = NULL;
55 fra.me.REG[0] = NIT_NULL;
56 fra.me.REG[1] = NIT_NULL;
57 fra.me.REG[0] = p0;
58 fra.me.REG[1] = p1;
59 /* ../lib/standard/kernel.nit:42 */
60 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
61 goto label1;
62 label1: while(0);
63 stack_frame_head = fra.me.prev;
64 return REGB0;
65 }
66 static const char LOCATE_standard___kernel___Object_____neq[] = "kernel::Object::!=";
67 val_t standard___kernel___Object_____neq(val_t p0, val_t p1){
68 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
69 val_t REGB0;
70 val_t REGB1;
71 val_t tmp;
72 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73 fra.me.file = LOCATE_standard___kernel;
74 fra.me.line = 44;
75 fra.me.meth = LOCATE_standard___kernel___Object_____neq;
76 fra.me.has_broke = 0;
77 fra.me.REG_size = 2;
78 fra.me.nitni_local_ref_head = NULL;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[1] = NIT_NULL;
81 fra.me.REG[0] = p0;
82 fra.me.REG[1] = p1;
83 /* ../lib/standard/kernel.nit:47 */
84 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
85 if (UNTAG_Bool(REGB0)) {
86 } else {
87 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
88 REGB0 = REGB1;
89 }
90 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
91 goto label1;
92 label1: while(0);
93 stack_frame_head = fra.me.prev;
94 return REGB0;
95 }
96 static const char LOCATE_standard___kernel___Object___output[] = "kernel::Object::output";
97 void standard___kernel___Object___output(val_t p0){
98 struct {struct stack_frame_t me;} fra;
99 val_t REGB0;
100 val_t tmp;
101 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102 fra.me.file = LOCATE_standard___kernel;
103 fra.me.line = 49;
104 fra.me.meth = LOCATE_standard___kernel___Object___output;
105 fra.me.has_broke = 0;
106 fra.me.REG_size = 1;
107 fra.me.nitni_local_ref_head = NULL;
108 fra.me.REG[0] = NIT_NULL;
109 fra.me.REG[0] = p0;
110 /* ../lib/standard/kernel.nit:54 */
111 REGB0 = TAG_Char('<');
112 /* ../lib/standard/kernel.nit:383 */
113 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
114 /* ../lib/standard/kernel.nit:55 */
115 REGB0 = CALL_standard___kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
116 /* ../lib/standard/kernel.nit:232 */
117 printf("%ld\n", UNTAG_Int(REGB0));;
118 /* ../lib/standard/kernel.nit:56 */
119 REGB0 = TAG_Char('>');
120 /* ../lib/standard/kernel.nit:383 */
121 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
122 stack_frame_head = fra.me.prev;
123 return;
124 }
125 static const char LOCATE_standard___kernel___Object___output_class_name[] = "kernel::Object::output_class_name";
126 void standard___kernel___Object___output_class_name(val_t p0){
127 struct {struct stack_frame_t me;} fra;
128 val_t tmp;
129 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
130 fra.me.file = LOCATE_standard___kernel;
131 fra.me.line = 59;
132 fra.me.meth = LOCATE_standard___kernel___Object___output_class_name;
133 fra.me.has_broke = 0;
134 fra.me.REG_size = 1;
135 fra.me.nitni_local_ref_head = NULL;
136 fra.me.REG[0] = NIT_NULL;
137 fra.me.REG[0] = p0;
138 /* ../lib/standard/kernel.nit:59 */
139 printf("%s\n", VAL2VFT(fra.me.REG[0])[2].cname);;
140 stack_frame_head = fra.me.prev;
141 return;
142 }
143 static const char LOCATE_standard___kernel___Object___exit[] = "kernel::Object::exit";
144 void standard___kernel___Object___exit(val_t p0, val_t p1){
145 struct {struct stack_frame_t me;} fra;
146 val_t REGB0;
147 val_t tmp;
148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
149 fra.me.file = LOCATE_standard___kernel;
150 fra.me.line = 64;
151 fra.me.meth = LOCATE_standard___kernel___Object___exit;
152 fra.me.has_broke = 0;
153 fra.me.REG_size = 1;
154 fra.me.nitni_local_ref_head = NULL;
155 fra.me.REG[0] = NIT_NULL;
156 fra.me.REG[0] = p0;
157 REGB0 = p1;
158 /* ../lib/standard/kernel.nit:64 */
159 exit(UNTAG_Int(REGB0));;
160 stack_frame_head = fra.me.prev;
161 return;
162 }
163 static const char LOCATE_standard___kernel___Object___sys[] = "kernel::Object::sys";
164 val_t standard___kernel___Object___sys(val_t p0){
165 struct {struct stack_frame_t me;} fra;
166 val_t tmp;
167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
168 fra.me.file = LOCATE_standard___kernel;
169 fra.me.line = 67;
170 fra.me.meth = LOCATE_standard___kernel___Object___sys;
171 fra.me.has_broke = 0;
172 fra.me.REG_size = 1;
173 fra.me.nitni_local_ref_head = NULL;
174 fra.me.REG[0] = NIT_NULL;
175 fra.me.REG[0] = p0;
176 /* ../lib/standard/kernel.nit:67 */
177 fra.me.REG[0] = (G_sys);
178 stack_frame_head = fra.me.prev;
179 return fra.me.REG[0];
180 }
181 static const char LOCATE_standard___kernel___Sys___main[] = "kernel::Sys::main";
182 void standard___kernel___Sys___main(val_t p0){
183 struct {struct stack_frame_t me;} fra;
184 val_t tmp;
185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
186 fra.me.file = LOCATE_standard___kernel;
187 fra.me.line = 75;
188 fra.me.meth = LOCATE_standard___kernel___Sys___main;
189 fra.me.has_broke = 0;
190 fra.me.REG_size = 1;
191 fra.me.nitni_local_ref_head = NULL;
192 fra.me.REG[0] = NIT_NULL;
193 fra.me.REG[0] = p0;
194 stack_frame_head = fra.me.prev;
195 return;
196 }
197 static const char LOCATE_standard___kernel___Sys___init[] = "kernel::Sys::init";
198 void standard___kernel___Sys___init(val_t p0, int* init_table){
199 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___kernel___Sys].i;
200 struct {struct stack_frame_t me;} fra;
201 val_t tmp;
202 if (init_table[itpos0]) return;
203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
204 fra.me.file = LOCATE_standard___kernel;
205 fra.me.line = 0;
206 fra.me.meth = LOCATE_standard___kernel___Sys___init;
207 fra.me.has_broke = 0;
208 fra.me.REG_size = 0;
209 fra.me.nitni_local_ref_head = NULL;
210 stack_frame_head = fra.me.prev;
211 init_table[itpos0] = 1;
212 return;
213 }
214 static const char LOCATE_standard___kernel___Comparable_____l[] = "kernel::Comparable::<";
215 val_t standard___kernel___Comparable_____l(val_t p0, val_t p1){
216 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
217 val_t REGB0;
218 val_t tmp;
219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
220 fra.me.file = LOCATE_standard___kernel;
221 fra.me.line = 89;
222 fra.me.meth = LOCATE_standard___kernel___Comparable_____l;
223 fra.me.has_broke = 0;
224 fra.me.REG_size = 2;
225 fra.me.nitni_local_ref_head = NULL;
226 fra.me.REG[0] = NIT_NULL;
227 fra.me.REG[1] = NIT_NULL;
228 fra.me.REG[0] = p0;
229 fra.me.REG[1] = p1;
230 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
231 if (UNTAG_Bool(REGB0)) {
232 } else {
233 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
234 }
235 /* ../lib/standard/kernel.nit:89 */
236 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 89);
237 stack_frame_head = fra.me.prev;
238 return NIT_NULL;
239 }
240 static const char LOCATE_standard___kernel___Comparable_____leq[] = "kernel::Comparable::<=";
241 val_t standard___kernel___Comparable_____leq(val_t p0, val_t p1){
242 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
243 val_t REGB0;
244 val_t tmp;
245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
246 fra.me.file = LOCATE_standard___kernel;
247 fra.me.line = 92;
248 fra.me.meth = LOCATE_standard___kernel___Comparable_____leq;
249 fra.me.has_broke = 0;
250 fra.me.REG_size = 2;
251 fra.me.nitni_local_ref_head = NULL;
252 fra.me.REG[0] = NIT_NULL;
253 fra.me.REG[1] = NIT_NULL;
254 fra.me.REG[0] = p0;
255 fra.me.REG[1] = p1;
256 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
257 if (UNTAG_Bool(REGB0)) {
258 } else {
259 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
260 }
261 /* ../lib/standard/kernel.nit:94 */
262 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
263 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
264 goto label1;
265 label1: while(0);
266 stack_frame_head = fra.me.prev;
267 return REGB0;
268 }
269 static const char LOCATE_standard___kernel___Comparable_____geq[] = "kernel::Comparable::>=";
270 val_t standard___kernel___Comparable_____geq(val_t p0, val_t p1){
271 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
272 val_t REGB0;
273 val_t tmp;
274 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
275 fra.me.file = LOCATE_standard___kernel;
276 fra.me.line = 96;
277 fra.me.meth = LOCATE_standard___kernel___Comparable_____geq;
278 fra.me.has_broke = 0;
279 fra.me.REG_size = 2;
280 fra.me.nitni_local_ref_head = NULL;
281 fra.me.REG[0] = NIT_NULL;
282 fra.me.REG[1] = NIT_NULL;
283 fra.me.REG[0] = p0;
284 fra.me.REG[1] = p1;
285 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
286 if (UNTAG_Bool(REGB0)) {
287 } else {
288 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
289 }
290 /* ../lib/standard/kernel.nit:98 */
291 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
292 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
293 goto label1;
294 label1: while(0);
295 stack_frame_head = fra.me.prev;
296 return REGB0;
297 }
298 static const char LOCATE_standard___kernel___Comparable_____g[] = "kernel::Comparable::>";
299 val_t standard___kernel___Comparable_____g(val_t p0, val_t p1){
300 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
301 val_t REGB0;
302 val_t tmp;
303 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
304 fra.me.file = LOCATE_standard___kernel;
305 fra.me.line = 100;
306 fra.me.meth = LOCATE_standard___kernel___Comparable_____g;
307 fra.me.has_broke = 0;
308 fra.me.REG_size = 2;
309 fra.me.nitni_local_ref_head = NULL;
310 fra.me.REG[0] = NIT_NULL;
311 fra.me.REG[1] = NIT_NULL;
312 fra.me.REG[0] = p0;
313 fra.me.REG[1] = p1;
314 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
315 if (UNTAG_Bool(REGB0)) {
316 } else {
317 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
318 }
319 /* ../lib/standard/kernel.nit:101 */
320 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
321 goto label1;
322 label1: while(0);
323 stack_frame_head = fra.me.prev;
324 return REGB0;
325 }
326 static const char LOCATE_standard___kernel___Comparable_____leqg[] = "kernel::Comparable::<=>";
327 val_t standard___kernel___Comparable_____leqg(val_t p0, val_t p1){
328 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
329 val_t REGB0;
330 val_t REGB1;
331 val_t tmp;
332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
333 fra.me.file = LOCATE_standard___kernel;
334 fra.me.line = 103;
335 fra.me.meth = LOCATE_standard___kernel___Comparable_____leqg;
336 fra.me.has_broke = 0;
337 fra.me.REG_size = 2;
338 fra.me.nitni_local_ref_head = NULL;
339 fra.me.REG[0] = NIT_NULL;
340 fra.me.REG[1] = NIT_NULL;
341 fra.me.REG[0] = p0;
342 fra.me.REG[1] = p1;
343 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
344 if (UNTAG_Bool(REGB0)) {
345 } else {
346 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
347 }
348 /* ../lib/standard/kernel.nit:107 */
349 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
350 if (UNTAG_Bool(REGB0)) {
351 /* ../lib/standard/kernel.nit:108 */
352 REGB0 = TAG_Int(1);
353 /* ../lib/standard/kernel.nit:239 */
354 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
355 /* ../lib/standard/kernel.nit:108 */
356 goto label1;
357 } else {
358 /* ../lib/standard/kernel.nit:109 */
359 REGB1 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
360 if (UNTAG_Bool(REGB1)) {
361 /* ../lib/standard/kernel.nit:110 */
362 REGB1 = TAG_Int(1);
363 REGB0 = REGB1;
364 goto label1;
365 } else {
366 /* ../lib/standard/kernel.nit:112 */
367 REGB1 = TAG_Int(0);
368 REGB0 = REGB1;
369 goto label1;
370 }
371 }
372 label1: while(0);
373 stack_frame_head = fra.me.prev;
374 return REGB0;
375 }
376 static const char LOCATE_standard___kernel___Comparable___is_between[] = "kernel::Comparable::is_between";
377 val_t standard___kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){
378 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
379 val_t REGB0;
380 val_t REGB1;
381 val_t tmp;
382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
383 fra.me.file = LOCATE_standard___kernel;
384 fra.me.line = 116;
385 fra.me.meth = LOCATE_standard___kernel___Comparable___is_between;
386 fra.me.has_broke = 0;
387 fra.me.REG_size = 3;
388 fra.me.nitni_local_ref_head = NULL;
389 fra.me.REG[0] = NIT_NULL;
390 fra.me.REG[1] = NIT_NULL;
391 fra.me.REG[2] = NIT_NULL;
392 fra.me.REG[0] = p0;
393 fra.me.REG[1] = p1;
394 fra.me.REG[2] = p2;
395 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
396 if (UNTAG_Bool(REGB0)) {
397 } else {
398 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
399 }
400 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
401 if (UNTAG_Bool(REGB0)) {
402 } else {
403 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
404 }
405 /* ../lib/standard/kernel.nit:119 */
406 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
407 if (UNTAG_Bool(REGB0)) {
408 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
409 } else {
410 REGB1 = TAG_Bool(0);
411 REGB0 = REGB1;
412 }
413 goto label1;
414 label1: while(0);
415 stack_frame_head = fra.me.prev;
416 return REGB0;
417 }
418 static const char LOCATE_standard___kernel___Comparable___max[] = "kernel::Comparable::max";
419 val_t standard___kernel___Comparable___max(val_t p0, val_t p1){
420 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
421 val_t REGB0;
422 val_t tmp;
423 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
424 fra.me.file = LOCATE_standard___kernel;
425 fra.me.line = 122;
426 fra.me.meth = LOCATE_standard___kernel___Comparable___max;
427 fra.me.has_broke = 0;
428 fra.me.REG_size = 2;
429 fra.me.nitni_local_ref_head = NULL;
430 fra.me.REG[0] = NIT_NULL;
431 fra.me.REG[1] = NIT_NULL;
432 fra.me.REG[0] = p0;
433 fra.me.REG[1] = p1;
434 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
435 if (UNTAG_Bool(REGB0)) {
436 } else {
437 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
438 }
439 /* ../lib/standard/kernel.nit:125 */
440 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
441 if (UNTAG_Bool(REGB0)) {
442 /* ../lib/standard/kernel.nit:126 */
443 goto label1;
444 } else {
445 /* ../lib/standard/kernel.nit:128 */
446 fra.me.REG[1] = fra.me.REG[0];
447 goto label1;
448 }
449 label1: while(0);
450 stack_frame_head = fra.me.prev;
451 return fra.me.REG[1];
452 }
453 static const char LOCATE_standard___kernel___Comparable___min[] = "kernel::Comparable::min";
454 val_t standard___kernel___Comparable___min(val_t p0, val_t p1){
455 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
456 val_t REGB0;
457 val_t tmp;
458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
459 fra.me.file = LOCATE_standard___kernel;
460 fra.me.line = 132;
461 fra.me.meth = LOCATE_standard___kernel___Comparable___min;
462 fra.me.has_broke = 0;
463 fra.me.REG_size = 2;
464 fra.me.nitni_local_ref_head = NULL;
465 fra.me.REG[0] = NIT_NULL;
466 fra.me.REG[1] = NIT_NULL;
467 fra.me.REG[0] = p0;
468 fra.me.REG[1] = p1;
469 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
470 if (UNTAG_Bool(REGB0)) {
471 } else {
472 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
473 }
474 /* ../lib/standard/kernel.nit:135 */
475 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
476 if (UNTAG_Bool(REGB0)) {
477 /* ../lib/standard/kernel.nit:136 */
478 goto label1;
479 } else {
480 /* ../lib/standard/kernel.nit:138 */
481 fra.me.REG[1] = fra.me.REG[0];
482 goto label1;
483 }
484 label1: while(0);
485 stack_frame_head = fra.me.prev;
486 return fra.me.REG[1];
487 }
488 static const char LOCATE_standard___kernel___Discrete___succ[] = "kernel::Discrete::succ";
489 val_t standard___kernel___Discrete___succ(val_t p0){
490 struct {struct stack_frame_t me;} fra;
491 val_t REGB0;
492 val_t tmp;
493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
494 fra.me.file = LOCATE_standard___kernel;
495 fra.me.line = 149;
496 fra.me.meth = LOCATE_standard___kernel___Discrete___succ;
497 fra.me.has_broke = 0;
498 fra.me.REG_size = 1;
499 fra.me.nitni_local_ref_head = NULL;
500 fra.me.REG[0] = NIT_NULL;
501 fra.me.REG[0] = p0;
502 /* ../lib/standard/kernel.nit:150 */
503 REGB0 = TAG_Int(1);
504 fra.me.REG[0] = CALL_standard___kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0);
505 goto label1;
506 label1: while(0);
507 stack_frame_head = fra.me.prev;
508 return fra.me.REG[0];
509 }
510 static const char LOCATE_standard___kernel___Discrete___prec[] = "kernel::Discrete::prec";
511 val_t standard___kernel___Discrete___prec(val_t p0){
512 struct {struct stack_frame_t me;} fra;
513 val_t REGB0;
514 val_t tmp;
515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
516 fra.me.file = LOCATE_standard___kernel;
517 fra.me.line = 152;
518 fra.me.meth = LOCATE_standard___kernel___Discrete___prec;
519 fra.me.has_broke = 0;
520 fra.me.REG_size = 1;
521 fra.me.nitni_local_ref_head = NULL;
522 fra.me.REG[0] = NIT_NULL;
523 fra.me.REG[0] = p0;
524 /* ../lib/standard/kernel.nit:153 */
525 REGB0 = TAG_Int(1);
526 fra.me.REG[0] = CALL_standard___kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0);
527 goto label1;
528 label1: while(0);
529 stack_frame_head = fra.me.prev;
530 return fra.me.REG[0];
531 }
532 static const char LOCATE_standard___kernel___Discrete_____plus[] = "kernel::Discrete::+";
533 val_t standard___kernel___Discrete_____plus(val_t p0, val_t p1){
534 struct {struct stack_frame_t me;} fra;
535 val_t tmp;
536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
537 fra.me.file = LOCATE_standard___kernel;
538 fra.me.line = 155;
539 fra.me.meth = LOCATE_standard___kernel___Discrete_____plus;
540 fra.me.has_broke = 0;
541 fra.me.REG_size = 0;
542 fra.me.nitni_local_ref_head = NULL;
543 /* ../lib/standard/kernel.nit:155 */
544 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 155);
545 stack_frame_head = fra.me.prev;
546 return NIT_NULL;
547 }
548 static const char LOCATE_standard___kernel___Discrete_____minus[] = "kernel::Discrete::-";
549 val_t standard___kernel___Discrete_____minus(val_t p0, val_t p1){
550 struct {struct stack_frame_t me;} fra;
551 val_t tmp;
552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
553 fra.me.file = LOCATE_standard___kernel;
554 fra.me.line = 158;
555 fra.me.meth = LOCATE_standard___kernel___Discrete_____minus;
556 fra.me.has_broke = 0;
557 fra.me.REG_size = 0;
558 fra.me.nitni_local_ref_head = NULL;
559 /* ../lib/standard/kernel.nit:158 */
560 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 158);
561 stack_frame_head = fra.me.prev;
562 return NIT_NULL;
563 }
564 static const char LOCATE_standard___kernel___Discrete___distance[] = "kernel::Discrete::distance";
565 val_t standard___kernel___Discrete___distance(val_t p0, val_t p1){
566 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
567 val_t REGB0;
568 val_t REGB1;
569 val_t REGB2;
570 val_t tmp;
571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
572 fra.me.file = LOCATE_standard___kernel;
573 fra.me.line = 161;
574 fra.me.meth = LOCATE_standard___kernel___Discrete___distance;
575 fra.me.has_broke = 0;
576 fra.me.REG_size = 4;
577 fra.me.nitni_local_ref_head = NULL;
578 fra.me.REG[0] = NIT_NULL;
579 fra.me.REG[1] = NIT_NULL;
580 fra.me.REG[2] = NIT_NULL;
581 fra.me.REG[3] = NIT_NULL;
582 fra.me.REG[0] = p0;
583 fra.me.REG[1] = p1;
584 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra.me.REG[0]), VTID_standard___kernel___Comparable___OTHER(fra.me.REG[0]))) /*cast OTHER*/;
585 if (UNTAG_Bool(REGB0)) {
586 } else {
587 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
588 }
589 /* ../lib/standard/kernel.nit:168 */
590 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
591 if (UNTAG_Bool(REGB0)) {
592 /* ../lib/standard/kernel.nit:169 */
593 fra.me.REG[2] = fra.me.REG[0];
594 /* ../lib/standard/kernel.nit:170 */
595 fra.me.REG[3] = fra.me.REG[1];
596 } else {
597 /* ../lib/standard/kernel.nit:171 */
598 REGB0 = CALL_standard___kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
599 if (UNTAG_Bool(REGB0)) {
600 /* ../lib/standard/kernel.nit:172 */
601 fra.me.REG[2] = fra.me.REG[1];
602 /* ../lib/standard/kernel.nit:173 */
603 fra.me.REG[3] = fra.me.REG[0];
604 } else {
605 /* ../lib/standard/kernel.nit:175 */
606 REGB0 = TAG_Int(0);
607 goto label1;
608 }
609 }
610 /* ../lib/standard/kernel.nit:178 */
611 REGB1 = TAG_Int(0);
612 /* ../lib/standard/kernel.nit:179 */
613 while(1) {
614 REGB2 = CALL_standard___kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
615 if (UNTAG_Bool(REGB2)) {
616 /* ../lib/standard/kernel.nit:180 */
617 fra.me.REG[0] = CALL_standard___kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
618 fra.me.REG[2] = fra.me.REG[0];
619 /* ../lib/standard/kernel.nit:181 */
620 REGB2 = TAG_Int(1);
621 /* ../lib/standard/kernel.nit:238 */
622 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
623 /* ../lib/standard/kernel.nit:181 */
624 REGB1 = REGB2;
625 } else {
626 /* ../lib/standard/kernel.nit:179 */
627 goto label2;
628 }
629 }
630 label2: while(0);
631 /* ../lib/standard/kernel.nit:183 */
632 REGB0 = REGB1;
633 goto label1;
634 label1: while(0);
635 stack_frame_head = fra.me.prev;
636 return REGB0;
637 }
638 static const char LOCATE_standard___kernel___Bool___object_id[] = "kernel::Bool::(kernel::Object::object_id)";
639 val_t standard___kernel___Bool___object_id(val_t p0){
640 struct {struct stack_frame_t me;} fra;
641 val_t REGB0;
642 val_t tmp;
643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
644 fra.me.file = LOCATE_standard___kernel;
645 fra.me.line = 197;
646 fra.me.meth = LOCATE_standard___kernel___Bool___object_id;
647 fra.me.has_broke = 0;
648 fra.me.REG_size = 0;
649 fra.me.nitni_local_ref_head = NULL;
650 REGB0 = p0;
651 /* ../lib/standard/kernel.nit:197 */
652 REGB0 = TAG_Int(UNTAG_Bool(REGB0));
653 stack_frame_head = fra.me.prev;
654 return REGB0;
655 }
656 static const char LOCATE_standard___kernel___Bool_____eqeq[] = "kernel::Bool::(kernel::Object::==)";
657 val_t standard___kernel___Bool_____eqeq(val_t p0, val_t p1){
658 struct {struct stack_frame_t me;} fra;
659 val_t REGB0;
660 val_t tmp;
661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
662 fra.me.file = LOCATE_standard___kernel;
663 fra.me.line = 198;
664 fra.me.meth = LOCATE_standard___kernel___Bool_____eqeq;
665 fra.me.has_broke = 0;
666 fra.me.REG_size = 1;
667 fra.me.nitni_local_ref_head = NULL;
668 fra.me.REG[0] = NIT_NULL;
669 REGB0 = p0;
670 fra.me.REG[0] = p1;
671 /* ../lib/standard/kernel.nit:198 */
672 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
673 stack_frame_head = fra.me.prev;
674 return REGB0;
675 }
676 static const char LOCATE_standard___kernel___Bool_____neq[] = "kernel::Bool::(kernel::Object::!=)";
677 val_t standard___kernel___Bool_____neq(val_t p0, val_t p1){
678 struct {struct stack_frame_t me;} fra;
679 val_t REGB0;
680 val_t tmp;
681 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
682 fra.me.file = LOCATE_standard___kernel;
683 fra.me.line = 199;
684 fra.me.meth = LOCATE_standard___kernel___Bool_____neq;
685 fra.me.has_broke = 0;
686 fra.me.REG_size = 1;
687 fra.me.nitni_local_ref_head = NULL;
688 fra.me.REG[0] = NIT_NULL;
689 REGB0 = p0;
690 fra.me.REG[0] = p1;
691 /* ../lib/standard/kernel.nit:199 */
692 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
693 stack_frame_head = fra.me.prev;
694 return REGB0;
695 }
696 static const char LOCATE_standard___kernel___Bool___output[] = "kernel::Bool::(kernel::Object::output)";
697 void standard___kernel___Bool___output(val_t p0){
698 struct {struct stack_frame_t me;} fra;
699 val_t REGB0;
700 val_t tmp;
701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
702 fra.me.file = LOCATE_standard___kernel;
703 fra.me.line = 200;
704 fra.me.meth = LOCATE_standard___kernel___Bool___output;
705 fra.me.has_broke = 0;
706 fra.me.REG_size = 0;
707 fra.me.nitni_local_ref_head = NULL;
708 REGB0 = p0;
709 /* ../lib/standard/kernel.nit:200 */
710 (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");;
711 stack_frame_head = fra.me.prev;
712 return;
713 }
714 static const char LOCATE_standard___kernel___Float___object_id[] = "kernel::Float::(kernel::Object::object_id)";
715 val_t standard___kernel___Float___object_id(val_t p0){
716 struct {struct stack_frame_t me;} fra;
717 val_t REGB0;
718 val_t tmp;
719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
720 fra.me.file = LOCATE_standard___kernel;
721 fra.me.line = 206;
722 fra.me.meth = LOCATE_standard___kernel___Float___object_id;
723 fra.me.has_broke = 0;
724 fra.me.REG_size = 1;
725 fra.me.nitni_local_ref_head = NULL;
726 fra.me.REG[0] = NIT_NULL;
727 fra.me.REG[0] = p0;
728 /* ../lib/standard/kernel.nit:206 */
729 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
730 stack_frame_head = fra.me.prev;
731 return REGB0;
732 }
733 static const char LOCATE_standard___kernel___Float___output[] = "kernel::Float::(kernel::Object::output)";
734 void standard___kernel___Float___output(val_t p0){
735 struct {struct stack_frame_t me;} fra;
736 val_t tmp;
737 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
738 fra.me.file = LOCATE_standard___kernel;
739 fra.me.line = 207;
740 fra.me.meth = LOCATE_standard___kernel___Float___output;
741 fra.me.has_broke = 0;
742 fra.me.REG_size = 1;
743 fra.me.nitni_local_ref_head = NULL;
744 fra.me.REG[0] = NIT_NULL;
745 fra.me.REG[0] = p0;
746 /* ../lib/standard/kernel.nit:207 */
747 printf("%f\n", UNBOX_Float(fra.me.REG[0]));;
748 stack_frame_head = fra.me.prev;
749 return;
750 }
751 static const char LOCATE_standard___kernel___Float_____leq[] = "kernel::Float::<=";
752 val_t standard___kernel___Float_____leq(val_t p0, val_t p1){
753 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
754 val_t REGB0;
755 val_t tmp;
756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
757 fra.me.file = LOCATE_standard___kernel;
758 fra.me.line = 209;
759 fra.me.meth = LOCATE_standard___kernel___Float_____leq;
760 fra.me.has_broke = 0;
761 fra.me.REG_size = 2;
762 fra.me.nitni_local_ref_head = NULL;
763 fra.me.REG[0] = NIT_NULL;
764 fra.me.REG[1] = NIT_NULL;
765 fra.me.REG[0] = p0;
766 fra.me.REG[1] = p1;
767 /* ../lib/standard/kernel.nit:209 */
768 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1]));
769 stack_frame_head = fra.me.prev;
770 return REGB0;
771 }
772 static const char LOCATE_standard___kernel___Float_____l[] = "kernel::Float::<";
773 val_t standard___kernel___Float_____l(val_t p0, val_t p1){
774 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
775 val_t REGB0;
776 val_t tmp;
777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
778 fra.me.file = LOCATE_standard___kernel;
779 fra.me.line = 210;
780 fra.me.meth = LOCATE_standard___kernel___Float_____l;
781 fra.me.has_broke = 0;
782 fra.me.REG_size = 2;
783 fra.me.nitni_local_ref_head = NULL;
784 fra.me.REG[0] = NIT_NULL;
785 fra.me.REG[1] = NIT_NULL;
786 fra.me.REG[0] = p0;
787 fra.me.REG[1] = p1;
788 /* ../lib/standard/kernel.nit:210 */
789 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<UNBOX_Float(fra.me.REG[1]));
790 stack_frame_head = fra.me.prev;
791 return REGB0;
792 }
793 static const char LOCATE_standard___kernel___Float_____geq[] = "kernel::Float::>=";
794 val_t standard___kernel___Float_____geq(val_t p0, val_t p1){
795 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
796 val_t REGB0;
797 val_t tmp;
798 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
799 fra.me.file = LOCATE_standard___kernel;
800 fra.me.line = 211;
801 fra.me.meth = LOCATE_standard___kernel___Float_____geq;
802 fra.me.has_broke = 0;
803 fra.me.REG_size = 2;
804 fra.me.nitni_local_ref_head = NULL;
805 fra.me.REG[0] = NIT_NULL;
806 fra.me.REG[1] = NIT_NULL;
807 fra.me.REG[0] = p0;
808 fra.me.REG[1] = p1;
809 /* ../lib/standard/kernel.nit:211 */
810 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>=UNBOX_Float(fra.me.REG[1]));
811 stack_frame_head = fra.me.prev;
812 return REGB0;
813 }
814 static const char LOCATE_standard___kernel___Float_____g[] = "kernel::Float::>";
815 val_t standard___kernel___Float_____g(val_t p0, val_t p1){
816 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
817 val_t REGB0;
818 val_t tmp;
819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
820 fra.me.file = LOCATE_standard___kernel;
821 fra.me.line = 212;
822 fra.me.meth = LOCATE_standard___kernel___Float_____g;
823 fra.me.has_broke = 0;
824 fra.me.REG_size = 2;
825 fra.me.nitni_local_ref_head = NULL;
826 fra.me.REG[0] = NIT_NULL;
827 fra.me.REG[1] = NIT_NULL;
828 fra.me.REG[0] = p0;
829 fra.me.REG[1] = p1;
830 /* ../lib/standard/kernel.nit:212 */
831 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1]));
832 stack_frame_head = fra.me.prev;
833 return REGB0;
834 }
835 static const char LOCATE_standard___kernel___Float_____plus[] = "kernel::Float::+";
836 val_t standard___kernel___Float_____plus(val_t p0, val_t p1){
837 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
838 val_t tmp;
839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
840 fra.me.file = LOCATE_standard___kernel;
841 fra.me.line = 213;
842 fra.me.meth = LOCATE_standard___kernel___Float_____plus;
843 fra.me.has_broke = 0;
844 fra.me.REG_size = 2;
845 fra.me.nitni_local_ref_head = NULL;
846 fra.me.REG[0] = NIT_NULL;
847 fra.me.REG[1] = NIT_NULL;
848 fra.me.REG[0] = p0;
849 fra.me.REG[1] = p1;
850 /* ../lib/standard/kernel.nit:213 */
851 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1]));
852 stack_frame_head = fra.me.prev;
853 return fra.me.REG[1];
854 }
855 static const char LOCATE_standard___kernel___Float___unary__minus[] = "kernel::Float::unary -";
856 val_t standard___kernel___Float___unary__minus(val_t p0){
857 struct {struct stack_frame_t me;} fra;
858 val_t tmp;
859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
860 fra.me.file = LOCATE_standard___kernel;
861 fra.me.line = 214;
862 fra.me.meth = LOCATE_standard___kernel___Float___unary__minus;
863 fra.me.has_broke = 0;
864 fra.me.REG_size = 1;
865 fra.me.nitni_local_ref_head = NULL;
866 fra.me.REG[0] = NIT_NULL;
867 fra.me.REG[0] = p0;
868 /* ../lib/standard/kernel.nit:214 */
869 fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0]));
870 stack_frame_head = fra.me.prev;
871 return fra.me.REG[0];
872 }
873 static const char LOCATE_standard___kernel___Float_____minus[] = "kernel::Float::-";
874 val_t standard___kernel___Float_____minus(val_t p0, val_t p1){
875 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
876 val_t tmp;
877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
878 fra.me.file = LOCATE_standard___kernel;
879 fra.me.line = 215;
880 fra.me.meth = LOCATE_standard___kernel___Float_____minus;
881 fra.me.has_broke = 0;
882 fra.me.REG_size = 2;
883 fra.me.nitni_local_ref_head = NULL;
884 fra.me.REG[0] = NIT_NULL;
885 fra.me.REG[1] = NIT_NULL;
886 fra.me.REG[0] = p0;
887 fra.me.REG[1] = p1;
888 /* ../lib/standard/kernel.nit:215 */
889 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1]));
890 stack_frame_head = fra.me.prev;
891 return fra.me.REG[1];
892 }
893 static const char LOCATE_standard___kernel___Float_____star[] = "kernel::Float::*";
894 val_t standard___kernel___Float_____star(val_t p0, val_t p1){
895 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
896 val_t tmp;
897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
898 fra.me.file = LOCATE_standard___kernel;
899 fra.me.line = 216;
900 fra.me.meth = LOCATE_standard___kernel___Float_____star;
901 fra.me.has_broke = 0;
902 fra.me.REG_size = 2;
903 fra.me.nitni_local_ref_head = NULL;
904 fra.me.REG[0] = NIT_NULL;
905 fra.me.REG[1] = NIT_NULL;
906 fra.me.REG[0] = p0;
907 fra.me.REG[1] = p1;
908 /* ../lib/standard/kernel.nit:216 */
909 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1]));
910 stack_frame_head = fra.me.prev;
911 return fra.me.REG[1];
912 }
913 static const char LOCATE_standard___kernel___Float_____slash[] = "kernel::Float::/";
914 val_t standard___kernel___Float_____slash(val_t p0, val_t p1){
915 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
916 val_t tmp;
917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
918 fra.me.file = LOCATE_standard___kernel;
919 fra.me.line = 217;
920 fra.me.meth = LOCATE_standard___kernel___Float_____slash;
921 fra.me.has_broke = 0;
922 fra.me.REG_size = 2;
923 fra.me.nitni_local_ref_head = NULL;
924 fra.me.REG[0] = NIT_NULL;
925 fra.me.REG[1] = NIT_NULL;
926 fra.me.REG[0] = p0;
927 fra.me.REG[1] = p1;
928 /* ../lib/standard/kernel.nit:217 */
929 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1]));
930 stack_frame_head = fra.me.prev;
931 return fra.me.REG[1];
932 }
933 static const char LOCATE_standard___kernel___Float___to_i[] = "kernel::Float::to_i";
934 val_t standard___kernel___Float___to_i(val_t p0){
935 struct {struct stack_frame_t me;} fra;
936 val_t REGB0;
937 val_t tmp;
938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
939 fra.me.file = LOCATE_standard___kernel;
940 fra.me.line = 219;
941 fra.me.meth = LOCATE_standard___kernel___Float___to_i;
942 fra.me.has_broke = 0;
943 fra.me.REG_size = 1;
944 fra.me.nitni_local_ref_head = NULL;
945 fra.me.REG[0] = NIT_NULL;
946 fra.me.REG[0] = p0;
947 /* ../lib/standard/kernel.nit:219 */
948 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
949 stack_frame_head = fra.me.prev;
950 return REGB0;
951 }
952 static const char LOCATE_standard___kernel___Int___object_id[] = "kernel::Int::(kernel::Object::object_id)";
953 val_t standard___kernel___Int___object_id(val_t p0){
954 struct {struct stack_frame_t me;} fra;
955 val_t REGB0;
956 val_t tmp;
957 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
958 fra.me.file = LOCATE_standard___kernel;
959 fra.me.line = 229;
960 fra.me.meth = LOCATE_standard___kernel___Int___object_id;
961 fra.me.has_broke = 0;
962 fra.me.REG_size = 0;
963 fra.me.nitni_local_ref_head = NULL;
964 REGB0 = p0;
965 /* ../lib/standard/kernel.nit:229 */
966 REGB0 = REGB0;
967 stack_frame_head = fra.me.prev;
968 return REGB0;
969 }
970 static const char LOCATE_standard___kernel___Int_____eqeq[] = "kernel::Int::(kernel::Object::==)";
971 val_t standard___kernel___Int_____eqeq(val_t p0, val_t p1){
972 struct {struct stack_frame_t me;} fra;
973 val_t REGB0;
974 val_t tmp;
975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
976 fra.me.file = LOCATE_standard___kernel;
977 fra.me.line = 230;
978 fra.me.meth = LOCATE_standard___kernel___Int_____eqeq;
979 fra.me.has_broke = 0;
980 fra.me.REG_size = 1;
981 fra.me.nitni_local_ref_head = NULL;
982 fra.me.REG[0] = NIT_NULL;
983 REGB0 = p0;
984 fra.me.REG[0] = p1;
985 /* ../lib/standard/kernel.nit:230 */
986 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
987 stack_frame_head = fra.me.prev;
988 return REGB0;
989 }
990 static const char LOCATE_standard___kernel___Int_____neq[] = "kernel::Int::(kernel::Object::!=)";
991 val_t standard___kernel___Int_____neq(val_t p0, val_t p1){
992 struct {struct stack_frame_t me;} fra;
993 val_t REGB0;
994 val_t tmp;
995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
996 fra.me.file = LOCATE_standard___kernel;
997 fra.me.line = 231;
998 fra.me.meth = LOCATE_standard___kernel___Int_____neq;
999 fra.me.has_broke = 0;
1000 fra.me.REG_size = 1;
1001 fra.me.nitni_local_ref_head = NULL;
1002 fra.me.REG[0] = NIT_NULL;
1003 REGB0 = p0;
1004 fra.me.REG[0] = p1;
1005 /* ../lib/standard/kernel.nit:231 */
1006 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
1007 stack_frame_head = fra.me.prev;
1008 return REGB0;
1009 }
1010 static const char LOCATE_standard___kernel___Int___output[] = "kernel::Int::(kernel::Object::output)";
1011 void standard___kernel___Int___output(val_t p0){
1012 struct {struct stack_frame_t me;} fra;
1013 val_t REGB0;
1014 val_t tmp;
1015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1016 fra.me.file = LOCATE_standard___kernel;
1017 fra.me.line = 232;
1018 fra.me.meth = LOCATE_standard___kernel___Int___output;
1019 fra.me.has_broke = 0;
1020 fra.me.REG_size = 0;
1021 fra.me.nitni_local_ref_head = NULL;
1022 REGB0 = p0;
1023 /* ../lib/standard/kernel.nit:232 */
1024 printf("%ld\n", UNTAG_Int(REGB0));;
1025 stack_frame_head = fra.me.prev;
1026 return;
1027 }
1028 static const char LOCATE_standard___kernel___Int_____leq[] = "kernel::Int::(kernel::Comparable::<=)";
1029 val_t standard___kernel___Int_____leq(val_t p0, val_t p1){
1030 struct {struct stack_frame_t me;} fra;
1031 val_t REGB0;
1032 val_t REGB1;
1033 val_t REGB2;
1034 val_t tmp;
1035 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1036 fra.me.file = LOCATE_standard___kernel;
1037 fra.me.line = 234;
1038 fra.me.meth = LOCATE_standard___kernel___Int_____leq;
1039 fra.me.has_broke = 0;
1040 fra.me.REG_size = 0;
1041 fra.me.nitni_local_ref_head = NULL;
1042 REGB0 = p0;
1043 REGB1 = p1;
1044 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1045 if (UNTAG_Bool(REGB2)) {
1046 } else {
1047 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1048 }
1049 /* ../lib/standard/kernel.nit:234 */
1050 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1051 stack_frame_head = fra.me.prev;
1052 return REGB1;
1053 }
1054 static const char LOCATE_standard___kernel___Int_____l[] = "kernel::Int::(kernel::Comparable::<)";
1055 val_t standard___kernel___Int_____l(val_t p0, val_t p1){
1056 struct {struct stack_frame_t me;} fra;
1057 val_t REGB0;
1058 val_t REGB1;
1059 val_t REGB2;
1060 val_t tmp;
1061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1062 fra.me.file = LOCATE_standard___kernel;
1063 fra.me.line = 235;
1064 fra.me.meth = LOCATE_standard___kernel___Int_____l;
1065 fra.me.has_broke = 0;
1066 fra.me.REG_size = 0;
1067 fra.me.nitni_local_ref_head = NULL;
1068 REGB0 = p0;
1069 REGB1 = p1;
1070 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1071 if (UNTAG_Bool(REGB2)) {
1072 } else {
1073 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1074 }
1075 /* ../lib/standard/kernel.nit:235 */
1076 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1077 stack_frame_head = fra.me.prev;
1078 return REGB1;
1079 }
1080 static const char LOCATE_standard___kernel___Int_____geq[] = "kernel::Int::(kernel::Comparable::>=)";
1081 val_t standard___kernel___Int_____geq(val_t p0, val_t p1){
1082 struct {struct stack_frame_t me;} fra;
1083 val_t REGB0;
1084 val_t REGB1;
1085 val_t REGB2;
1086 val_t tmp;
1087 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1088 fra.me.file = LOCATE_standard___kernel;
1089 fra.me.line = 236;
1090 fra.me.meth = LOCATE_standard___kernel___Int_____geq;
1091 fra.me.has_broke = 0;
1092 fra.me.REG_size = 0;
1093 fra.me.nitni_local_ref_head = NULL;
1094 REGB0 = p0;
1095 REGB1 = p1;
1096 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1097 if (UNTAG_Bool(REGB2)) {
1098 } else {
1099 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1100 }
1101 /* ../lib/standard/kernel.nit:236 */
1102 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1103 stack_frame_head = fra.me.prev;
1104 return REGB1;
1105 }
1106 static const char LOCATE_standard___kernel___Int_____g[] = "kernel::Int::(kernel::Comparable::>)";
1107 val_t standard___kernel___Int_____g(val_t p0, val_t p1){
1108 struct {struct stack_frame_t me;} fra;
1109 val_t REGB0;
1110 val_t REGB1;
1111 val_t REGB2;
1112 val_t tmp;
1113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1114 fra.me.file = LOCATE_standard___kernel;
1115 fra.me.line = 237;
1116 fra.me.meth = LOCATE_standard___kernel___Int_____g;
1117 fra.me.has_broke = 0;
1118 fra.me.REG_size = 0;
1119 fra.me.nitni_local_ref_head = NULL;
1120 REGB0 = p0;
1121 REGB1 = p1;
1122 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1123 if (UNTAG_Bool(REGB2)) {
1124 } else {
1125 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1126 }
1127 /* ../lib/standard/kernel.nit:237 */
1128 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
1129 stack_frame_head = fra.me.prev;
1130 return REGB1;
1131 }
1132 static const char LOCATE_standard___kernel___Int_____plus[] = "kernel::Int::(kernel::Discrete::+)";
1133 val_t standard___kernel___Int_____plus(val_t p0, val_t p1){
1134 struct {struct stack_frame_t me;} fra;
1135 val_t REGB0;
1136 val_t REGB1;
1137 val_t tmp;
1138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1139 fra.me.file = LOCATE_standard___kernel;
1140 fra.me.line = 238;
1141 fra.me.meth = LOCATE_standard___kernel___Int_____plus;
1142 fra.me.has_broke = 0;
1143 fra.me.REG_size = 0;
1144 fra.me.nitni_local_ref_head = NULL;
1145 REGB0 = p0;
1146 REGB1 = p1;
1147 /* ../lib/standard/kernel.nit:238 */
1148 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1149 stack_frame_head = fra.me.prev;
1150 return REGB1;
1151 }
1152 static const char LOCATE_standard___kernel___Int___unary__minus[] = "kernel::Int::unary -";
1153 val_t standard___kernel___Int___unary__minus(val_t p0){
1154 struct {struct stack_frame_t me;} fra;
1155 val_t REGB0;
1156 val_t tmp;
1157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1158 fra.me.file = LOCATE_standard___kernel;
1159 fra.me.line = 239;
1160 fra.me.meth = LOCATE_standard___kernel___Int___unary__minus;
1161 fra.me.has_broke = 0;
1162 fra.me.REG_size = 0;
1163 fra.me.nitni_local_ref_head = NULL;
1164 REGB0 = p0;
1165 /* ../lib/standard/kernel.nit:239 */
1166 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
1167 stack_frame_head = fra.me.prev;
1168 return REGB0;
1169 }
1170 static const char LOCATE_standard___kernel___Int_____minus[] = "kernel::Int::(kernel::Discrete::-)";
1171 val_t standard___kernel___Int_____minus(val_t p0, val_t p1){
1172 struct {struct stack_frame_t me;} fra;
1173 val_t REGB0;
1174 val_t REGB1;
1175 val_t tmp;
1176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1177 fra.me.file = LOCATE_standard___kernel;
1178 fra.me.line = 240;
1179 fra.me.meth = LOCATE_standard___kernel___Int_____minus;
1180 fra.me.has_broke = 0;
1181 fra.me.REG_size = 0;
1182 fra.me.nitni_local_ref_head = NULL;
1183 REGB0 = p0;
1184 REGB1 = p1;
1185 /* ../lib/standard/kernel.nit:240 */
1186 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1187 stack_frame_head = fra.me.prev;
1188 return REGB1;
1189 }
1190 static const char LOCATE_standard___kernel___Int_____star[] = "kernel::Int::*";
1191 val_t standard___kernel___Int_____star(val_t p0, val_t p1){
1192 struct {struct stack_frame_t me;} fra;
1193 val_t REGB0;
1194 val_t REGB1;
1195 val_t tmp;
1196 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1197 fra.me.file = LOCATE_standard___kernel;
1198 fra.me.line = 241;
1199 fra.me.meth = LOCATE_standard___kernel___Int_____star;
1200 fra.me.has_broke = 0;
1201 fra.me.REG_size = 0;
1202 fra.me.nitni_local_ref_head = NULL;
1203 REGB0 = p0;
1204 REGB1 = p1;
1205 /* ../lib/standard/kernel.nit:241 */
1206 REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1));
1207 stack_frame_head = fra.me.prev;
1208 return REGB1;
1209 }
1210 static const char LOCATE_standard___kernel___Int_____slash[] = "kernel::Int::/";
1211 val_t standard___kernel___Int_____slash(val_t p0, val_t p1){
1212 struct {struct stack_frame_t me;} fra;
1213 val_t REGB0;
1214 val_t REGB1;
1215 val_t tmp;
1216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1217 fra.me.file = LOCATE_standard___kernel;
1218 fra.me.line = 242;
1219 fra.me.meth = LOCATE_standard___kernel___Int_____slash;
1220 fra.me.has_broke = 0;
1221 fra.me.REG_size = 0;
1222 fra.me.nitni_local_ref_head = NULL;
1223 REGB0 = p0;
1224 REGB1 = p1;
1225 /* ../lib/standard/kernel.nit:242 */
1226 REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
1227 stack_frame_head = fra.me.prev;
1228 return REGB1;
1229 }
1230 static const char LOCATE_standard___kernel___Int_____percent[] = "kernel::Int::%";
1231 val_t standard___kernel___Int_____percent(val_t p0, val_t p1){
1232 struct {struct stack_frame_t me;} fra;
1233 val_t REGB0;
1234 val_t REGB1;
1235 val_t tmp;
1236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1237 fra.me.file = LOCATE_standard___kernel;
1238 fra.me.line = 243;
1239 fra.me.meth = LOCATE_standard___kernel___Int_____percent;
1240 fra.me.has_broke = 0;
1241 fra.me.REG_size = 0;
1242 fra.me.nitni_local_ref_head = NULL;
1243 REGB0 = p0;
1244 REGB1 = p1;
1245 /* ../lib/standard/kernel.nit:243 */
1246 REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1));
1247 stack_frame_head = fra.me.prev;
1248 return REGB1;
1249 }
1250 static const char LOCATE_standard___kernel___Int___lshift[] = "kernel::Int::lshift";
1251 val_t standard___kernel___Int___lshift(val_t p0, val_t p1){
1252 struct {struct stack_frame_t me;} fra;
1253 val_t REGB0;
1254 val_t REGB1;
1255 val_t tmp;
1256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1257 fra.me.file = LOCATE_standard___kernel;
1258 fra.me.line = 244;
1259 fra.me.meth = LOCATE_standard___kernel___Int___lshift;
1260 fra.me.has_broke = 0;
1261 fra.me.REG_size = 0;
1262 fra.me.nitni_local_ref_head = NULL;
1263 REGB0 = p0;
1264 REGB1 = p1;
1265 /* ../lib/standard/kernel.nit:244 */
1266 REGB1 = TAG_Int(UNTAG_Int(REGB0)<<UNTAG_Int(REGB1));
1267 stack_frame_head = fra.me.prev;
1268 return REGB1;
1269 }
1270 static const char LOCATE_standard___kernel___Int___rshift[] = "kernel::Int::rshift";
1271 val_t standard___kernel___Int___rshift(val_t p0, val_t p1){
1272 struct {struct stack_frame_t me;} fra;
1273 val_t REGB0;
1274 val_t REGB1;
1275 val_t tmp;
1276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1277 fra.me.file = LOCATE_standard___kernel;
1278 fra.me.line = 245;
1279 fra.me.meth = LOCATE_standard___kernel___Int___rshift;
1280 fra.me.has_broke = 0;
1281 fra.me.REG_size = 0;
1282 fra.me.nitni_local_ref_head = NULL;
1283 REGB0 = p0;
1284 REGB1 = p1;
1285 /* ../lib/standard/kernel.nit:245 */
1286 REGB1 = TAG_Int(UNTAG_Int(REGB0)>>UNTAG_Int(REGB1));
1287 stack_frame_head = fra.me.prev;
1288 return REGB1;
1289 }
1290 static const char LOCATE_standard___kernel___Int___to_f[] = "kernel::Int::to_f";
1291 val_t standard___kernel___Int___to_f(val_t p0){
1292 struct {struct stack_frame_t me;} fra;
1293 val_t REGB0;
1294 val_t tmp;
1295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1296 fra.me.file = LOCATE_standard___kernel;
1297 fra.me.line = 247;
1298 fra.me.meth = LOCATE_standard___kernel___Int___to_f;
1299 fra.me.has_broke = 0;
1300 fra.me.REG_size = 1;
1301 fra.me.nitni_local_ref_head = NULL;
1302 fra.me.REG[0] = NIT_NULL;
1303 REGB0 = p0;
1304 /* ../lib/standard/kernel.nit:247 */
1305 fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0));
1306 stack_frame_head = fra.me.prev;
1307 return fra.me.REG[0];
1308 }
1309 static const char LOCATE_standard___kernel___Int___succ[] = "kernel::Int::(kernel::Discrete::succ)";
1310 val_t standard___kernel___Int___succ(val_t p0){
1311 struct {struct stack_frame_t me;} fra;
1312 val_t REGB0;
1313 val_t tmp;
1314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1315 fra.me.file = LOCATE_standard___kernel;
1316 fra.me.line = 250;
1317 fra.me.meth = LOCATE_standard___kernel___Int___succ;
1318 fra.me.has_broke = 0;
1319 fra.me.REG_size = 0;
1320 fra.me.nitni_local_ref_head = NULL;
1321 REGB0 = p0;
1322 /* ../lib/standard/kernel.nit:250 */
1323 REGB0 = TAG_Int(UNTAG_Int(REGB0)+1);
1324 stack_frame_head = fra.me.prev;
1325 return REGB0;
1326 }
1327 static const char LOCATE_standard___kernel___Int___prec[] = "kernel::Int::(kernel::Discrete::prec)";
1328 val_t standard___kernel___Int___prec(val_t p0){
1329 struct {struct stack_frame_t me;} fra;
1330 val_t REGB0;
1331 val_t tmp;
1332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1333 fra.me.file = LOCATE_standard___kernel;
1334 fra.me.line = 251;
1335 fra.me.meth = LOCATE_standard___kernel___Int___prec;
1336 fra.me.has_broke = 0;
1337 fra.me.REG_size = 0;
1338 fra.me.nitni_local_ref_head = NULL;
1339 REGB0 = p0;
1340 /* ../lib/standard/kernel.nit:251 */
1341 REGB0 = TAG_Int(UNTAG_Int(REGB0)-1);
1342 stack_frame_head = fra.me.prev;
1343 return REGB0;
1344 }
1345 static const char LOCATE_standard___kernel___Int___distance[] = "kernel::Int::(kernel::Discrete::distance)";
1346 val_t standard___kernel___Int___distance(val_t p0, val_t p1){
1347 struct {struct stack_frame_t me;} fra;
1348 val_t REGB0;
1349 val_t REGB1;
1350 val_t REGB2;
1351 val_t tmp;
1352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1353 fra.me.file = LOCATE_standard___kernel;
1354 fra.me.line = 252;
1355 fra.me.meth = LOCATE_standard___kernel___Int___distance;
1356 fra.me.has_broke = 0;
1357 fra.me.REG_size = 0;
1358 fra.me.nitni_local_ref_head = NULL;
1359 REGB0 = p0;
1360 REGB1 = p1;
1361 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1362 if (UNTAG_Bool(REGB2)) {
1363 } else {
1364 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1365 }
1366 /* ../lib/standard/kernel.nit:240 */
1367 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1368 /* ../lib/standard/kernel.nit:255 */
1369 REGB0 = TAG_Int(0);
1370 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
1371 if (UNTAG_Bool(REGB2)) {
1372 } else {
1373 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1374 }
1375 /* ../lib/standard/kernel.nit:236 */
1376 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1377 /* ../lib/standard/kernel.nit:255 */
1378 if (UNTAG_Bool(REGB0)) {
1379 /* ../lib/standard/kernel.nit:256 */
1380 REGB0 = REGB1;
1381 goto label1;
1382 } else {
1383 /* ../lib/standard/kernel.nit:239 */
1384 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1385 /* ../lib/standard/kernel.nit:258 */
1386 REGB0 = REGB1;
1387 goto label1;
1388 }
1389 label1: while(0);
1390 stack_frame_head = fra.me.prev;
1391 return REGB0;
1392 }
1393 static const char LOCATE_standard___kernel___Int_____leqg[] = "kernel::Int::(kernel::Comparable::<=>)";
1394 val_t standard___kernel___Int_____leqg(val_t p0, val_t p1){
1395 struct {struct stack_frame_t me;} fra;
1396 val_t REGB0;
1397 val_t REGB1;
1398 val_t REGB2;
1399 val_t REGB3;
1400 val_t tmp;
1401 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1402 fra.me.file = LOCATE_standard___kernel;
1403 fra.me.line = 262;
1404 fra.me.meth = LOCATE_standard___kernel___Int_____leqg;
1405 fra.me.has_broke = 0;
1406 fra.me.REG_size = 0;
1407 fra.me.nitni_local_ref_head = NULL;
1408 REGB0 = p0;
1409 REGB1 = p1;
1410 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1411 if (UNTAG_Bool(REGB2)) {
1412 } else {
1413 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1414 }
1415 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1416 if (UNTAG_Bool(REGB2)) {
1417 } else {
1418 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1419 }
1420 /* ../lib/standard/kernel.nit:235 */
1421 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1422 /* ../lib/standard/kernel.nit:264 */
1423 if (UNTAG_Bool(REGB2)) {
1424 /* ../lib/standard/kernel.nit:265 */
1425 REGB2 = TAG_Int(1);
1426 /* ../lib/standard/kernel.nit:239 */
1427 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1428 /* ../lib/standard/kernel.nit:265 */
1429 goto label1;
1430 } else {
1431 REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
1432 if (UNTAG_Bool(REGB3)) {
1433 } else {
1434 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1435 }
1436 /* ../lib/standard/kernel.nit:235 */
1437 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1438 /* ../lib/standard/kernel.nit:266 */
1439 if (UNTAG_Bool(REGB0)) {
1440 /* ../lib/standard/kernel.nit:267 */
1441 REGB0 = TAG_Int(1);
1442 REGB2 = REGB0;
1443 goto label1;
1444 } else {
1445 /* ../lib/standard/kernel.nit:269 */
1446 REGB0 = TAG_Int(0);
1447 REGB2 = REGB0;
1448 goto label1;
1449 }
1450 }
1451 label1: while(0);
1452 stack_frame_head = fra.me.prev;
1453 return REGB2;
1454 }
1455 static const char LOCATE_standard___kernel___Int___is_between[] = "kernel::Int::(kernel::Comparable::is_between)";
1456 val_t standard___kernel___Int___is_between(val_t p0, val_t p1, val_t p2){
1457 struct {struct stack_frame_t me;} fra;
1458 val_t REGB0;
1459 val_t REGB1;
1460 val_t REGB2;
1461 val_t REGB3;
1462 val_t tmp;
1463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1464 fra.me.file = LOCATE_standard___kernel;
1465 fra.me.line = 273;
1466 fra.me.meth = LOCATE_standard___kernel___Int___is_between;
1467 fra.me.has_broke = 0;
1468 fra.me.REG_size = 0;
1469 fra.me.nitni_local_ref_head = NULL;
1470 REGB0 = p0;
1471 REGB1 = p1;
1472 REGB2 = p2;
1473 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1474 if (UNTAG_Bool(REGB3)) {
1475 } else {
1476 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1477 }
1478 REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1479 if (UNTAG_Bool(REGB3)) {
1480 } else {
1481 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1482 }
1483 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1484 if (UNTAG_Bool(REGB3)) {
1485 } else {
1486 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1487 }
1488 /* ../lib/standard/kernel.nit:235 */
1489 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1490 /* ../lib/standard/kernel.nit:275 */
1491 if (UNTAG_Bool(REGB1)) {
1492 REGB1 = TAG_Bool(1);
1493 } else {
1494 REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
1495 if (UNTAG_Bool(REGB3)) {
1496 } else {
1497 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1498 }
1499 /* ../lib/standard/kernel.nit:235 */
1500 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
1501 /* ../lib/standard/kernel.nit:275 */
1502 REGB1 = REGB0;
1503 }
1504 if (UNTAG_Bool(REGB1)) {
1505 /* ../lib/standard/kernel.nit:276 */
1506 REGB1 = TAG_Bool(0);
1507 goto label1;
1508 } else {
1509 /* ../lib/standard/kernel.nit:278 */
1510 REGB0 = TAG_Bool(1);
1511 REGB1 = REGB0;
1512 goto label1;
1513 }
1514 label1: while(0);
1515 stack_frame_head = fra.me.prev;
1516 return REGB1;
1517 }
1518 static const char LOCATE_standard___kernel___Int___max[] = "kernel::Int::(kernel::Comparable::max)";
1519 val_t standard___kernel___Int___max(val_t p0, val_t p1){
1520 struct {struct stack_frame_t me;} fra;
1521 val_t REGB0;
1522 val_t REGB1;
1523 val_t REGB2;
1524 val_t tmp;
1525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1526 fra.me.file = LOCATE_standard___kernel;
1527 fra.me.line = 282;
1528 fra.me.meth = LOCATE_standard___kernel___Int___max;
1529 fra.me.has_broke = 0;
1530 fra.me.REG_size = 0;
1531 fra.me.nitni_local_ref_head = NULL;
1532 REGB0 = p0;
1533 REGB1 = p1;
1534 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1535 if (UNTAG_Bool(REGB2)) {
1536 } else {
1537 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1538 }
1539 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1540 if (UNTAG_Bool(REGB2)) {
1541 } else {
1542 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1543 }
1544 /* ../lib/standard/kernel.nit:235 */
1545 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1546 /* ../lib/standard/kernel.nit:284 */
1547 if (UNTAG_Bool(REGB2)) {
1548 /* ../lib/standard/kernel.nit:285 */
1549 goto label1;
1550 } else {
1551 /* ../lib/standard/kernel.nit:287 */
1552 REGB1 = REGB0;
1553 goto label1;
1554 }
1555 label1: while(0);
1556 stack_frame_head = fra.me.prev;
1557 return REGB1;
1558 }
1559 static const char LOCATE_standard___kernel___Int___min[] = "kernel::Int::(kernel::Comparable::min)";
1560 val_t standard___kernel___Int___min(val_t p0, val_t p1){
1561 struct {struct stack_frame_t me;} fra;
1562 val_t REGB0;
1563 val_t REGB1;
1564 val_t REGB2;
1565 val_t tmp;
1566 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1567 fra.me.file = LOCATE_standard___kernel;
1568 fra.me.line = 291;
1569 fra.me.meth = LOCATE_standard___kernel___Int___min;
1570 fra.me.has_broke = 0;
1571 fra.me.REG_size = 0;
1572 fra.me.nitni_local_ref_head = NULL;
1573 REGB0 = p0;
1574 REGB1 = p1;
1575 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1576 if (UNTAG_Bool(REGB2)) {
1577 } else {
1578 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1579 }
1580 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
1581 if (UNTAG_Bool(REGB2)) {
1582 } else {
1583 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1584 }
1585 /* ../lib/standard/kernel.nit:235 */
1586 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1587 /* ../lib/standard/kernel.nit:293 */
1588 if (UNTAG_Bool(REGB2)) {
1589 /* ../lib/standard/kernel.nit:294 */
1590 goto label1;
1591 } else {
1592 /* ../lib/standard/kernel.nit:296 */
1593 REGB1 = REGB0;
1594 goto label1;
1595 }
1596 label1: while(0);
1597 stack_frame_head = fra.me.prev;
1598 return REGB1;
1599 }
1600 static const char LOCATE_standard___kernel___Int___ascii[] = "kernel::Int::ascii";
1601 val_t standard___kernel___Int___ascii(val_t p0){
1602 struct {struct stack_frame_t me;} fra;
1603 val_t REGB0;
1604 val_t tmp;
1605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1606 fra.me.file = LOCATE_standard___kernel;
1607 fra.me.line = 300;
1608 fra.me.meth = LOCATE_standard___kernel___Int___ascii;
1609 fra.me.has_broke = 0;
1610 fra.me.REG_size = 0;
1611 fra.me.nitni_local_ref_head = NULL;
1612 REGB0 = p0;
1613 /* ../lib/standard/kernel.nit:300 */
1614 REGB0 = TAG_Char(UNTAG_Int(REGB0));
1615 stack_frame_head = fra.me.prev;
1616 return REGB0;
1617 }
1618 static const char LOCATE_standard___kernel___Int___digit_count[] = "kernel::Int::digit_count";
1619 val_t standard___kernel___Int___digit_count(val_t p0, val_t p1){
1620 struct {struct stack_frame_t me;} fra;
1621 val_t REGB0;
1622 val_t REGB1;
1623 val_t REGB2;
1624 val_t REGB3;
1625 val_t REGB4;
1626 val_t REGB5;
1627 val_t tmp;
1628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1629 fra.me.file = LOCATE_standard___kernel;
1630 fra.me.line = 303;
1631 fra.me.meth = LOCATE_standard___kernel___Int___digit_count;
1632 fra.me.has_broke = 0;
1633 fra.me.REG_size = 0;
1634 fra.me.nitni_local_ref_head = NULL;
1635 REGB0 = p0;
1636 REGB1 = p1;
1637 /* ../lib/standard/kernel.nit:309 */
1638 REGB2 = TAG_Int(0);
1639 REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1640 if (UNTAG_Bool(REGB3)) {
1641 } else {
1642 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1643 }
1644 /* ../lib/standard/kernel.nit:235 */
1645 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
1646 /* ../lib/standard/kernel.nit:309 */
1647 if (UNTAG_Bool(REGB2)) {
1648 /* ../lib/standard/kernel.nit:310 */
1649 REGB2 = TAG_Int(1);
1650 /* ../lib/standard/kernel.nit:239 */
1651 REGB3 = TAG_Int(-UNTAG_Int(REGB0));
1652 } else {
1653 /* ../lib/standard/kernel.nit:312 */
1654 REGB4 = TAG_Int(0);
1655 REGB5 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
1656 if (UNTAG_Bool(REGB5)) {
1657 } else {
1658 /* ../lib/standard/kernel.nit:230 */
1659 REGB4 = TAG_Bool((REGB0)==(REGB4));
1660 /* ../lib/standard/kernel.nit:312 */
1661 REGB5 = REGB4;
1662 }
1663 if (UNTAG_Bool(REGB5)) {
1664 /* ../lib/standard/kernel.nit:313 */
1665 REGB5 = TAG_Int(1);
1666 goto label1;
1667 } else {
1668 /* ../lib/standard/kernel.nit:315 */
1669 REGB4 = TAG_Int(0);
1670 REGB2 = REGB4;
1671 /* ../lib/standard/kernel.nit:316 */
1672 REGB3 = REGB0;
1673 }
1674 }
1675 /* ../lib/standard/kernel.nit:319 */
1676 while(1) {
1677 REGB0 = TAG_Int(0);
1678 REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
1679 if (UNTAG_Bool(REGB4)) {
1680 } else {
1681 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1682 }
1683 /* ../lib/standard/kernel.nit:237 */
1684 REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0));
1685 /* ../lib/standard/kernel.nit:319 */
1686 if (UNTAG_Bool(REGB0)) {
1687 /* ../lib/standard/kernel.nit:320 */
1688 REGB0 = TAG_Int(1);
1689 /* ../lib/standard/kernel.nit:238 */
1690 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
1691 /* ../lib/standard/kernel.nit:320 */
1692 REGB2 = REGB0;
1693 /* ../lib/standard/kernel.nit:242 */
1694 REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1));
1695 /* ../lib/standard/kernel.nit:321 */
1696 REGB3 = REGB0;
1697 } else {
1698 /* ../lib/standard/kernel.nit:319 */
1699 goto label2;
1700 }
1701 }
1702 label2: while(0);
1703 /* ../lib/standard/kernel.nit:323 */
1704 REGB5 = REGB2;
1705 goto label1;
1706 label1: while(0);
1707 stack_frame_head = fra.me.prev;
1708 return REGB5;
1709 }
1710 static const char LOCATE_standard___kernel___Int___to_c[] = "kernel::Int::to_c";
1711 val_t standard___kernel___Int___to_c(val_t p0){
1712 struct {struct stack_frame_t me;} fra;
1713 val_t REGB0;
1714 val_t REGB1;
1715 val_t REGB2;
1716 val_t REGB3;
1717 val_t tmp;
1718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1719 fra.me.file = LOCATE_standard___kernel;
1720 fra.me.line = 326;
1721 fra.me.meth = LOCATE_standard___kernel___Int___to_c;
1722 fra.me.has_broke = 0;
1723 fra.me.REG_size = 0;
1724 fra.me.nitni_local_ref_head = NULL;
1725 REGB0 = p0;
1726 /* ../lib/standard/kernel.nit:331 */
1727 REGB1 = TAG_Int(0);
1728 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1729 if (UNTAG_Bool(REGB2)) {
1730 } else {
1731 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1732 }
1733 /* ../lib/standard/kernel.nit:236 */
1734 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1735 /* ../lib/standard/kernel.nit:331 */
1736 if (UNTAG_Bool(REGB1)) {
1737 REGB1 = TAG_Int(36);
1738 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1739 if (UNTAG_Bool(REGB2)) {
1740 } else {
1741 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1742 }
1743 /* ../lib/standard/kernel.nit:234 */
1744 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1745 } else {
1746 /* ../lib/standard/kernel.nit:331 */
1747 REGB2 = TAG_Bool(0);
1748 REGB1 = REGB2;
1749 }
1750 if (UNTAG_Bool(REGB1)) {
1751 } else {
1752 nit_abort("Assert failed", NULL, LOCATE_standard___kernel, 331);
1753 }
1754 /* ../lib/standard/kernel.nit:332 */
1755 REGB1 = TAG_Int(10);
1756 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1757 if (UNTAG_Bool(REGB2)) {
1758 } else {
1759 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1760 }
1761 /* ../lib/standard/kernel.nit:235 */
1762 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1763 /* ../lib/standard/kernel.nit:332 */
1764 if (UNTAG_Bool(REGB1)) {
1765 /* ../lib/standard/kernel.nit:333 */
1766 REGB1 = TAG_Char('0');
1767 /* ../lib/standard/kernel.nit:416 */
1768 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1769 /* ../lib/standard/kernel.nit:238 */
1770 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1771 /* ../lib/standard/kernel.nit:300 */
1772 REGB1 = TAG_Char(UNTAG_Int(REGB1));
1773 /* ../lib/standard/kernel.nit:333 */
1774 goto label1;
1775 } else {
1776 /* ../lib/standard/kernel.nit:335 */
1777 REGB2 = TAG_Char('a');
1778 /* ../lib/standard/kernel.nit:416 */
1779 REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
1780 /* ../lib/standard/kernel.nit:335 */
1781 REGB3 = TAG_Int(10);
1782 /* ../lib/standard/kernel.nit:240 */
1783 REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
1784 /* ../lib/standard/kernel.nit:238 */
1785 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
1786 /* ../lib/standard/kernel.nit:300 */
1787 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1788 /* ../lib/standard/kernel.nit:335 */
1789 REGB1 = REGB3;
1790 goto label1;
1791 }
1792 label1: while(0);
1793 stack_frame_head = fra.me.prev;
1794 return REGB1;
1795 }
1796 static const char LOCATE_standard___kernel___Int___enumerate_to[] = "kernel::Int::enumerate_to";
1797 void standard___kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1798 struct {struct stack_frame_t me;} fra;
1799 val_t REGB0;
1800 val_t REGB1;
1801 val_t REGB2;
1802 fun_t CREG[1];
1803 val_t tmp;
1804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1805 fra.me.file = LOCATE_standard___kernel;
1806 fra.me.line = 339;
1807 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_to;
1808 fra.me.has_broke = 0;
1809 fra.me.REG_size = 0;
1810 fra.me.nitni_local_ref_head = NULL;
1811 fra.me.closure_ctx = closctx_param;
1812 fra.me.closure_funs = CREG;
1813 REGB0 = p0;
1814 REGB1 = p1;
1815 CREG[0] = clos_fun0;
1816 /* ../lib/standard/kernel.nit:344 */
1817 while(1) {
1818 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1819 if (UNTAG_Bool(REGB2)) {
1820 } else {
1821 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1822 }
1823 /* ../lib/standard/kernel.nit:234 */
1824 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1825 /* ../lib/standard/kernel.nit:344 */
1826 if (UNTAG_Bool(REGB2)) {
1827 /* ../lib/standard/kernel.nit:345 */
1828 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
1829 if (closctx_param->has_broke) {
1830 goto label1;
1831 }
1832 /* ../lib/standard/kernel.nit:346 */
1833 REGB2 = TAG_Int(1);
1834 /* ../lib/standard/kernel.nit:238 */
1835 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1836 /* ../lib/standard/kernel.nit:346 */
1837 REGB0 = REGB2;
1838 } else {
1839 /* ../lib/standard/kernel.nit:344 */
1840 goto label2;
1841 }
1842 }
1843 label2: while(0);
1844 label1: while(0);
1845 stack_frame_head = fra.me.prev;
1846 return;
1847 }
1848 static const char LOCATE_standard___kernel___Int___enumerate_before[] = "kernel::Int::enumerate_before";
1849 void standard___kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1850 struct {struct stack_frame_t me;} fra;
1851 val_t REGB0;
1852 val_t REGB1;
1853 val_t REGB2;
1854 fun_t CREG[1];
1855 val_t tmp;
1856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1857 fra.me.file = LOCATE_standard___kernel;
1858 fra.me.line = 350;
1859 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_before;
1860 fra.me.has_broke = 0;
1861 fra.me.REG_size = 0;
1862 fra.me.nitni_local_ref_head = NULL;
1863 fra.me.closure_ctx = closctx_param;
1864 fra.me.closure_funs = CREG;
1865 REGB0 = p0;
1866 REGB1 = p1;
1867 CREG[0] = clos_fun0;
1868 /* ../lib/standard/kernel.nit:355 */
1869 while(1) {
1870 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1871 if (UNTAG_Bool(REGB2)) {
1872 } else {
1873 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1874 }
1875 /* ../lib/standard/kernel.nit:235 */
1876 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1877 /* ../lib/standard/kernel.nit:355 */
1878 if (UNTAG_Bool(REGB2)) {
1879 /* ../lib/standard/kernel.nit:356 */
1880 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
1881 if (closctx_param->has_broke) {
1882 goto label1;
1883 }
1884 /* ../lib/standard/kernel.nit:357 */
1885 REGB2 = TAG_Int(1);
1886 /* ../lib/standard/kernel.nit:238 */
1887 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1888 /* ../lib/standard/kernel.nit:357 */
1889 REGB0 = REGB2;
1890 } else {
1891 /* ../lib/standard/kernel.nit:355 */
1892 goto label2;
1893 }
1894 }
1895 label2: while(0);
1896 label1: while(0);
1897 stack_frame_head = fra.me.prev;
1898 return;
1899 }
1900 static const char LOCATE_standard___kernel___Int___abs[] = "kernel::Int::abs";
1901 val_t standard___kernel___Int___abs(val_t p0){
1902 struct {struct stack_frame_t me;} fra;
1903 val_t REGB0;
1904 val_t REGB1;
1905 val_t REGB2;
1906 val_t tmp;
1907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1908 fra.me.file = LOCATE_standard___kernel;
1909 fra.me.line = 361;
1910 fra.me.meth = LOCATE_standard___kernel___Int___abs;
1911 fra.me.has_broke = 0;
1912 fra.me.REG_size = 0;
1913 fra.me.nitni_local_ref_head = NULL;
1914 REGB0 = p0;
1915 /* ../lib/standard/kernel.nit:364 */
1916 REGB1 = TAG_Int(0);
1917 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1918 if (UNTAG_Bool(REGB2)) {
1919 } else {
1920 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1921 }
1922 /* ../lib/standard/kernel.nit:236 */
1923 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1924 /* ../lib/standard/kernel.nit:364 */
1925 if (UNTAG_Bool(REGB1)) {
1926 /* ../lib/standard/kernel.nit:366 */
1927 REGB1 = REGB0;
1928 goto label1;
1929 } else {
1930 /* ../lib/standard/kernel.nit:368 */
1931 REGB2 = TAG_Int(1);
1932 /* ../lib/standard/kernel.nit:239 */
1933 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1934 /* ../lib/standard/kernel.nit:241 */
1935 REGB0 = TAG_Int(UNTAG_Int(REGB2)*UNTAG_Int(REGB0));
1936 /* ../lib/standard/kernel.nit:368 */
1937 REGB1 = REGB0;
1938 goto label1;
1939 }
1940 label1: while(0);
1941 stack_frame_head = fra.me.prev;
1942 return REGB1;
1943 }
1944 static const char LOCATE_standard___kernel___Char___object_id[] = "kernel::Char::(kernel::Object::object_id)";
1945 val_t standard___kernel___Char___object_id(val_t p0){
1946 struct {struct stack_frame_t me;} fra;
1947 val_t REGB0;
1948 val_t tmp;
1949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1950 fra.me.file = LOCATE_standard___kernel;
1951 fra.me.line = 380;
1952 fra.me.meth = LOCATE_standard___kernel___Char___object_id;
1953 fra.me.has_broke = 0;
1954 fra.me.REG_size = 0;
1955 fra.me.nitni_local_ref_head = NULL;
1956 REGB0 = p0;
1957 /* ../lib/standard/kernel.nit:380 */
1958 REGB0 = TAG_Int(UNTAG_Char(REGB0));
1959 stack_frame_head = fra.me.prev;
1960 return REGB0;
1961 }
1962 static const char LOCATE_standard___kernel___Char_____eqeq[] = "kernel::Char::(kernel::Object::==)";
1963 val_t standard___kernel___Char_____eqeq(val_t p0, val_t p1){
1964 struct {struct stack_frame_t me;} fra;
1965 val_t REGB0;
1966 val_t tmp;
1967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1968 fra.me.file = LOCATE_standard___kernel;
1969 fra.me.line = 381;
1970 fra.me.meth = LOCATE_standard___kernel___Char_____eqeq;
1971 fra.me.has_broke = 0;
1972 fra.me.REG_size = 1;
1973 fra.me.nitni_local_ref_head = NULL;
1974 fra.me.REG[0] = NIT_NULL;
1975 REGB0 = p0;
1976 fra.me.REG[0] = p1;
1977 /* ../lib/standard/kernel.nit:381 */
1978 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
1979 stack_frame_head = fra.me.prev;
1980 return REGB0;
1981 }
1982 static const char LOCATE_standard___kernel___Char_____neq[] = "kernel::Char::(kernel::Object::!=)";
1983 val_t standard___kernel___Char_____neq(val_t p0, val_t p1){
1984 struct {struct stack_frame_t me;} fra;
1985 val_t REGB0;
1986 val_t tmp;
1987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1988 fra.me.file = LOCATE_standard___kernel;
1989 fra.me.line = 382;
1990 fra.me.meth = LOCATE_standard___kernel___Char_____neq;
1991 fra.me.has_broke = 0;
1992 fra.me.REG_size = 1;
1993 fra.me.nitni_local_ref_head = NULL;
1994 fra.me.REG[0] = NIT_NULL;
1995 REGB0 = p0;
1996 fra.me.REG[0] = p1;
1997 /* ../lib/standard/kernel.nit:382 */
1998 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
1999 stack_frame_head = fra.me.prev;
2000 return REGB0;
2001 }
2002 static const char LOCATE_standard___kernel___Char___output[] = "kernel::Char::(kernel::Object::output)";
2003 void standard___kernel___Char___output(val_t p0){
2004 struct {struct stack_frame_t me;} fra;
2005 val_t REGB0;
2006 val_t tmp;
2007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2008 fra.me.file = LOCATE_standard___kernel;
2009 fra.me.line = 383;
2010 fra.me.meth = LOCATE_standard___kernel___Char___output;
2011 fra.me.has_broke = 0;
2012 fra.me.REG_size = 0;
2013 fra.me.nitni_local_ref_head = NULL;
2014 REGB0 = p0;
2015 /* ../lib/standard/kernel.nit:383 */
2016 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
2017 stack_frame_head = fra.me.prev;
2018 return;
2019 }
2020 static const char LOCATE_standard___kernel___Char_____leq[] = "kernel::Char::(kernel::Comparable::<=)";
2021 val_t standard___kernel___Char_____leq(val_t p0, val_t p1){
2022 struct {struct stack_frame_t me;} fra;
2023 val_t REGB0;
2024 val_t REGB1;
2025 val_t REGB2;
2026 val_t tmp;
2027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2028 fra.me.file = LOCATE_standard___kernel;
2029 fra.me.line = 385;
2030 fra.me.meth = LOCATE_standard___kernel___Char_____leq;
2031 fra.me.has_broke = 0;
2032 fra.me.REG_size = 0;
2033 fra.me.nitni_local_ref_head = NULL;
2034 REGB0 = p0;
2035 REGB1 = p1;
2036 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2037 if (UNTAG_Bool(REGB2)) {
2038 } else {
2039 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2040 }
2041 /* ../lib/standard/kernel.nit:385 */
2042 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2043 stack_frame_head = fra.me.prev;
2044 return REGB1;
2045 }
2046 static const char LOCATE_standard___kernel___Char_____l[] = "kernel::Char::(kernel::Comparable::<)";
2047 val_t standard___kernel___Char_____l(val_t p0, val_t p1){
2048 struct {struct stack_frame_t me;} fra;
2049 val_t REGB0;
2050 val_t REGB1;
2051 val_t REGB2;
2052 val_t tmp;
2053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2054 fra.me.file = LOCATE_standard___kernel;
2055 fra.me.line = 386;
2056 fra.me.meth = LOCATE_standard___kernel___Char_____l;
2057 fra.me.has_broke = 0;
2058 fra.me.REG_size = 0;
2059 fra.me.nitni_local_ref_head = NULL;
2060 REGB0 = p0;
2061 REGB1 = p1;
2062 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2063 if (UNTAG_Bool(REGB2)) {
2064 } else {
2065 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2066 }
2067 /* ../lib/standard/kernel.nit:386 */
2068 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
2069 stack_frame_head = fra.me.prev;
2070 return REGB1;
2071 }
2072 static const char LOCATE_standard___kernel___Char_____geq[] = "kernel::Char::(kernel::Comparable::>=)";
2073 val_t standard___kernel___Char_____geq(val_t p0, val_t p1){
2074 struct {struct stack_frame_t me;} fra;
2075 val_t REGB0;
2076 val_t REGB1;
2077 val_t REGB2;
2078 val_t tmp;
2079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2080 fra.me.file = LOCATE_standard___kernel;
2081 fra.me.line = 387;
2082 fra.me.meth = LOCATE_standard___kernel___Char_____geq;
2083 fra.me.has_broke = 0;
2084 fra.me.REG_size = 0;
2085 fra.me.nitni_local_ref_head = NULL;
2086 REGB0 = p0;
2087 REGB1 = p1;
2088 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2089 if (UNTAG_Bool(REGB2)) {
2090 } else {
2091 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2092 }
2093 /* ../lib/standard/kernel.nit:387 */
2094 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2095 stack_frame_head = fra.me.prev;
2096 return REGB1;
2097 }
2098 static const char LOCATE_standard___kernel___Char_____g[] = "kernel::Char::(kernel::Comparable::>)";
2099 val_t standard___kernel___Char_____g(val_t p0, val_t p1){
2100 struct {struct stack_frame_t me;} fra;
2101 val_t REGB0;
2102 val_t REGB1;
2103 val_t REGB2;
2104 val_t tmp;
2105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2106 fra.me.file = LOCATE_standard___kernel;
2107 fra.me.line = 388;
2108 fra.me.meth = LOCATE_standard___kernel___Char_____g;
2109 fra.me.has_broke = 0;
2110 fra.me.REG_size = 0;
2111 fra.me.nitni_local_ref_head = NULL;
2112 REGB0 = p0;
2113 REGB1 = p1;
2114 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2115 if (UNTAG_Bool(REGB2)) {
2116 } else {
2117 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2118 }
2119 /* ../lib/standard/kernel.nit:388 */
2120 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
2121 stack_frame_head = fra.me.prev;
2122 return REGB1;
2123 }
2124 static const char LOCATE_standard___kernel___Char___succ[] = "kernel::Char::(kernel::Discrete::succ)";
2125 val_t standard___kernel___Char___succ(val_t p0){
2126 struct {struct stack_frame_t me;} fra;
2127 val_t REGB0;
2128 val_t tmp;
2129 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2130 fra.me.file = LOCATE_standard___kernel;
2131 fra.me.line = 390;
2132 fra.me.meth = LOCATE_standard___kernel___Char___succ;
2133 fra.me.has_broke = 0;
2134 fra.me.REG_size = 0;
2135 fra.me.nitni_local_ref_head = NULL;
2136 REGB0 = p0;
2137 /* ../lib/standard/kernel.nit:390 */
2138 REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
2139 stack_frame_head = fra.me.prev;
2140 return REGB0;
2141 }
2142 static const char LOCATE_standard___kernel___Char___prec[] = "kernel::Char::(kernel::Discrete::prec)";
2143 val_t standard___kernel___Char___prec(val_t p0){
2144 struct {struct stack_frame_t me;} fra;
2145 val_t REGB0;
2146 val_t tmp;
2147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2148 fra.me.file = LOCATE_standard___kernel;
2149 fra.me.line = 391;
2150 fra.me.meth = LOCATE_standard___kernel___Char___prec;
2151 fra.me.has_broke = 0;
2152 fra.me.REG_size = 0;
2153 fra.me.nitni_local_ref_head = NULL;
2154 REGB0 = p0;
2155 /* ../lib/standard/kernel.nit:391 */
2156 REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
2157 stack_frame_head = fra.me.prev;
2158 return REGB0;
2159 }
2160 static const char LOCATE_standard___kernel___Char___distance[] = "kernel::Char::(kernel::Discrete::distance)";
2161 val_t standard___kernel___Char___distance(val_t p0, val_t p1){
2162 struct {struct stack_frame_t me;} fra;
2163 val_t REGB0;
2164 val_t REGB1;
2165 val_t REGB2;
2166 val_t tmp;
2167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2168 fra.me.file = LOCATE_standard___kernel;
2169 fra.me.line = 393;
2170 fra.me.meth = LOCATE_standard___kernel___Char___distance;
2171 fra.me.has_broke = 0;
2172 fra.me.REG_size = 0;
2173 fra.me.nitni_local_ref_head = NULL;
2174 REGB0 = p0;
2175 REGB1 = p1;
2176 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2177 if (UNTAG_Bool(REGB2)) {
2178 } else {
2179 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2180 }
2181 /* ../lib/standard/kernel.nit:416 */
2182 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2183 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
2184 /* ../lib/standard/kernel.nit:240 */
2185 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
2186 /* ../lib/standard/kernel.nit:396 */
2187 REGB0 = TAG_Int(0);
2188 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
2189 if (UNTAG_Bool(REGB2)) {
2190 } else {
2191 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2192 }
2193 /* ../lib/standard/kernel.nit:236 */
2194 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
2195 /* ../lib/standard/kernel.nit:396 */
2196 if (UNTAG_Bool(REGB0)) {
2197 /* ../lib/standard/kernel.nit:397 */
2198 REGB0 = REGB1;
2199 goto label1;
2200 } else {
2201 /* ../lib/standard/kernel.nit:239 */
2202 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
2203 /* ../lib/standard/kernel.nit:399 */
2204 REGB0 = REGB1;
2205 goto label1;
2206 }
2207 label1: while(0);
2208 stack_frame_head = fra.me.prev;
2209 return REGB0;
2210 }
2211 static const char LOCATE_standard___kernel___Char___to_i[] = "kernel::Char::to_i";
2212 val_t standard___kernel___Char___to_i(val_t p0){
2213 struct {struct stack_frame_t me;} fra;
2214 val_t REGB0;
2215 val_t REGB1;
2216 val_t REGB2;
2217 val_t REGB3;
2218 val_t tmp;
2219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2220 fra.me.file = LOCATE_standard___kernel;
2221 fra.me.line = 403;
2222 fra.me.meth = LOCATE_standard___kernel___Char___to_i;
2223 fra.me.has_broke = 0;
2224 fra.me.REG_size = 0;
2225 fra.me.nitni_local_ref_head = NULL;
2226 REGB0 = p0;
2227 /* ../lib/standard/kernel.nit:407 */
2228 REGB1 = TAG_Char('-');
2229 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
2230 if (UNTAG_Bool(REGB2)) {
2231 } else {
2232 /* ../lib/standard/kernel.nit:381 */
2233 REGB1 = TAG_Bool((REGB0)==(REGB1));
2234 /* ../lib/standard/kernel.nit:407 */
2235 REGB2 = REGB1;
2236 }
2237 if (UNTAG_Bool(REGB2)) {
2238 /* ../lib/standard/kernel.nit:408 */
2239 REGB2 = TAG_Int(1);
2240 /* ../lib/standard/kernel.nit:239 */
2241 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
2242 /* ../lib/standard/kernel.nit:408 */
2243 goto label1;
2244 } else {
2245 /* ../lib/standard/kernel.nit:409 */
2246 REGB1 = CALL_standard___kernel___Char___is_digit(REGB0)(REGB0);
2247 if (UNTAG_Bool(REGB1)) {
2248 /* ../lib/standard/kernel.nit:416 */
2249 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2250 /* ../lib/standard/kernel.nit:410 */
2251 REGB3 = TAG_Char('0');
2252 /* ../lib/standard/kernel.nit:416 */
2253 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
2254 /* ../lib/standard/kernel.nit:240 */
2255 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
2256 /* ../lib/standard/kernel.nit:410 */
2257 REGB2 = REGB3;
2258 goto label1;
2259 } else {
2260 /* ../lib/standard/kernel.nit:412 */
2261 REGB0 = CALL_standard___kernel___Char___to_lower(REGB0)(REGB0);
2262 /* ../lib/standard/kernel.nit:416 */
2263 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2264 /* ../lib/standard/kernel.nit:412 */
2265 REGB3 = TAG_Char('a');
2266 /* ../lib/standard/kernel.nit:416 */
2267 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
2268 /* ../lib/standard/kernel.nit:412 */
2269 REGB1 = TAG_Int(10);
2270 /* ../lib/standard/kernel.nit:238 */
2271 REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
2272 /* ../lib/standard/kernel.nit:240 */
2273 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
2274 /* ../lib/standard/kernel.nit:412 */
2275 REGB2 = REGB1;
2276 goto label1;
2277 }
2278 }
2279 label1: while(0);
2280 stack_frame_head = fra.me.prev;
2281 return REGB2;
2282 }
2283 static const char LOCATE_standard___kernel___Char___ascii[] = "kernel::Char::ascii";
2284 val_t standard___kernel___Char___ascii(val_t p0){
2285 struct {struct stack_frame_t me;} fra;
2286 val_t REGB0;
2287 val_t tmp;
2288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2289 fra.me.file = LOCATE_standard___kernel;
2290 fra.me.line = 416;
2291 fra.me.meth = LOCATE_standard___kernel___Char___ascii;
2292 fra.me.has_broke = 0;
2293 fra.me.REG_size = 0;
2294 fra.me.nitni_local_ref_head = NULL;
2295 REGB0 = p0;
2296 /* ../lib/standard/kernel.nit:416 */
2297 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2298 stack_frame_head = fra.me.prev;
2299 return REGB0;
2300 }
2301 static const char LOCATE_standard___kernel___Char_____plus[] = "kernel::Char::(kernel::Discrete::+)";
2302 val_t standard___kernel___Char_____plus(val_t p0, val_t p1){
2303 struct {struct stack_frame_t me;} fra;
2304 val_t REGB0;
2305 val_t REGB1;
2306 val_t tmp;
2307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2308 fra.me.file = LOCATE_standard___kernel;
2309 fra.me.line = 419;
2310 fra.me.meth = LOCATE_standard___kernel___Char_____plus;
2311 fra.me.has_broke = 0;
2312 fra.me.REG_size = 0;
2313 fra.me.nitni_local_ref_head = NULL;
2314 REGB0 = p0;
2315 REGB1 = p1;
2316 /* ../lib/standard/kernel.nit:419 */
2317 REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
2318 stack_frame_head = fra.me.prev;
2319 return REGB1;
2320 }
2321 static const char LOCATE_standard___kernel___Char_____minus[] = "kernel::Char::(kernel::Discrete::-)";
2322 val_t standard___kernel___Char_____minus(val_t p0, val_t p1){
2323 struct {struct stack_frame_t me;} fra;
2324 val_t REGB0;
2325 val_t REGB1;
2326 val_t tmp;
2327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2328 fra.me.file = LOCATE_standard___kernel;
2329 fra.me.line = 420;
2330 fra.me.meth = LOCATE_standard___kernel___Char_____minus;
2331 fra.me.has_broke = 0;
2332 fra.me.REG_size = 0;
2333 fra.me.nitni_local_ref_head = NULL;
2334 REGB0 = p0;
2335 REGB1 = p1;
2336 /* ../lib/standard/kernel.nit:420 */
2337 REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
2338 stack_frame_head = fra.me.prev;
2339 return REGB1;
2340 }
2341 static const char LOCATE_standard___kernel___Char___to_lower[] = "kernel::Char::to_lower";
2342 val_t standard___kernel___Char___to_lower(val_t p0){
2343 struct {struct stack_frame_t me;} fra;
2344 val_t REGB0;
2345 val_t REGB1;
2346 val_t REGB2;
2347 val_t REGB3;
2348 val_t tmp;
2349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2350 fra.me.file = LOCATE_standard___kernel;
2351 fra.me.line = 422;
2352 fra.me.meth = LOCATE_standard___kernel___Char___to_lower;
2353 fra.me.has_broke = 0;
2354 fra.me.REG_size = 0;
2355 fra.me.nitni_local_ref_head = NULL;
2356 REGB0 = p0;
2357 /* ../lib/standard/kernel.nit:426 */
2358 REGB1 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
2359 if (UNTAG_Bool(REGB1)) {
2360 /* ../lib/standard/kernel.nit:416 */
2361 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2362 /* ../lib/standard/kernel.nit:427 */
2363 REGB2 = TAG_Char('a');
2364 REGB3 = TAG_Char('A');
2365 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
2366 /* ../lib/standard/kernel.nit:238 */
2367 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
2368 /* ../lib/standard/kernel.nit:300 */
2369 REGB3 = TAG_Char(UNTAG_Int(REGB3));
2370 /* ../lib/standard/kernel.nit:427 */
2371 goto label1;
2372 } else {
2373 /* ../lib/standard/kernel.nit:429 */
2374 REGB3 = REGB0;
2375 goto label1;
2376 }
2377 label1: while(0);
2378 stack_frame_head = fra.me.prev;
2379 return REGB3;
2380 }
2381 static const char LOCATE_standard___kernel___Char___to_upper[] = "kernel::Char::to_upper";
2382 val_t standard___kernel___Char___to_upper(val_t p0){
2383 struct {struct stack_frame_t me;} fra;
2384 val_t REGB0;
2385 val_t REGB1;
2386 val_t REGB2;
2387 val_t REGB3;
2388 val_t tmp;
2389 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2390 fra.me.file = LOCATE_standard___kernel;
2391 fra.me.line = 433;
2392 fra.me.meth = LOCATE_standard___kernel___Char___to_upper;
2393 fra.me.has_broke = 0;
2394 fra.me.REG_size = 0;
2395 fra.me.nitni_local_ref_head = NULL;
2396 REGB0 = p0;
2397 /* ../lib/standard/kernel.nit:437 */
2398 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
2399 if (UNTAG_Bool(REGB1)) {
2400 /* ../lib/standard/kernel.nit:416 */
2401 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2402 /* ../lib/standard/kernel.nit:438 */
2403 REGB2 = TAG_Char('a');
2404 REGB3 = TAG_Char('A');
2405 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
2406 /* ../lib/standard/kernel.nit:240 */
2407 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
2408 /* ../lib/standard/kernel.nit:300 */
2409 REGB3 = TAG_Char(UNTAG_Int(REGB3));
2410 /* ../lib/standard/kernel.nit:438 */
2411 goto label1;
2412 } else {
2413 /* ../lib/standard/kernel.nit:440 */
2414 REGB3 = REGB0;
2415 goto label1;
2416 }
2417 label1: while(0);
2418 stack_frame_head = fra.me.prev;
2419 return REGB3;
2420 }
2421 static const char LOCATE_standard___kernel___Char___is_digit[] = "kernel::Char::is_digit";
2422 val_t standard___kernel___Char___is_digit(val_t p0){
2423 struct {struct stack_frame_t me;} fra;
2424 val_t REGB0;
2425 val_t REGB1;
2426 val_t REGB2;
2427 val_t tmp;
2428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2429 fra.me.file = LOCATE_standard___kernel;
2430 fra.me.line = 444;
2431 fra.me.meth = LOCATE_standard___kernel___Char___is_digit;
2432 fra.me.has_broke = 0;
2433 fra.me.REG_size = 0;
2434 fra.me.nitni_local_ref_head = NULL;
2435 REGB0 = p0;
2436 /* ../lib/standard/kernel.nit:447 */
2437 REGB1 = TAG_Char('0');
2438 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2439 if (UNTAG_Bool(REGB2)) {
2440 } else {
2441 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2442 }
2443 /* ../lib/standard/kernel.nit:387 */
2444 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2445 /* ../lib/standard/kernel.nit:447 */
2446 if (UNTAG_Bool(REGB1)) {
2447 REGB1 = TAG_Char('9');
2448 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2449 if (UNTAG_Bool(REGB2)) {
2450 } else {
2451 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2452 }
2453 /* ../lib/standard/kernel.nit:385 */
2454 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2455 } else {
2456 /* ../lib/standard/kernel.nit:447 */
2457 REGB0 = TAG_Bool(0);
2458 REGB1 = REGB0;
2459 }
2460 goto label1;
2461 label1: while(0);
2462 stack_frame_head = fra.me.prev;
2463 return REGB1;
2464 }
2465 static const char LOCATE_standard___kernel___Char___is_lower[] = "kernel::Char::is_lower";
2466 val_t standard___kernel___Char___is_lower(val_t p0){
2467 struct {struct stack_frame_t me;} fra;
2468 val_t REGB0;
2469 val_t REGB1;
2470 val_t REGB2;
2471 val_t tmp;
2472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2473 fra.me.file = LOCATE_standard___kernel;
2474 fra.me.line = 450;
2475 fra.me.meth = LOCATE_standard___kernel___Char___is_lower;
2476 fra.me.has_broke = 0;
2477 fra.me.REG_size = 0;
2478 fra.me.nitni_local_ref_head = NULL;
2479 REGB0 = p0;
2480 /* ../lib/standard/kernel.nit:453 */
2481 REGB1 = TAG_Char('a');
2482 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2483 if (UNTAG_Bool(REGB2)) {
2484 } else {
2485 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2486 }
2487 /* ../lib/standard/kernel.nit:387 */
2488 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2489 /* ../lib/standard/kernel.nit:453 */
2490 if (UNTAG_Bool(REGB1)) {
2491 REGB1 = TAG_Char('z');
2492 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2493 if (UNTAG_Bool(REGB2)) {
2494 } else {
2495 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2496 }
2497 /* ../lib/standard/kernel.nit:385 */
2498 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2499 } else {
2500 /* ../lib/standard/kernel.nit:453 */
2501 REGB0 = TAG_Bool(0);
2502 REGB1 = REGB0;
2503 }
2504 goto label1;
2505 label1: while(0);
2506 stack_frame_head = fra.me.prev;
2507 return REGB1;
2508 }
2509 static const char LOCATE_standard___kernel___Char___is_upper[] = "kernel::Char::is_upper";
2510 val_t standard___kernel___Char___is_upper(val_t p0){
2511 struct {struct stack_frame_t me;} fra;
2512 val_t REGB0;
2513 val_t REGB1;
2514 val_t REGB2;
2515 val_t tmp;
2516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2517 fra.me.file = LOCATE_standard___kernel;
2518 fra.me.line = 456;
2519 fra.me.meth = LOCATE_standard___kernel___Char___is_upper;
2520 fra.me.has_broke = 0;
2521 fra.me.REG_size = 0;
2522 fra.me.nitni_local_ref_head = NULL;
2523 REGB0 = p0;
2524 /* ../lib/standard/kernel.nit:459 */
2525 REGB1 = TAG_Char('A');
2526 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2527 if (UNTAG_Bool(REGB2)) {
2528 } else {
2529 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2530 }
2531 /* ../lib/standard/kernel.nit:387 */
2532 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2533 /* ../lib/standard/kernel.nit:459 */
2534 if (UNTAG_Bool(REGB1)) {
2535 REGB1 = TAG_Char('Z');
2536 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2537 if (UNTAG_Bool(REGB2)) {
2538 } else {
2539 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2540 }
2541 /* ../lib/standard/kernel.nit:385 */
2542 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2543 } else {
2544 /* ../lib/standard/kernel.nit:459 */
2545 REGB0 = TAG_Bool(0);
2546 REGB1 = REGB0;
2547 }
2548 goto label1;
2549 label1: while(0);
2550 stack_frame_head = fra.me.prev;
2551 return REGB1;
2552 }
2553 static const char LOCATE_standard___kernel___Char___is_letter[] = "kernel::Char::is_letter";
2554 val_t standard___kernel___Char___is_letter(val_t p0){
2555 struct {struct stack_frame_t me;} fra;
2556 val_t REGB0;
2557 val_t REGB1;
2558 val_t tmp;
2559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2560 fra.me.file = LOCATE_standard___kernel;
2561 fra.me.line = 462;
2562 fra.me.meth = LOCATE_standard___kernel___Char___is_letter;
2563 fra.me.has_broke = 0;
2564 fra.me.REG_size = 0;
2565 fra.me.nitni_local_ref_head = NULL;
2566 REGB0 = p0;
2567 /* ../lib/standard/kernel.nit:465 */
2568 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
2569 if (UNTAG_Bool(REGB1)) {
2570 REGB1 = TAG_Bool(1);
2571 } else {
2572 REGB0 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
2573 REGB1 = REGB0;
2574 }
2575 goto label1;
2576 label1: while(0);
2577 stack_frame_head = fra.me.prev;
2578 return REGB1;
2579 }