c_src : Regenerated c_src to prevent use of String contructors
[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:436 */
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:239 */
117 printf("%ld\n", UNTAG_Int(REGB0));;
118 /* ../lib/standard/kernel.nit:56 */
119 REGB0 = TAG_Char('>');
120 /* ../lib/standard/kernel.nit:436 */
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:246 */
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:169 */
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:170 */
593 fra.me.REG[2] = fra.me.REG[0];
594 /* ../lib/standard/kernel.nit:171 */
595 fra.me.REG[3] = fra.me.REG[1];
596 } else {
597 /* ../lib/standard/kernel.nit:172 */
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:173 */
601 fra.me.REG[2] = fra.me.REG[1];
602 /* ../lib/standard/kernel.nit:174 */
603 fra.me.REG[3] = fra.me.REG[0];
604 } else {
605 /* ../lib/standard/kernel.nit:176 */
606 REGB0 = TAG_Int(0);
607 goto label1;
608 }
609 }
610 /* ../lib/standard/kernel.nit:179 */
611 REGB1 = TAG_Int(0);
612 /* ../lib/standard/kernel.nit:180 */
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:181 */
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:182 */
620 REGB2 = TAG_Int(1);
621 /* ../lib/standard/kernel.nit:245 */
622 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
623 /* ../lib/standard/kernel.nit:182 */
624 REGB1 = REGB2;
625 } else {
626 /* ../lib/standard/kernel.nit:180 */
627 goto label2;
628 }
629 }
630 label2: while(0);
631 /* ../lib/standard/kernel.nit:184 */
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 = 198;
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:198 */
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 = 199;
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:199 */
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 = 200;
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:200 */
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 = 201;
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:201 */
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 = 207;
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:207 */
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 = 208;
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:208 */
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 = 210;
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:210 */
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 = 211;
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:211 */
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 = 212;
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:212 */
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 = 213;
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:213 */
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 = 214;
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:214 */
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 = 215;
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:215 */
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 = 216;
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:216 */
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 = 217;
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:217 */
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 = 218;
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:218 */
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 = 220;
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:220 */
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 = 236;
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:236 */
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 = 237;
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:237 */
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 = 238;
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:238 */
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 = 239;
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:239 */
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 = 241;
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:241 */
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 = 242;
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:242 */
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 = 243;
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:243 */
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 = 244;
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:244 */
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 = 245;
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:245 */
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 = 246;
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:246 */
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 = 247;
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:247 */
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 = 248;
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:248 */
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 = 249;
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:249 */
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 = 250;
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:250 */
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 = 252;
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:252 */
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 = 257;
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:257 */
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 = 262;
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:262 */
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 = 268;
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:268 */
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 = 269;
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:269 */
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 = 270;
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:247 */
1367 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1368 /* ../lib/standard/kernel.nit:273 */
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:243 */
1376 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1377 /* ../lib/standard/kernel.nit:273 */
1378 if (UNTAG_Bool(REGB0)) {
1379 /* ../lib/standard/kernel.nit:274 */
1380 REGB0 = REGB1;
1381 goto label1;
1382 } else {
1383 /* ../lib/standard/kernel.nit:246 */
1384 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1385 /* ../lib/standard/kernel.nit:276 */
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 = 280;
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:242 */
1421 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1422 /* ../lib/standard/kernel.nit:282 */
1423 if (UNTAG_Bool(REGB2)) {
1424 /* ../lib/standard/kernel.nit:283 */
1425 REGB2 = TAG_Int(1);
1426 /* ../lib/standard/kernel.nit:246 */
1427 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1428 /* ../lib/standard/kernel.nit:283 */
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:242 */
1437 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1438 /* ../lib/standard/kernel.nit:284 */
1439 if (UNTAG_Bool(REGB0)) {
1440 /* ../lib/standard/kernel.nit:285 */
1441 REGB0 = TAG_Int(1);
1442 REGB2 = REGB0;
1443 goto label1;
1444 } else {
1445 /* ../lib/standard/kernel.nit:287 */
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 = 291;
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:242 */
1489 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1490 /* ../lib/standard/kernel.nit:293 */
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:242 */
1500 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
1501 /* ../lib/standard/kernel.nit:293 */
1502 REGB1 = REGB0;
1503 }
1504 if (UNTAG_Bool(REGB1)) {
1505 /* ../lib/standard/kernel.nit:294 */
1506 REGB1 = TAG_Bool(0);
1507 goto label1;
1508 } else {
1509 /* ../lib/standard/kernel.nit:296 */
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 = 300;
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:242 */
1545 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1546 /* ../lib/standard/kernel.nit:302 */
1547 if (UNTAG_Bool(REGB2)) {
1548 /* ../lib/standard/kernel.nit:303 */
1549 goto label1;
1550 } else {
1551 /* ../lib/standard/kernel.nit:305 */
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 = 309;
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:242 */
1586 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1587 /* ../lib/standard/kernel.nit:311 */
1588 if (UNTAG_Bool(REGB2)) {
1589 /* ../lib/standard/kernel.nit:312 */
1590 goto label1;
1591 } else {
1592 /* ../lib/standard/kernel.nit:314 */
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 = 318;
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:318 */
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 REGB6;
1628 val_t tmp;
1629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1630 fra.me.file = LOCATE_standard___kernel;
1631 fra.me.line = 324;
1632 fra.me.meth = LOCATE_standard___kernel___Int___digit_count;
1633 fra.me.has_broke = 0;
1634 fra.me.REG_size = 0;
1635 fra.me.nitni_local_ref_head = NULL;
1636 REGB0 = p0;
1637 REGB1 = p1;
1638 /* ../lib/standard/kernel.nit:330 */
1639 REGB2 = TAG_Int(10);
1640 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
1641 if (UNTAG_Bool(REGB3)) {
1642 } else {
1643 /* ../lib/standard/kernel.nit:237 */
1644 REGB2 = TAG_Bool((REGB1)==(REGB2));
1645 /* ../lib/standard/kernel.nit:330 */
1646 REGB3 = REGB2;
1647 }
1648 if (UNTAG_Bool(REGB3)) {
1649 REGB3 = CALL_standard___kernel___Int___digit_count_base_10(REGB0)(REGB0);
1650 goto label1;
1651 }
1652 /* ../lib/standard/kernel.nit:334 */
1653 REGB2 = TAG_Int(0);
1654 REGB4 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1655 if (UNTAG_Bool(REGB4)) {
1656 } else {
1657 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1658 }
1659 /* ../lib/standard/kernel.nit:242 */
1660 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
1661 /* ../lib/standard/kernel.nit:334 */
1662 if (UNTAG_Bool(REGB2)) {
1663 /* ../lib/standard/kernel.nit:335 */
1664 REGB2 = TAG_Int(1);
1665 /* ../lib/standard/kernel.nit:246 */
1666 REGB4 = TAG_Int(-UNTAG_Int(REGB0));
1667 } else {
1668 /* ../lib/standard/kernel.nit:337 */
1669 REGB5 = TAG_Int(0);
1670 REGB6 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB5));
1671 if (UNTAG_Bool(REGB6)) {
1672 } else {
1673 /* ../lib/standard/kernel.nit:237 */
1674 REGB5 = TAG_Bool((REGB0)==(REGB5));
1675 /* ../lib/standard/kernel.nit:337 */
1676 REGB6 = REGB5;
1677 }
1678 if (UNTAG_Bool(REGB6)) {
1679 /* ../lib/standard/kernel.nit:338 */
1680 REGB6 = TAG_Int(1);
1681 REGB3 = REGB6;
1682 goto label1;
1683 } else {
1684 /* ../lib/standard/kernel.nit:340 */
1685 REGB6 = TAG_Int(0);
1686 REGB2 = REGB6;
1687 /* ../lib/standard/kernel.nit:341 */
1688 REGB4 = REGB0;
1689 }
1690 }
1691 /* ../lib/standard/kernel.nit:344 */
1692 while(1) {
1693 REGB0 = TAG_Int(0);
1694 REGB6 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
1695 if (UNTAG_Bool(REGB6)) {
1696 } else {
1697 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1698 }
1699 /* ../lib/standard/kernel.nit:244 */
1700 REGB0 = TAG_Bool(UNTAG_Int(REGB4)>UNTAG_Int(REGB0));
1701 /* ../lib/standard/kernel.nit:344 */
1702 if (UNTAG_Bool(REGB0)) {
1703 /* ../lib/standard/kernel.nit:345 */
1704 REGB0 = TAG_Int(1);
1705 /* ../lib/standard/kernel.nit:245 */
1706 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
1707 /* ../lib/standard/kernel.nit:345 */
1708 REGB2 = REGB0;
1709 /* ../lib/standard/kernel.nit:249 */
1710 REGB0 = TAG_Int(UNTAG_Int(REGB4)/UNTAG_Int(REGB1));
1711 /* ../lib/standard/kernel.nit:346 */
1712 REGB4 = REGB0;
1713 } else {
1714 /* ../lib/standard/kernel.nit:344 */
1715 goto label2;
1716 }
1717 }
1718 label2: while(0);
1719 /* ../lib/standard/kernel.nit:348 */
1720 REGB3 = REGB2;
1721 goto label1;
1722 label1: while(0);
1723 stack_frame_head = fra.me.prev;
1724 return REGB3;
1725 }
1726 static const char LOCATE_standard___kernel___Int___digit_count_base_10[] = "kernel::Int::digit_count_base_10";
1727 val_t standard___kernel___Int___digit_count_base_10(val_t p0){
1728 struct {struct stack_frame_t me;} fra;
1729 val_t REGB0;
1730 val_t REGB1;
1731 val_t REGB2;
1732 val_t REGB3;
1733 val_t REGB4;
1734 val_t tmp;
1735 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1736 fra.me.file = LOCATE_standard___kernel;
1737 fra.me.line = 351;
1738 fra.me.meth = LOCATE_standard___kernel___Int___digit_count_base_10;
1739 fra.me.has_broke = 0;
1740 fra.me.REG_size = 0;
1741 fra.me.nitni_local_ref_head = NULL;
1742 REGB0 = p0;
1743 /* ../lib/standard/kernel.nit:356 */
1744 REGB1 = TAG_Int(0);
1745 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1746 if (UNTAG_Bool(REGB2)) {
1747 } else {
1748 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1749 }
1750 /* ../lib/standard/kernel.nit:242 */
1751 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1752 /* ../lib/standard/kernel.nit:356 */
1753 if (UNTAG_Bool(REGB1)) {
1754 /* ../lib/standard/kernel.nit:357 */
1755 REGB1 = TAG_Int(2);
1756 /* ../lib/standard/kernel.nit:246 */
1757 REGB2 = TAG_Int(-UNTAG_Int(REGB0));
1758 } else {
1759 /* ../lib/standard/kernel.nit:360 */
1760 REGB3 = TAG_Int(1);
1761 REGB1 = REGB3;
1762 /* ../lib/standard/kernel.nit:361 */
1763 REGB2 = REGB0;
1764 }
1765 /* ../lib/standard/kernel.nit:363 */
1766 while(1) {
1767 /* ../lib/standard/kernel.nit:364 */
1768 REGB0 = TAG_Int(10);
1769 REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
1770 if (UNTAG_Bool(REGB3)) {
1771 } else {
1772 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1773 }
1774 /* ../lib/standard/kernel.nit:242 */
1775 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
1776 /* ../lib/standard/kernel.nit:364 */
1777 if (UNTAG_Bool(REGB0)) {
1778 REGB0 = REGB1;
1779 goto label1;
1780 }
1781 /* ../lib/standard/kernel.nit:365 */
1782 REGB3 = TAG_Int(100);
1783 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
1784 if (UNTAG_Bool(REGB4)) {
1785 } else {
1786 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1787 }
1788 /* ../lib/standard/kernel.nit:242 */
1789 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
1790 /* ../lib/standard/kernel.nit:365 */
1791 if (UNTAG_Bool(REGB3)) {
1792 REGB3 = TAG_Int(1);
1793 /* ../lib/standard/kernel.nit:245 */
1794 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1795 /* ../lib/standard/kernel.nit:365 */
1796 REGB0 = REGB3;
1797 goto label1;
1798 }
1799 /* ../lib/standard/kernel.nit:366 */
1800 REGB3 = TAG_Int(1000);
1801 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
1802 if (UNTAG_Bool(REGB4)) {
1803 } else {
1804 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1805 }
1806 /* ../lib/standard/kernel.nit:242 */
1807 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
1808 /* ../lib/standard/kernel.nit:366 */
1809 if (UNTAG_Bool(REGB3)) {
1810 REGB3 = TAG_Int(2);
1811 /* ../lib/standard/kernel.nit:245 */
1812 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1813 /* ../lib/standard/kernel.nit:366 */
1814 REGB0 = REGB3;
1815 goto label1;
1816 }
1817 /* ../lib/standard/kernel.nit:367 */
1818 REGB3 = TAG_Int(10000);
1819 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
1820 if (UNTAG_Bool(REGB4)) {
1821 } else {
1822 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1823 }
1824 /* ../lib/standard/kernel.nit:242 */
1825 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
1826 /* ../lib/standard/kernel.nit:367 */
1827 if (UNTAG_Bool(REGB3)) {
1828 REGB3 = TAG_Int(3);
1829 /* ../lib/standard/kernel.nit:245 */
1830 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1831 /* ../lib/standard/kernel.nit:367 */
1832 REGB0 = REGB3;
1833 goto label1;
1834 }
1835 /* ../lib/standard/kernel.nit:368 */
1836 REGB3 = TAG_Int(10000);
1837 /* ../lib/standard/kernel.nit:249 */
1838 REGB3 = TAG_Int(UNTAG_Int(REGB2)/UNTAG_Int(REGB3));
1839 /* ../lib/standard/kernel.nit:368 */
1840 REGB2 = REGB3;
1841 /* ../lib/standard/kernel.nit:369 */
1842 REGB3 = TAG_Int(4);
1843 /* ../lib/standard/kernel.nit:245 */
1844 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1845 /* ../lib/standard/kernel.nit:369 */
1846 REGB1 = REGB3;
1847 }
1848 label1: while(0);
1849 stack_frame_head = fra.me.prev;
1850 return REGB0;
1851 }
1852 static const char LOCATE_standard___kernel___Int___to_c[] = "kernel::Int::to_c";
1853 val_t standard___kernel___Int___to_c(val_t p0){
1854 struct {struct stack_frame_t me;} fra;
1855 val_t REGB0;
1856 val_t REGB1;
1857 val_t REGB2;
1858 val_t REGB3;
1859 val_t tmp;
1860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1861 fra.me.file = LOCATE_standard___kernel;
1862 fra.me.line = 373;
1863 fra.me.meth = LOCATE_standard___kernel___Int___to_c;
1864 fra.me.has_broke = 0;
1865 fra.me.REG_size = 0;
1866 fra.me.nitni_local_ref_head = NULL;
1867 REGB0 = p0;
1868 /* ../lib/standard/kernel.nit:380 */
1869 REGB1 = TAG_Int(0);
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:243 */
1876 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1877 /* ../lib/standard/kernel.nit:380 */
1878 if (UNTAG_Bool(REGB1)) {
1879 REGB1 = TAG_Int(36);
1880 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1881 if (UNTAG_Bool(REGB2)) {
1882 } else {
1883 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1884 }
1885 /* ../lib/standard/kernel.nit:241 */
1886 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1887 } else {
1888 /* ../lib/standard/kernel.nit:380 */
1889 REGB2 = TAG_Bool(0);
1890 REGB1 = REGB2;
1891 }
1892 if (UNTAG_Bool(REGB1)) {
1893 } else {
1894 nit_abort("Assert failed", NULL, LOCATE_standard___kernel, 380);
1895 }
1896 /* ../lib/standard/kernel.nit:381 */
1897 REGB1 = TAG_Int(10);
1898 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1899 if (UNTAG_Bool(REGB2)) {
1900 } else {
1901 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1902 }
1903 /* ../lib/standard/kernel.nit:242 */
1904 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1905 /* ../lib/standard/kernel.nit:381 */
1906 if (UNTAG_Bool(REGB1)) {
1907 /* ../lib/standard/kernel.nit:382 */
1908 REGB1 = TAG_Char('0');
1909 /* ../lib/standard/kernel.nit:471 */
1910 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1911 /* ../lib/standard/kernel.nit:245 */
1912 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1913 /* ../lib/standard/kernel.nit:318 */
1914 REGB1 = TAG_Char(UNTAG_Int(REGB1));
1915 /* ../lib/standard/kernel.nit:382 */
1916 goto label1;
1917 } else {
1918 /* ../lib/standard/kernel.nit:384 */
1919 REGB2 = TAG_Char('a');
1920 /* ../lib/standard/kernel.nit:471 */
1921 REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
1922 /* ../lib/standard/kernel.nit:384 */
1923 REGB3 = TAG_Int(10);
1924 /* ../lib/standard/kernel.nit:247 */
1925 REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
1926 /* ../lib/standard/kernel.nit:245 */
1927 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
1928 /* ../lib/standard/kernel.nit:318 */
1929 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1930 /* ../lib/standard/kernel.nit:384 */
1931 REGB1 = REGB3;
1932 goto label1;
1933 }
1934 label1: while(0);
1935 stack_frame_head = fra.me.prev;
1936 return REGB1;
1937 }
1938 static const char LOCATE_standard___kernel___Int___enumerate_to[] = "kernel::Int::enumerate_to";
1939 void standard___kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1940 struct {struct stack_frame_t me;} fra;
1941 val_t REGB0;
1942 val_t REGB1;
1943 val_t REGB2;
1944 fun_t CREG[1];
1945 val_t tmp;
1946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1947 fra.me.file = LOCATE_standard___kernel;
1948 fra.me.line = 388;
1949 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_to;
1950 fra.me.has_broke = 0;
1951 fra.me.REG_size = 0;
1952 fra.me.nitni_local_ref_head = NULL;
1953 fra.me.closure_ctx = closctx_param;
1954 fra.me.closure_funs = CREG;
1955 REGB0 = p0;
1956 REGB1 = p1;
1957 CREG[0] = clos_fun0;
1958 /* ../lib/standard/kernel.nit:393 */
1959 while(1) {
1960 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1961 if (UNTAG_Bool(REGB2)) {
1962 } else {
1963 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1964 }
1965 /* ../lib/standard/kernel.nit:241 */
1966 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1967 /* ../lib/standard/kernel.nit:393 */
1968 if (UNTAG_Bool(REGB2)) {
1969 /* ../lib/standard/kernel.nit:394 */
1970 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
1971 if (closctx_param->has_broke) {
1972 goto label1;
1973 }
1974 /* ../lib/standard/kernel.nit:395 */
1975 REGB2 = TAG_Int(1);
1976 /* ../lib/standard/kernel.nit:245 */
1977 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1978 /* ../lib/standard/kernel.nit:395 */
1979 REGB0 = REGB2;
1980 } else {
1981 /* ../lib/standard/kernel.nit:393 */
1982 goto label2;
1983 }
1984 }
1985 label2: while(0);
1986 label1: while(0);
1987 stack_frame_head = fra.me.prev;
1988 return;
1989 }
1990 static const char LOCATE_standard___kernel___Int___enumerate_before[] = "kernel::Int::enumerate_before";
1991 void standard___kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1992 struct {struct stack_frame_t me;} fra;
1993 val_t REGB0;
1994 val_t REGB1;
1995 val_t REGB2;
1996 fun_t CREG[1];
1997 val_t tmp;
1998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1999 fra.me.file = LOCATE_standard___kernel;
2000 fra.me.line = 399;
2001 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_before;
2002 fra.me.has_broke = 0;
2003 fra.me.REG_size = 0;
2004 fra.me.nitni_local_ref_head = NULL;
2005 fra.me.closure_ctx = closctx_param;
2006 fra.me.closure_funs = CREG;
2007 REGB0 = p0;
2008 REGB1 = p1;
2009 CREG[0] = clos_fun0;
2010 /* ../lib/standard/kernel.nit:404 */
2011 while(1) {
2012 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2013 if (UNTAG_Bool(REGB2)) {
2014 } else {
2015 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2016 }
2017 /* ../lib/standard/kernel.nit:242 */
2018 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
2019 /* ../lib/standard/kernel.nit:404 */
2020 if (UNTAG_Bool(REGB2)) {
2021 /* ../lib/standard/kernel.nit:405 */
2022 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
2023 if (closctx_param->has_broke) {
2024 goto label1;
2025 }
2026 /* ../lib/standard/kernel.nit:406 */
2027 REGB2 = TAG_Int(1);
2028 /* ../lib/standard/kernel.nit:245 */
2029 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
2030 /* ../lib/standard/kernel.nit:406 */
2031 REGB0 = REGB2;
2032 } else {
2033 /* ../lib/standard/kernel.nit:404 */
2034 goto label2;
2035 }
2036 }
2037 label2: while(0);
2038 label1: while(0);
2039 stack_frame_head = fra.me.prev;
2040 return;
2041 }
2042 static const char LOCATE_standard___kernel___Int___abs[] = "kernel::Int::abs";
2043 val_t standard___kernel___Int___abs(val_t p0){
2044 struct {struct stack_frame_t me;} fra;
2045 val_t REGB0;
2046 val_t REGB1;
2047 val_t REGB2;
2048 val_t tmp;
2049 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2050 fra.me.file = LOCATE_standard___kernel;
2051 fra.me.line = 410;
2052 fra.me.meth = LOCATE_standard___kernel___Int___abs;
2053 fra.me.has_broke = 0;
2054 fra.me.REG_size = 0;
2055 fra.me.nitni_local_ref_head = NULL;
2056 REGB0 = p0;
2057 /* ../lib/standard/kernel.nit:417 */
2058 REGB1 = TAG_Int(0);
2059 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2060 if (UNTAG_Bool(REGB2)) {
2061 } else {
2062 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2063 }
2064 /* ../lib/standard/kernel.nit:243 */
2065 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
2066 /* ../lib/standard/kernel.nit:417 */
2067 if (UNTAG_Bool(REGB1)) {
2068 /* ../lib/standard/kernel.nit:419 */
2069 REGB1 = REGB0;
2070 goto label1;
2071 } else {
2072 /* ../lib/standard/kernel.nit:421 */
2073 REGB2 = TAG_Int(1);
2074 /* ../lib/standard/kernel.nit:246 */
2075 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
2076 /* ../lib/standard/kernel.nit:248 */
2077 REGB0 = TAG_Int(UNTAG_Int(REGB2)*UNTAG_Int(REGB0));
2078 /* ../lib/standard/kernel.nit:421 */
2079 REGB1 = REGB0;
2080 goto label1;
2081 }
2082 label1: while(0);
2083 stack_frame_head = fra.me.prev;
2084 return REGB1;
2085 }
2086 static const char LOCATE_standard___kernel___Char___object_id[] = "kernel::Char::(kernel::Object::object_id)";
2087 val_t standard___kernel___Char___object_id(val_t p0){
2088 struct {struct stack_frame_t me;} fra;
2089 val_t REGB0;
2090 val_t tmp;
2091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2092 fra.me.file = LOCATE_standard___kernel;
2093 fra.me.line = 433;
2094 fra.me.meth = LOCATE_standard___kernel___Char___object_id;
2095 fra.me.has_broke = 0;
2096 fra.me.REG_size = 0;
2097 fra.me.nitni_local_ref_head = NULL;
2098 REGB0 = p0;
2099 /* ../lib/standard/kernel.nit:433 */
2100 REGB0 = TAG_Int(UNTAG_Char(REGB0));
2101 stack_frame_head = fra.me.prev;
2102 return REGB0;
2103 }
2104 static const char LOCATE_standard___kernel___Char_____eqeq[] = "kernel::Char::(kernel::Object::==)";
2105 val_t standard___kernel___Char_____eqeq(val_t p0, val_t p1){
2106 struct {struct stack_frame_t me;} fra;
2107 val_t REGB0;
2108 val_t tmp;
2109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2110 fra.me.file = LOCATE_standard___kernel;
2111 fra.me.line = 434;
2112 fra.me.meth = LOCATE_standard___kernel___Char_____eqeq;
2113 fra.me.has_broke = 0;
2114 fra.me.REG_size = 1;
2115 fra.me.nitni_local_ref_head = NULL;
2116 fra.me.REG[0] = NIT_NULL;
2117 REGB0 = p0;
2118 fra.me.REG[0] = p1;
2119 /* ../lib/standard/kernel.nit:434 */
2120 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
2121 stack_frame_head = fra.me.prev;
2122 return REGB0;
2123 }
2124 static const char LOCATE_standard___kernel___Char_____neq[] = "kernel::Char::(kernel::Object::!=)";
2125 val_t standard___kernel___Char_____neq(val_t p0, val_t p1){
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 = 435;
2132 fra.me.meth = LOCATE_standard___kernel___Char_____neq;
2133 fra.me.has_broke = 0;
2134 fra.me.REG_size = 1;
2135 fra.me.nitni_local_ref_head = NULL;
2136 fra.me.REG[0] = NIT_NULL;
2137 REGB0 = p0;
2138 fra.me.REG[0] = p1;
2139 /* ../lib/standard/kernel.nit:435 */
2140 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
2141 stack_frame_head = fra.me.prev;
2142 return REGB0;
2143 }
2144 static const char LOCATE_standard___kernel___Char___output[] = "kernel::Char::(kernel::Object::output)";
2145 void standard___kernel___Char___output(val_t p0){
2146 struct {struct stack_frame_t me;} fra;
2147 val_t REGB0;
2148 val_t tmp;
2149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2150 fra.me.file = LOCATE_standard___kernel;
2151 fra.me.line = 436;
2152 fra.me.meth = LOCATE_standard___kernel___Char___output;
2153 fra.me.has_broke = 0;
2154 fra.me.REG_size = 0;
2155 fra.me.nitni_local_ref_head = NULL;
2156 REGB0 = p0;
2157 /* ../lib/standard/kernel.nit:436 */
2158 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
2159 stack_frame_head = fra.me.prev;
2160 return;
2161 }
2162 static const char LOCATE_standard___kernel___Char_____leq[] = "kernel::Char::(kernel::Comparable::<=)";
2163 val_t standard___kernel___Char_____leq(val_t p0, val_t p1){
2164 struct {struct stack_frame_t me;} fra;
2165 val_t REGB0;
2166 val_t REGB1;
2167 val_t REGB2;
2168 val_t tmp;
2169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2170 fra.me.file = LOCATE_standard___kernel;
2171 fra.me.line = 438;
2172 fra.me.meth = LOCATE_standard___kernel___Char_____leq;
2173 fra.me.has_broke = 0;
2174 fra.me.REG_size = 0;
2175 fra.me.nitni_local_ref_head = NULL;
2176 REGB0 = p0;
2177 REGB1 = p1;
2178 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2179 if (UNTAG_Bool(REGB2)) {
2180 } else {
2181 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2182 }
2183 /* ../lib/standard/kernel.nit:438 */
2184 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2185 stack_frame_head = fra.me.prev;
2186 return REGB1;
2187 }
2188 static const char LOCATE_standard___kernel___Char_____l[] = "kernel::Char::(kernel::Comparable::<)";
2189 val_t standard___kernel___Char_____l(val_t p0, val_t p1){
2190 struct {struct stack_frame_t me;} fra;
2191 val_t REGB0;
2192 val_t REGB1;
2193 val_t REGB2;
2194 val_t tmp;
2195 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2196 fra.me.file = LOCATE_standard___kernel;
2197 fra.me.line = 439;
2198 fra.me.meth = LOCATE_standard___kernel___Char_____l;
2199 fra.me.has_broke = 0;
2200 fra.me.REG_size = 0;
2201 fra.me.nitni_local_ref_head = NULL;
2202 REGB0 = p0;
2203 REGB1 = p1;
2204 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2205 if (UNTAG_Bool(REGB2)) {
2206 } else {
2207 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2208 }
2209 /* ../lib/standard/kernel.nit:439 */
2210 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
2211 stack_frame_head = fra.me.prev;
2212 return REGB1;
2213 }
2214 static const char LOCATE_standard___kernel___Char_____geq[] = "kernel::Char::(kernel::Comparable::>=)";
2215 val_t standard___kernel___Char_____geq(val_t p0, val_t p1){
2216 struct {struct stack_frame_t me;} fra;
2217 val_t REGB0;
2218 val_t REGB1;
2219 val_t REGB2;
2220 val_t tmp;
2221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2222 fra.me.file = LOCATE_standard___kernel;
2223 fra.me.line = 440;
2224 fra.me.meth = LOCATE_standard___kernel___Char_____geq;
2225 fra.me.has_broke = 0;
2226 fra.me.REG_size = 0;
2227 fra.me.nitni_local_ref_head = NULL;
2228 REGB0 = p0;
2229 REGB1 = p1;
2230 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2231 if (UNTAG_Bool(REGB2)) {
2232 } else {
2233 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2234 }
2235 /* ../lib/standard/kernel.nit:440 */
2236 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2237 stack_frame_head = fra.me.prev;
2238 return REGB1;
2239 }
2240 static const char LOCATE_standard___kernel___Char_____g[] = "kernel::Char::(kernel::Comparable::>)";
2241 val_t standard___kernel___Char_____g(val_t p0, val_t p1){
2242 struct {struct stack_frame_t me;} fra;
2243 val_t REGB0;
2244 val_t REGB1;
2245 val_t REGB2;
2246 val_t tmp;
2247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2248 fra.me.file = LOCATE_standard___kernel;
2249 fra.me.line = 441;
2250 fra.me.meth = LOCATE_standard___kernel___Char_____g;
2251 fra.me.has_broke = 0;
2252 fra.me.REG_size = 0;
2253 fra.me.nitni_local_ref_head = NULL;
2254 REGB0 = p0;
2255 REGB1 = p1;
2256 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2257 if (UNTAG_Bool(REGB2)) {
2258 } else {
2259 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2260 }
2261 /* ../lib/standard/kernel.nit:441 */
2262 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
2263 stack_frame_head = fra.me.prev;
2264 return REGB1;
2265 }
2266 static const char LOCATE_standard___kernel___Char___succ[] = "kernel::Char::(kernel::Discrete::succ)";
2267 val_t standard___kernel___Char___succ(val_t p0){
2268 struct {struct stack_frame_t me;} fra;
2269 val_t REGB0;
2270 val_t tmp;
2271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2272 fra.me.file = LOCATE_standard___kernel;
2273 fra.me.line = 443;
2274 fra.me.meth = LOCATE_standard___kernel___Char___succ;
2275 fra.me.has_broke = 0;
2276 fra.me.REG_size = 0;
2277 fra.me.nitni_local_ref_head = NULL;
2278 REGB0 = p0;
2279 /* ../lib/standard/kernel.nit:443 */
2280 REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
2281 stack_frame_head = fra.me.prev;
2282 return REGB0;
2283 }
2284 static const char LOCATE_standard___kernel___Char___prec[] = "kernel::Char::(kernel::Discrete::prec)";
2285 val_t standard___kernel___Char___prec(val_t p0){
2286 struct {struct stack_frame_t me;} fra;
2287 val_t REGB0;
2288 val_t tmp;
2289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2290 fra.me.file = LOCATE_standard___kernel;
2291 fra.me.line = 444;
2292 fra.me.meth = LOCATE_standard___kernel___Char___prec;
2293 fra.me.has_broke = 0;
2294 fra.me.REG_size = 0;
2295 fra.me.nitni_local_ref_head = NULL;
2296 REGB0 = p0;
2297 /* ../lib/standard/kernel.nit:444 */
2298 REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
2299 stack_frame_head = fra.me.prev;
2300 return REGB0;
2301 }
2302 static const char LOCATE_standard___kernel___Char___distance[] = "kernel::Char::(kernel::Discrete::distance)";
2303 val_t standard___kernel___Char___distance(val_t p0, val_t p1){
2304 struct {struct stack_frame_t me;} fra;
2305 val_t REGB0;
2306 val_t REGB1;
2307 val_t REGB2;
2308 val_t tmp;
2309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2310 fra.me.file = LOCATE_standard___kernel;
2311 fra.me.line = 446;
2312 fra.me.meth = LOCATE_standard___kernel___Char___distance;
2313 fra.me.has_broke = 0;
2314 fra.me.REG_size = 0;
2315 fra.me.nitni_local_ref_head = NULL;
2316 REGB0 = p0;
2317 REGB1 = p1;
2318 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2319 if (UNTAG_Bool(REGB2)) {
2320 } else {
2321 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2322 }
2323 /* ../lib/standard/kernel.nit:471 */
2324 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2325 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
2326 /* ../lib/standard/kernel.nit:247 */
2327 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
2328 /* ../lib/standard/kernel.nit:449 */
2329 REGB0 = TAG_Int(0);
2330 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
2331 if (UNTAG_Bool(REGB2)) {
2332 } else {
2333 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2334 }
2335 /* ../lib/standard/kernel.nit:243 */
2336 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
2337 /* ../lib/standard/kernel.nit:449 */
2338 if (UNTAG_Bool(REGB0)) {
2339 /* ../lib/standard/kernel.nit:450 */
2340 REGB0 = REGB1;
2341 goto label1;
2342 } else {
2343 /* ../lib/standard/kernel.nit:246 */
2344 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
2345 /* ../lib/standard/kernel.nit:452 */
2346 REGB0 = REGB1;
2347 goto label1;
2348 }
2349 label1: while(0);
2350 stack_frame_head = fra.me.prev;
2351 return REGB0;
2352 }
2353 static const char LOCATE_standard___kernel___Char___to_i[] = "kernel::Char::to_i";
2354 val_t standard___kernel___Char___to_i(val_t p0){
2355 struct {struct stack_frame_t me;} fra;
2356 val_t REGB0;
2357 val_t REGB1;
2358 val_t REGB2;
2359 val_t REGB3;
2360 val_t tmp;
2361 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2362 fra.me.file = LOCATE_standard___kernel;
2363 fra.me.line = 456;
2364 fra.me.meth = LOCATE_standard___kernel___Char___to_i;
2365 fra.me.has_broke = 0;
2366 fra.me.REG_size = 0;
2367 fra.me.nitni_local_ref_head = NULL;
2368 REGB0 = p0;
2369 /* ../lib/standard/kernel.nit:462 */
2370 REGB1 = TAG_Char('-');
2371 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
2372 if (UNTAG_Bool(REGB2)) {
2373 } else {
2374 /* ../lib/standard/kernel.nit:434 */
2375 REGB1 = TAG_Bool((REGB0)==(REGB1));
2376 /* ../lib/standard/kernel.nit:462 */
2377 REGB2 = REGB1;
2378 }
2379 if (UNTAG_Bool(REGB2)) {
2380 /* ../lib/standard/kernel.nit:463 */
2381 REGB2 = TAG_Int(1);
2382 /* ../lib/standard/kernel.nit:246 */
2383 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
2384 /* ../lib/standard/kernel.nit:463 */
2385 goto label1;
2386 } else {
2387 /* ../lib/standard/kernel.nit:464 */
2388 REGB1 = CALL_standard___kernel___Char___is_digit(REGB0)(REGB0);
2389 if (UNTAG_Bool(REGB1)) {
2390 /* ../lib/standard/kernel.nit:471 */
2391 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2392 /* ../lib/standard/kernel.nit:465 */
2393 REGB3 = TAG_Char('0');
2394 /* ../lib/standard/kernel.nit:471 */
2395 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
2396 /* ../lib/standard/kernel.nit:247 */
2397 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
2398 /* ../lib/standard/kernel.nit:465 */
2399 REGB2 = REGB3;
2400 goto label1;
2401 } else {
2402 /* ../lib/standard/kernel.nit:467 */
2403 REGB0 = CALL_standard___kernel___Char___to_lower(REGB0)(REGB0);
2404 /* ../lib/standard/kernel.nit:471 */
2405 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2406 /* ../lib/standard/kernel.nit:467 */
2407 REGB3 = TAG_Char('a');
2408 /* ../lib/standard/kernel.nit:471 */
2409 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
2410 /* ../lib/standard/kernel.nit:467 */
2411 REGB1 = TAG_Int(10);
2412 /* ../lib/standard/kernel.nit:245 */
2413 REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
2414 /* ../lib/standard/kernel.nit:247 */
2415 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
2416 /* ../lib/standard/kernel.nit:467 */
2417 REGB2 = REGB1;
2418 goto label1;
2419 }
2420 }
2421 label1: while(0);
2422 stack_frame_head = fra.me.prev;
2423 return REGB2;
2424 }
2425 static const char LOCATE_standard___kernel___Char___ascii[] = "kernel::Char::ascii";
2426 val_t standard___kernel___Char___ascii(val_t p0){
2427 struct {struct stack_frame_t me;} fra;
2428 val_t REGB0;
2429 val_t tmp;
2430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2431 fra.me.file = LOCATE_standard___kernel;
2432 fra.me.line = 471;
2433 fra.me.meth = LOCATE_standard___kernel___Char___ascii;
2434 fra.me.has_broke = 0;
2435 fra.me.REG_size = 0;
2436 fra.me.nitni_local_ref_head = NULL;
2437 REGB0 = p0;
2438 /* ../lib/standard/kernel.nit:471 */
2439 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2440 stack_frame_head = fra.me.prev;
2441 return REGB0;
2442 }
2443 static const char LOCATE_standard___kernel___Char_____plus[] = "kernel::Char::(kernel::Discrete::+)";
2444 val_t standard___kernel___Char_____plus(val_t p0, val_t p1){
2445 struct {struct stack_frame_t me;} fra;
2446 val_t REGB0;
2447 val_t REGB1;
2448 val_t tmp;
2449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2450 fra.me.file = LOCATE_standard___kernel;
2451 fra.me.line = 477;
2452 fra.me.meth = LOCATE_standard___kernel___Char_____plus;
2453 fra.me.has_broke = 0;
2454 fra.me.REG_size = 0;
2455 fra.me.nitni_local_ref_head = NULL;
2456 REGB0 = p0;
2457 REGB1 = p1;
2458 /* ../lib/standard/kernel.nit:477 */
2459 REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
2460 stack_frame_head = fra.me.prev;
2461 return REGB1;
2462 }
2463 static const char LOCATE_standard___kernel___Char_____minus[] = "kernel::Char::(kernel::Discrete::-)";
2464 val_t standard___kernel___Char_____minus(val_t p0, val_t p1){
2465 struct {struct stack_frame_t me;} fra;
2466 val_t REGB0;
2467 val_t REGB1;
2468 val_t tmp;
2469 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2470 fra.me.file = LOCATE_standard___kernel;
2471 fra.me.line = 478;
2472 fra.me.meth = LOCATE_standard___kernel___Char_____minus;
2473 fra.me.has_broke = 0;
2474 fra.me.REG_size = 0;
2475 fra.me.nitni_local_ref_head = NULL;
2476 REGB0 = p0;
2477 REGB1 = p1;
2478 /* ../lib/standard/kernel.nit:478 */
2479 REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
2480 stack_frame_head = fra.me.prev;
2481 return REGB1;
2482 }
2483 static const char LOCATE_standard___kernel___Char___to_lower[] = "kernel::Char::to_lower";
2484 val_t standard___kernel___Char___to_lower(val_t p0){
2485 struct {struct stack_frame_t me;} fra;
2486 val_t REGB0;
2487 val_t REGB1;
2488 val_t REGB2;
2489 val_t REGB3;
2490 val_t tmp;
2491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2492 fra.me.file = LOCATE_standard___kernel;
2493 fra.me.line = 480;
2494 fra.me.meth = LOCATE_standard___kernel___Char___to_lower;
2495 fra.me.has_broke = 0;
2496 fra.me.REG_size = 0;
2497 fra.me.nitni_local_ref_head = NULL;
2498 REGB0 = p0;
2499 /* ../lib/standard/kernel.nit:488 */
2500 REGB1 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
2501 if (UNTAG_Bool(REGB1)) {
2502 /* ../lib/standard/kernel.nit:471 */
2503 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2504 /* ../lib/standard/kernel.nit:489 */
2505 REGB2 = TAG_Char('a');
2506 REGB3 = TAG_Char('A');
2507 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
2508 /* ../lib/standard/kernel.nit:245 */
2509 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
2510 /* ../lib/standard/kernel.nit:318 */
2511 REGB3 = TAG_Char(UNTAG_Int(REGB3));
2512 /* ../lib/standard/kernel.nit:489 */
2513 goto label1;
2514 } else {
2515 /* ../lib/standard/kernel.nit:491 */
2516 REGB3 = REGB0;
2517 goto label1;
2518 }
2519 label1: while(0);
2520 stack_frame_head = fra.me.prev;
2521 return REGB3;
2522 }
2523 static const char LOCATE_standard___kernel___Char___to_upper[] = "kernel::Char::to_upper";
2524 val_t standard___kernel___Char___to_upper(val_t p0){
2525 struct {struct stack_frame_t me;} fra;
2526 val_t REGB0;
2527 val_t REGB1;
2528 val_t REGB2;
2529 val_t REGB3;
2530 val_t tmp;
2531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2532 fra.me.file = LOCATE_standard___kernel;
2533 fra.me.line = 495;
2534 fra.me.meth = LOCATE_standard___kernel___Char___to_upper;
2535 fra.me.has_broke = 0;
2536 fra.me.REG_size = 0;
2537 fra.me.nitni_local_ref_head = NULL;
2538 REGB0 = p0;
2539 /* ../lib/standard/kernel.nit:503 */
2540 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
2541 if (UNTAG_Bool(REGB1)) {
2542 /* ../lib/standard/kernel.nit:471 */
2543 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
2544 /* ../lib/standard/kernel.nit:504 */
2545 REGB2 = TAG_Char('a');
2546 REGB3 = TAG_Char('A');
2547 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
2548 /* ../lib/standard/kernel.nit:247 */
2549 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
2550 /* ../lib/standard/kernel.nit:318 */
2551 REGB3 = TAG_Char(UNTAG_Int(REGB3));
2552 /* ../lib/standard/kernel.nit:504 */
2553 goto label1;
2554 } else {
2555 /* ../lib/standard/kernel.nit:506 */
2556 REGB3 = REGB0;
2557 goto label1;
2558 }
2559 label1: while(0);
2560 stack_frame_head = fra.me.prev;
2561 return REGB3;
2562 }
2563 static const char LOCATE_standard___kernel___Char___is_digit[] = "kernel::Char::is_digit";
2564 val_t standard___kernel___Char___is_digit(val_t p0){
2565 struct {struct stack_frame_t me;} fra;
2566 val_t REGB0;
2567 val_t REGB1;
2568 val_t REGB2;
2569 val_t tmp;
2570 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2571 fra.me.file = LOCATE_standard___kernel;
2572 fra.me.line = 510;
2573 fra.me.meth = LOCATE_standard___kernel___Char___is_digit;
2574 fra.me.has_broke = 0;
2575 fra.me.REG_size = 0;
2576 fra.me.nitni_local_ref_head = NULL;
2577 REGB0 = p0;
2578 /* ../lib/standard/kernel.nit:517 */
2579 REGB1 = TAG_Char('0');
2580 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2581 if (UNTAG_Bool(REGB2)) {
2582 } else {
2583 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2584 }
2585 /* ../lib/standard/kernel.nit:440 */
2586 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2587 /* ../lib/standard/kernel.nit:517 */
2588 if (UNTAG_Bool(REGB1)) {
2589 REGB1 = TAG_Char('9');
2590 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2591 if (UNTAG_Bool(REGB2)) {
2592 } else {
2593 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2594 }
2595 /* ../lib/standard/kernel.nit:438 */
2596 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2597 } else {
2598 /* ../lib/standard/kernel.nit:517 */
2599 REGB0 = TAG_Bool(0);
2600 REGB1 = REGB0;
2601 }
2602 goto label1;
2603 label1: while(0);
2604 stack_frame_head = fra.me.prev;
2605 return REGB1;
2606 }
2607 static const char LOCATE_standard___kernel___Char___is_lower[] = "kernel::Char::is_lower";
2608 val_t standard___kernel___Char___is_lower(val_t p0){
2609 struct {struct stack_frame_t me;} fra;
2610 val_t REGB0;
2611 val_t REGB1;
2612 val_t REGB2;
2613 val_t tmp;
2614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2615 fra.me.file = LOCATE_standard___kernel;
2616 fra.me.line = 520;
2617 fra.me.meth = LOCATE_standard___kernel___Char___is_lower;
2618 fra.me.has_broke = 0;
2619 fra.me.REG_size = 0;
2620 fra.me.nitni_local_ref_head = NULL;
2621 REGB0 = p0;
2622 /* ../lib/standard/kernel.nit:528 */
2623 REGB1 = TAG_Char('a');
2624 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2625 if (UNTAG_Bool(REGB2)) {
2626 } else {
2627 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2628 }
2629 /* ../lib/standard/kernel.nit:440 */
2630 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2631 /* ../lib/standard/kernel.nit:528 */
2632 if (UNTAG_Bool(REGB1)) {
2633 REGB1 = TAG_Char('z');
2634 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2635 if (UNTAG_Bool(REGB2)) {
2636 } else {
2637 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2638 }
2639 /* ../lib/standard/kernel.nit:438 */
2640 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2641 } else {
2642 /* ../lib/standard/kernel.nit:528 */
2643 REGB0 = TAG_Bool(0);
2644 REGB1 = REGB0;
2645 }
2646 goto label1;
2647 label1: while(0);
2648 stack_frame_head = fra.me.prev;
2649 return REGB1;
2650 }
2651 static const char LOCATE_standard___kernel___Char___is_upper[] = "kernel::Char::is_upper";
2652 val_t standard___kernel___Char___is_upper(val_t p0){
2653 struct {struct stack_frame_t me;} fra;
2654 val_t REGB0;
2655 val_t REGB1;
2656 val_t REGB2;
2657 val_t tmp;
2658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2659 fra.me.file = LOCATE_standard___kernel;
2660 fra.me.line = 531;
2661 fra.me.meth = LOCATE_standard___kernel___Char___is_upper;
2662 fra.me.has_broke = 0;
2663 fra.me.REG_size = 0;
2664 fra.me.nitni_local_ref_head = NULL;
2665 REGB0 = p0;
2666 /* ../lib/standard/kernel.nit:539 */
2667 REGB1 = TAG_Char('A');
2668 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2669 if (UNTAG_Bool(REGB2)) {
2670 } else {
2671 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2672 }
2673 /* ../lib/standard/kernel.nit:440 */
2674 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2675 /* ../lib/standard/kernel.nit:539 */
2676 if (UNTAG_Bool(REGB1)) {
2677 REGB1 = TAG_Char('Z');
2678 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
2679 if (UNTAG_Bool(REGB2)) {
2680 } else {
2681 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
2682 }
2683 /* ../lib/standard/kernel.nit:438 */
2684 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2685 } else {
2686 /* ../lib/standard/kernel.nit:539 */
2687 REGB0 = TAG_Bool(0);
2688 REGB1 = REGB0;
2689 }
2690 goto label1;
2691 label1: while(0);
2692 stack_frame_head = fra.me.prev;
2693 return REGB1;
2694 }
2695 static const char LOCATE_standard___kernel___Char___is_letter[] = "kernel::Char::is_letter";
2696 val_t standard___kernel___Char___is_letter(val_t p0){
2697 struct {struct stack_frame_t me;} fra;
2698 val_t REGB0;
2699 val_t REGB1;
2700 val_t tmp;
2701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2702 fra.me.file = LOCATE_standard___kernel;
2703 fra.me.line = 542;
2704 fra.me.meth = LOCATE_standard___kernel___Char___is_letter;
2705 fra.me.has_broke = 0;
2706 fra.me.REG_size = 0;
2707 fra.me.nitni_local_ref_head = NULL;
2708 REGB0 = p0;
2709 /* ../lib/standard/kernel.nit:550 */
2710 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
2711 if (UNTAG_Bool(REGB1)) {
2712 REGB1 = TAG_Bool(1);
2713 } else {
2714 REGB0 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
2715 REGB1 = REGB0;
2716 }
2717 goto label1;
2718 label1: while(0);
2719 stack_frame_head = fra.me.prev;
2720 return REGB1;
2721 }