use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / standard___kernel._sep.c
diff --git a/c_src/standard___kernel._sep.c b/c_src/standard___kernel._sep.c
deleted file mode 100644 (file)
index 291f53b..0000000
+++ /dev/null
@@ -1,2489 +0,0 @@
-/* This C file is generated by NIT to compile module standard___kernel. */
-#include "standard___kernel._sep.h"
-val_t standard___kernel___Object___object_id(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 28;
-  fra.me.meth = LOCATE_standard___kernel___Object___object_id;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:28 */
-  REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Object___is_same_type(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 33;
-  fra.me.meth = LOCATE_standard___kernel___Object___is_same_type;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:33 */
-  REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1])));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Object_____eqeq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 37;
-  fra.me.meth = LOCATE_standard___kernel___Object_____eqeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:41 */
-  REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Object_____neq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 43;
-  fra.me.meth = LOCATE_standard___kernel___Object_____neq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:46 */
-  REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    REGB0 = REGB1;
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___kernel___Object___output(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 48;
-  fra.me.meth = LOCATE_standard___kernel___Object___output;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:52 */
-  REGB0 = TAG_Char('<');
-  /* ./../lib/standard//kernel.nit:380 */
-  printf("%c", (unsigned char)UNTAG_Char(REGB0));;
-  /* ./../lib/standard//kernel.nit:53 */
-  REGB0 = CALL_standard___kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//kernel.nit:229 */
-  printf("%ld\n", UNTAG_Int(REGB0));;
-  /* ./../lib/standard//kernel.nit:54 */
-  REGB0 = TAG_Char('>');
-  /* ./../lib/standard//kernel.nit:380 */
-  printf("%c", (unsigned char)UNTAG_Char(REGB0));;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___kernel___Object___output_class_name(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 57;
-  fra.me.meth = LOCATE_standard___kernel___Object___output_class_name;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:57 */
-  printf("%s\n", VAL2VFT(fra.me.REG[0])[2].cname);;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___kernel___Object___exit(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 61;
-  fra.me.meth = LOCATE_standard___kernel___Object___exit;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = p1;
-  /* ./../lib/standard//kernel.nit:61 */
-  exit(UNTAG_Int(REGB0));;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Object___sys(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 64;
-  fra.me.meth = LOCATE_standard___kernel___Object___sys;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:64 */
-  fra.me.REG[0] = (G_sys);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___kernel___Sys___main(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 72;
-  fra.me.meth = LOCATE_standard___kernel___Sys___main;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___kernel___Sys___init(val_t p0, int* init_table){
-  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___kernel___Sys].i;
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  if (init_table[itpos0]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 0;
-  fra.me.meth = LOCATE_standard___kernel___Sys___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  stack_frame_head = fra.me.prev;
-  init_table[itpos0] = 1;
-  return;
-}
-val_t standard___kernel___Comparable_____l(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 86;
-  fra.me.meth = LOCATE_standard___kernel___Comparable_____l;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:86 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 86);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___kernel___Comparable_____leq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 89;
-  fra.me.meth = LOCATE_standard___kernel___Comparable_____leq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:91 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Comparable_____geq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 93;
-  fra.me.meth = LOCATE_standard___kernel___Comparable_____geq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:95 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Comparable_____g(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 97;
-  fra.me.meth = LOCATE_standard___kernel___Comparable_____g;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:98 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Comparable_____leqg(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 100;
-  fra.me.meth = LOCATE_standard___kernel___Comparable_____leqg;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:104 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:105 */
-    REGB0 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./../lib/standard//kernel.nit:105 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:106 */
-    REGB1 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    if (UNTAG_Bool(REGB1)) {
-      /* ./../lib/standard//kernel.nit:107 */
-      REGB1 = TAG_Int(1);
-      REGB0 = REGB1;
-      goto label1;
-    } else {
-      /* ./../lib/standard//kernel.nit:109 */
-      REGB1 = TAG_Int(0);
-      REGB0 = REGB1;
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 113;
-  fra.me.meth = LOCATE_standard___kernel___Comparable___is_between;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  fra.me.REG[2] = p2;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:116 */
-  REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-  } else {
-    REGB1 = TAG_Bool(false);
-    REGB0 = REGB1;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Comparable___max(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 119;
-  fra.me.meth = LOCATE_standard___kernel___Comparable___max;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:122 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:123 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:125 */
-    fra.me.REG[1] = fra.me.REG[0];
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Comparable___min(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 129;
-  fra.me.meth = LOCATE_standard___kernel___Comparable___min;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:132 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:133 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:135 */
-    fra.me.REG[1] = fra.me.REG[0];
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Discrete___succ(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 146;
-  fra.me.meth = LOCATE_standard___kernel___Discrete___succ;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:147 */
-  REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_standard___kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___kernel___Discrete___prec(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 149;
-  fra.me.meth = LOCATE_standard___kernel___Discrete___prec;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:150 */
-  REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_standard___kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___kernel___Discrete_____plus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 152;
-  fra.me.meth = LOCATE_standard___kernel___Discrete_____plus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//kernel.nit:152 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 152);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___kernel___Discrete_____minus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 155;
-  fra.me.meth = LOCATE_standard___kernel___Discrete_____minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//kernel.nit:155 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 155);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___kernel___Discrete___distance(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 158;
-  fra.me.meth = LOCATE_standard___kernel___Discrete___distance;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[3] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  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*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:165 */
-  REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:166 */
-    fra.me.REG[2] = fra.me.REG[0];
-    /* ./../lib/standard//kernel.nit:167 */
-    fra.me.REG[3] = fra.me.REG[1];
-  } else {
-    /* ./../lib/standard//kernel.nit:168 */
-    REGB0 = CALL_standard___kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//kernel.nit:169 */
-      fra.me.REG[2] = fra.me.REG[1];
-      /* ./../lib/standard//kernel.nit:170 */
-      fra.me.REG[3] = fra.me.REG[0];
-    } else {
-      /* ./../lib/standard//kernel.nit:172 */
-      REGB0 = TAG_Int(0);
-      goto label1;
-    }
-  }
-  /* ./../lib/standard//kernel.nit:175 */
-  REGB1 = TAG_Int(0);
-  /* ./../lib/standard//kernel.nit:176 */
-  while(1) {
-    REGB2 = CALL_standard___kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-    if (UNTAG_Bool(REGB2)) {
-      /* ./../lib/standard//kernel.nit:177 */
-      fra.me.REG[0] = CALL_standard___kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
-      fra.me.REG[2] = fra.me.REG[0];
-      /* ./../lib/standard//kernel.nit:178 */
-      REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:178 */
-      REGB1 = REGB2;
-    } else {
-      /* ./../lib/standard//kernel.nit:176 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  /* ./../lib/standard//kernel.nit:180 */
-  REGB0 = REGB1;
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Bool___object_id(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 194;
-  fra.me.meth = LOCATE_standard___kernel___Bool___object_id;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:194 */
-  REGB0 = TAG_Int(UNTAG_Bool(REGB0));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Bool_____eqeq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 195;
-  fra.me.meth = LOCATE_standard___kernel___Bool_____eqeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:195 */
-  REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Bool_____neq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 196;
-  fra.me.meth = LOCATE_standard___kernel___Bool_____neq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:196 */
-  REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___kernel___Bool___output(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 197;
-  fra.me.meth = LOCATE_standard___kernel___Bool___output;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:197 */
-  (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Float___object_id(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 203;
-  fra.me.meth = LOCATE_standard___kernel___Float___object_id;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:203 */
-  REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___kernel___Float___output(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 204;
-  fra.me.meth = LOCATE_standard___kernel___Float___output;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:204 */
-  printf("%f\n", UNBOX_Float(fra.me.REG[0]));;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Float_____leq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 206;
-  fra.me.meth = LOCATE_standard___kernel___Float_____leq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:206 */
-  REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Float_____l(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 207;
-  fra.me.meth = LOCATE_standard___kernel___Float_____l;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:207 */
-  REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Float_____geq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 208;
-  fra.me.meth = LOCATE_standard___kernel___Float_____geq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:208 */
-  REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>=UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Float_____g(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 209;
-  fra.me.meth = LOCATE_standard___kernel___Float_____g;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:209 */
-  REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Float_____plus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 210;
-  fra.me.meth = LOCATE_standard___kernel___Float_____plus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:210 */
-  fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Float___unary__minus(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 211;
-  fra.me.meth = LOCATE_standard___kernel___Float___unary__minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:211 */
-  fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___kernel___Float_____minus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 212;
-  fra.me.meth = LOCATE_standard___kernel___Float_____minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:212 */
-  fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Float_____star(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 213;
-  fra.me.meth = LOCATE_standard___kernel___Float_____star;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:213 */
-  fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Float_____slash(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 214;
-  fra.me.meth = LOCATE_standard___kernel___Float_____slash;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//kernel.nit:214 */
-  fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1]));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___kernel___Float___to_i(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 216;
-  fra.me.meth = LOCATE_standard___kernel___Float___to_i;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//kernel.nit:216 */
-  REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int___object_id(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 226;
-  fra.me.meth = LOCATE_standard___kernel___Int___object_id;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:226 */
-  REGB0 = REGB0;
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int_____eqeq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 227;
-  fra.me.meth = LOCATE_standard___kernel___Int_____eqeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:227 */
-  REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int_____neq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 228;
-  fra.me.meth = LOCATE_standard___kernel___Int_____neq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:228 */
-  REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___kernel___Int___output(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 229;
-  fra.me.meth = LOCATE_standard___kernel___Int___output;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:229 */
-  printf("%ld\n", UNTAG_Int(REGB0));;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Int_____leq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 231;
-  fra.me.meth = LOCATE_standard___kernel___Int_____leq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:231 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____l(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 232;
-  fra.me.meth = LOCATE_standard___kernel___Int_____l;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____geq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 233;
-  fra.me.meth = LOCATE_standard___kernel___Int_____geq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:233 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____g(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 234;
-  fra.me.meth = LOCATE_standard___kernel___Int_____g;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:234 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____plus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 235;
-  fra.me.meth = LOCATE_standard___kernel___Int_____plus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:235 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___unary__minus(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 236;
-  fra.me.meth = LOCATE_standard___kernel___Int___unary__minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:236 */
-  REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int_____minus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 237;
-  fra.me.meth = LOCATE_standard___kernel___Int_____minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:237 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____star(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 238;
-  fra.me.meth = LOCATE_standard___kernel___Int_____star;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:238 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____slash(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 239;
-  fra.me.meth = LOCATE_standard___kernel___Int_____slash;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:239 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int_____percent(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 240;
-  fra.me.meth = LOCATE_standard___kernel___Int_____percent;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:240 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___lshift(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 241;
-  fra.me.meth = LOCATE_standard___kernel___Int___lshift;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:241 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)<<UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___rshift(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 242;
-  fra.me.meth = LOCATE_standard___kernel___Int___rshift;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:242 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)>>UNTAG_Int(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___to_f(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 244;
-  fra.me.meth = LOCATE_standard___kernel___Int___to_f;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:244 */
-  fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0));
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___kernel___Int___succ(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 247;
-  fra.me.meth = LOCATE_standard___kernel___Int___succ;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:247 */
-  REGB0 = TAG_Int(UNTAG_Int(REGB0)+1);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int___prec(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 248;
-  fra.me.meth = LOCATE_standard___kernel___Int___prec;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:248 */
-  REGB0 = TAG_Int(UNTAG_Int(REGB0)-1);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int___distance(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 249;
-  fra.me.meth = LOCATE_standard___kernel___Int___distance;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:237 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:252 */
-  REGB0 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:233 */
-  REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
-  /* ./../lib/standard//kernel.nit:252 */
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:253 */
-    REGB0 = REGB1;
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB1 = TAG_Int(-UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:255 */
-    REGB0 = REGB1;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int_____leqg(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 259;
-  fra.me.meth = LOCATE_standard___kernel___Int_____leqg;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:261 */
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//kernel.nit:262 */
-    REGB2 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB2 = TAG_Int(-UNTAG_Int(REGB2));
-    /* ./../lib/standard//kernel.nit:262 */
-    goto label1;
-  } else {
-    REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB3)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:232 */
-    REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
-    /* ./../lib/standard//kernel.nit:263 */
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//kernel.nit:264 */
-      REGB0 = TAG_Int(1);
-      REGB2 = REGB0;
-      goto label1;
-    } else {
-      /* ./../lib/standard//kernel.nit:266 */
-      REGB0 = TAG_Int(0);
-      REGB2 = REGB0;
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB2;
-}
-val_t standard___kernel___Int___is_between(val_t p0, val_t p1, val_t p2){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 270;
-  fra.me.meth = LOCATE_standard___kernel___Int___is_between;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = p2;
-  REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB3)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB3)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB3)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:272 */
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(true);
-  } else {
-    REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB3)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:232 */
-    REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
-    /* ./../lib/standard//kernel.nit:272 */
-    REGB1 = REGB0;
-  }
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//kernel.nit:273 */
-    REGB1 = TAG_Bool(false);
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:275 */
-    REGB0 = TAG_Bool(true);
-    REGB1 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___max(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 279;
-  fra.me.meth = LOCATE_standard___kernel___Int___max;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:281 */
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//kernel.nit:282 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:284 */
-    REGB1 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___min(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 288;
-  fra.me.meth = LOCATE_standard___kernel___Int___min;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
-  /* ./../lib/standard//kernel.nit:290 */
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//kernel.nit:291 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:293 */
-    REGB1 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Int___ascii(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 297;
-  fra.me.meth = LOCATE_standard___kernel___Int___ascii;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:297 */
-  REGB0 = TAG_Char(UNTAG_Int(REGB0));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Int___digit_count(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t REGB4;
-  val_t REGB5;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 300;
-  fra.me.meth = LOCATE_standard___kernel___Int___digit_count;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:306 */
-  REGB2 = TAG_Int(0);
-  REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB3)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
-  /* ./../lib/standard//kernel.nit:306 */
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//kernel.nit:307 */
-    REGB2 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB3 = TAG_Int(-UNTAG_Int(REGB0));
-  } else {
-    /* ./../lib/standard//kernel.nit:309 */
-    REGB4 = TAG_Int(0);
-    REGB5 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
-    if (UNTAG_Bool(REGB5)) {
-    } else {
-      /* ./../lib/standard//kernel.nit:227 */
-      REGB4 = TAG_Bool((REGB0)==(REGB4));
-      /* ./../lib/standard//kernel.nit:309 */
-      REGB5 = REGB4;
-    }
-    if (UNTAG_Bool(REGB5)) {
-      /* ./../lib/standard//kernel.nit:310 */
-      REGB5 = TAG_Int(1);
-      goto label1;
-    } else {
-      /* ./../lib/standard//kernel.nit:312 */
-      REGB4 = TAG_Int(0);
-      REGB2 = REGB4;
-      /* ./../lib/standard//kernel.nit:313 */
-      REGB3 = REGB0;
-    }
-  }
-  /* ./../lib/standard//kernel.nit:316 */
-  while(1) {
-    REGB0 = TAG_Int(0);
-    REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB4)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:234 */
-    REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0));
-    /* ./../lib/standard//kernel.nit:316 */
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//kernel.nit:317 */
-      REGB0 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
-      /* ./../lib/standard//kernel.nit:317 */
-      REGB2 = REGB0;
-      /* ./../lib/standard//kernel.nit:239 */
-      REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:318 */
-      REGB3 = REGB0;
-    } else {
-      /* ./../lib/standard//kernel.nit:316 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  /* ./../lib/standard//kernel.nit:320 */
-  REGB5 = REGB2;
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB5;
-}
-val_t standard___kernel___Int___to_c(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 323;
-  fra.me.meth = LOCATE_standard___kernel___Int___to_c;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:328 */
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:233 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:328 */
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Int(36);
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:231 */
-    REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
-  } else {
-    /* ./../lib/standard//kernel.nit:328 */
-    REGB2 = TAG_Bool(false);
-    REGB1 = REGB2;
-  }
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    nit_abort("Assert failed", NULL, LOCATE_standard___kernel, 328);
-  }
-  /* ./../lib/standard//kernel.nit:329 */
-  REGB1 = TAG_Int(10);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:232 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:329 */
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//kernel.nit:330 */
-    REGB1 = TAG_Char('0');
-    /* ./../lib/standard//kernel.nit:413 */
-    REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
-    /* ./../lib/standard//kernel.nit:235 */
-    REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:297 */
-    REGB1 = TAG_Char(UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:330 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:332 */
-    REGB2 = TAG_Char('a');
-    /* ./../lib/standard//kernel.nit:413 */
-    REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
-    /* ./../lib/standard//kernel.nit:332 */
-    REGB3 = TAG_Int(10);
-    /* ./../lib/standard//kernel.nit:237 */
-    REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:235 */
-    REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:297 */
-    REGB3 = TAG_Char(UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:332 */
-    REGB1 = REGB3;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-void standard___kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  fun_t CREG[1];
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 336;
-  fra.me.meth = LOCATE_standard___kernel___Int___enumerate_to;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.closure_ctx = closctx_param;
-  fra.me.closure_funs = CREG;
-  REGB0 = p0;
-  REGB1 = p1;
-  CREG[0] = clos_fun0;
-  /* ./../lib/standard//kernel.nit:341 */
-  while(1) {
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:231 */
-    REGB2 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:341 */
-    if (UNTAG_Bool(REGB2)) {
-      /* ./../lib/standard//kernel.nit:342 */
-      ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
-      if (closctx_param->has_broke) {
-        goto label1;
-      }
-      /* ./../lib/standard//kernel.nit:343 */
-      REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:343 */
-      REGB0 = REGB2;
-    } else {
-      /* ./../lib/standard//kernel.nit:341 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  fun_t CREG[1];
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 347;
-  fra.me.meth = LOCATE_standard___kernel___Int___enumerate_before;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.closure_ctx = closctx_param;
-  fra.me.closure_funs = CREG;
-  REGB0 = p0;
-  REGB1 = p1;
-  CREG[0] = clos_fun0;
-  /* ./../lib/standard//kernel.nit:352 */
-  while(1) {
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:232 */
-    REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:352 */
-    if (UNTAG_Bool(REGB2)) {
-      /* ./../lib/standard//kernel.nit:353 */
-      ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
-      if (closctx_param->has_broke) {
-        goto label1;
-      }
-      /* ./../lib/standard//kernel.nit:354 */
-      REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:354 */
-      REGB0 = REGB2;
-    } else {
-      /* ./../lib/standard//kernel.nit:352 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Int___abs(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 358;
-  fra.me.meth = LOCATE_standard___kernel___Int___abs;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:361 */
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:233 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:361 */
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//kernel.nit:363 */
-    REGB1 = REGB0;
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:365 */
-    REGB2 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB2 = TAG_Int(-UNTAG_Int(REGB2));
-    /* ./../lib/standard//kernel.nit:238 */
-    REGB0 = TAG_Int(UNTAG_Int(REGB2)*UNTAG_Int(REGB0));
-    /* ./../lib/standard//kernel.nit:365 */
-    REGB1 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___object_id(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 377;
-  fra.me.meth = LOCATE_standard___kernel___Char___object_id;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:377 */
-  REGB0 = TAG_Int(UNTAG_Char(REGB0));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char_____eqeq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 378;
-  fra.me.meth = LOCATE_standard___kernel___Char_____eqeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:378 */
-  REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char_____neq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 379;
-  fra.me.meth = LOCATE_standard___kernel___Char_____neq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  REGB0 = p0;
-  fra.me.REG[0] = p1;
-  /* ./../lib/standard//kernel.nit:379 */
-  REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___kernel___Char___output(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 380;
-  fra.me.meth = LOCATE_standard___kernel___Char___output;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:380 */
-  printf("%c", (unsigned char)UNTAG_Char(REGB0));;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___kernel___Char_____leq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 382;
-  fra.me.meth = LOCATE_standard___kernel___Char_____leq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:382 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char_____l(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 383;
-  fra.me.meth = LOCATE_standard___kernel___Char_____l;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:383 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char_____geq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 384;
-  fra.me.meth = LOCATE_standard___kernel___Char_____geq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:384 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char_____g(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 385;
-  fra.me.meth = LOCATE_standard___kernel___Char_____g;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:385 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___succ(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 387;
-  fra.me.meth = LOCATE_standard___kernel___Char___succ;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:387 */
-  REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char___prec(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 388;
-  fra.me.meth = LOCATE_standard___kernel___Char___prec;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:388 */
-  REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char___distance(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 390;
-  fra.me.meth = LOCATE_standard___kernel___Char___distance;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:413 */
-  REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-  REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
-  /* ./../lib/standard//kernel.nit:237 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  /* ./../lib/standard//kernel.nit:393 */
-  REGB0 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:233 */
-  REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
-  /* ./../lib/standard//kernel.nit:393 */
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//kernel.nit:394 */
-    REGB0 = REGB1;
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB1 = TAG_Int(-UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:396 */
-    REGB0 = REGB1;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char___to_i(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 400;
-  fra.me.meth = LOCATE_standard___kernel___Char___to_i;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:404 */
-  REGB1 = TAG_Char('-');
-  REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    /* ./../lib/standard//kernel.nit:378 */
-    REGB1 = TAG_Bool((REGB0)==(REGB1));
-    /* ./../lib/standard//kernel.nit:404 */
-    REGB2 = REGB1;
-  }
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//kernel.nit:405 */
-    REGB2 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:236 */
-    REGB2 = TAG_Int(-UNTAG_Int(REGB2));
-    /* ./../lib/standard//kernel.nit:405 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:406 */
-    REGB1 = CALL_standard___kernel___Char___is_digit(REGB0)(REGB0);
-    if (UNTAG_Bool(REGB1)) {
-      /* ./../lib/standard//kernel.nit:413 */
-      REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-      /* ./../lib/standard//kernel.nit:407 */
-      REGB3 = TAG_Char('0');
-      /* ./../lib/standard//kernel.nit:413 */
-      REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
-      /* ./../lib/standard//kernel.nit:237 */
-      REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
-      /* ./../lib/standard//kernel.nit:407 */
-      REGB2 = REGB3;
-      goto label1;
-    } else {
-      /* ./../lib/standard//kernel.nit:409 */
-      REGB0 = CALL_standard___kernel___Char___to_lower(REGB0)(REGB0);
-      /* ./../lib/standard//kernel.nit:413 */
-      REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-      /* ./../lib/standard//kernel.nit:409 */
-      REGB3 = TAG_Char('a');
-      /* ./../lib/standard//kernel.nit:413 */
-      REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
-      /* ./../lib/standard//kernel.nit:409 */
-      REGB1 = TAG_Int(10);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:237 */
-      REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:409 */
-      REGB2 = REGB1;
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB2;
-}
-val_t standard___kernel___Char___ascii(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 413;
-  fra.me.meth = LOCATE_standard___kernel___Char___ascii;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:413 */
-  REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___kernel___Char_____plus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 416;
-  fra.me.meth = LOCATE_standard___kernel___Char_____plus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:416 */
-  REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char_____minus(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 417;
-  fra.me.meth = LOCATE_standard___kernel___Char_____minus;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  REGB1 = p1;
-  /* ./../lib/standard//kernel.nit:417 */
-  REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___to_lower(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 419;
-  fra.me.meth = LOCATE_standard___kernel___Char___to_lower;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:423 */
-  REGB1 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//kernel.nit:413 */
-    REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-    /* ./../lib/standard//kernel.nit:424 */
-    REGB2 = TAG_Char('a');
-    REGB3 = TAG_Char('A');
-    REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
-    /* ./../lib/standard//kernel.nit:235 */
-    REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:297 */
-    REGB3 = TAG_Char(UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:424 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:426 */
-    REGB3 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB3;
-}
-val_t standard___kernel___Char___to_upper(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 430;
-  fra.me.meth = LOCATE_standard___kernel___Char___to_upper;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:434 */
-  REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//kernel.nit:413 */
-    REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
-    /* ./../lib/standard//kernel.nit:435 */
-    REGB2 = TAG_Char('a');
-    REGB3 = TAG_Char('A');
-    REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
-    /* ./../lib/standard//kernel.nit:237 */
-    REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:297 */
-    REGB3 = TAG_Char(UNTAG_Int(REGB3));
-    /* ./../lib/standard//kernel.nit:435 */
-    goto label1;
-  } else {
-    /* ./../lib/standard//kernel.nit:437 */
-    REGB3 = REGB0;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB3;
-}
-val_t standard___kernel___Char___is_digit(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 441;
-  fra.me.meth = LOCATE_standard___kernel___Char___is_digit;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:444 */
-  REGB1 = TAG_Char('0');
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:384 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
-  /* ./../lib/standard//kernel.nit:444 */
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Char('9');
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:382 */
-    REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
-  } else {
-    /* ./../lib/standard//kernel.nit:444 */
-    REGB0 = TAG_Bool(false);
-    REGB1 = REGB0;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___is_lower(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 447;
-  fra.me.meth = LOCATE_standard___kernel___Char___is_lower;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:450 */
-  REGB1 = TAG_Char('a');
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:384 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
-  /* ./../lib/standard//kernel.nit:450 */
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Char('z');
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:382 */
-    REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
-  } else {
-    /* ./../lib/standard//kernel.nit:450 */
-    REGB0 = TAG_Bool(false);
-    REGB1 = REGB0;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___is_upper(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 453;
-  fra.me.meth = LOCATE_standard___kernel___Char___is_upper;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:456 */
-  REGB1 = TAG_Char('A');
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:384 */
-  REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
-  /* ./../lib/standard//kernel.nit:456 */
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Char('Z');
-    REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-    }
-    /* ./../lib/standard//kernel.nit:382 */
-    REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
-  } else {
-    /* ./../lib/standard//kernel.nit:456 */
-    REGB0 = TAG_Bool(false);
-    REGB1 = REGB0;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}
-val_t standard___kernel___Char___is_letter(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___kernel;
-  fra.me.line = 459;
-  fra.me.meth = LOCATE_standard___kernel___Char___is_letter;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  REGB0 = p0;
-  /* ./../lib/standard//kernel.nit:462 */
-  REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(true);
-  } else {
-    REGB0 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
-    REGB1 = REGB0;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB1;
-}