+/* method kernel#Int#object_id for (self: Int): Int */
+long standard___standard__Int___Object__object_id(long self) {
+long var /* : Int */;
+var = self;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#object_id for (self: Object): Int */
+long VIRTUAL_standard___standard__Int___Object__object_id(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+{ /* Inline kernel#Int#object_id (self) on <self:Object(Int)> */
+var3 = (long)(self)>>2;
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#hash for (self: Int): Int */
+long standard___standard__Int___Object__hash(long self) {
+long var /* : Int */;
+var = self;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#hash for (self: Object): Int */
+long VIRTUAL_standard___standard__Int___Object__hash(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var2 /* : Int */;
+var2 = (long)(self)>>2;
+var1 = standard___standard__Int___Object__hash(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#== for (self: Int, nullable Object): Bool */
+short int standard___standard__Int___Object___61d_61d(long self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+long var2 /* : Int */;
+var2 = (long)(p0)>>2;
+var1 = (p0 != NULL) && (var2 == self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#== for (self: Object, nullable Object): Bool */
+short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+{ /* Inline kernel#Int#== (self,p0) on <self:Object(Int)> */
+var3 = self == p0;
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#!= for (self: Int, nullable Object): Bool */
+short int standard___standard__Int___Object___33d_61d(long self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+long var2 /* : Int */;
+short int var3 /* : Bool */;
+var2 = (long)(p0)>>2;
+var1 = (p0 != NULL) && (var2 == self);
+var3 = !var1;
+var = var3;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#!= for (self: Object, nullable Object): Bool */
+short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+short int var4 /* : Bool */;
+{ /* Inline kernel#Int#!= (self,p0) on <self:Object(Int)> */
+var3 = self == p0;
+var4 = !var3;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#<= for (self: Int, Int): Bool */
+short int standard___standard__Int___Comparable___60d_61d(long self, long p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var2 /* : Bool */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+fatal_exit(1);
+}
+var2 = self <= p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#<= for (self: Comparable, Comparable): Bool */
+short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+{ /* Inline kernel#Int#<= (self,p0) on <self:Comparable(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
+/* <p0:Comparable> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 <= var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#< for (self: Int, Int): Bool */
+short int standard___standard__Int___Comparable___60d(long self, long p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var2 /* : Bool */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var2 = self < p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#< for (self: Comparable, Comparable): Bool */
+short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+{ /* Inline kernel#Int#< (self,p0) on <self:Comparable(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
+/* <p0:Comparable> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 < var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#>= for (self: Int, Int): Bool */
+short int standard___standard__Int___Comparable___62d_61d(long self, long p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var2 /* : Bool */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
+}
+var2 = self >= p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#>= for (self: Comparable, Comparable): Bool */
+short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+{ /* Inline kernel#Int#>= (self,p0) on <self:Comparable(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
+/* <p0:Comparable> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 >= var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#> for (self: Int, Int): Bool */
+short int standard___standard__Int___Comparable___62d(long self, long p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var2 /* : Bool */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
+}
+var2 = self > p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#> for (self: Comparable, Comparable): Bool */
+short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+{ /* Inline kernel#Int#> (self,p0) on <self:Comparable(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
+/* <p0:Comparable> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 > var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#+ for (self: Int, Int): Int */
+long standard___standard__Int___Numeric___43d(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var2 /* : Int */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var2 = self + p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */
+val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) {
+val* var /* : Numeric */;
+long var1 /* : Int */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+long var6 /* : Int */;
+val* var7 /* : Numeric */;
+{ /* Inline kernel#Int#+ (self,p0) on <self:Numeric(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
+/* <p0:Numeric> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 + var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var7 = (val*)(var1<<2|1);
+var = var7;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#unary - for (self: Int): Int */
+long standard___standard__Int___Numeric__unary_32d_45d(long self) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = -self;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#unary - for (self: Numeric): Numeric */
+val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) {
+val* var /* : Numeric */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+long var4 /* : Int */;
+val* var5 /* : Numeric */;
+{ /* Inline kernel#Int#unary - (self) on <self:Numeric(Int)> */
+var3 = (long)(self)>>2;
+var4 = -var3;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var5 = (val*)(var1<<2|1);
+var = var5;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#- for (self: Int, Int): Int */
+long standard___standard__Int___Numeric___45d(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var2 /* : Int */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var2 = self - p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#- for (self: Numeric, Numeric): Numeric */
+val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) {
+val* var /* : Numeric */;
+long var1 /* : Int */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+long var6 /* : Int */;
+val* var7 /* : Numeric */;
+{ /* Inline kernel#Int#- (self,p0) on <self:Numeric(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
+/* <p0:Numeric> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 - var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var7 = (val*)(var1<<2|1);
+var = var7;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#* for (self: Int, Int): Int */
+long standard___standard__Int___Numeric___42d(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var2 /* : Int */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+fatal_exit(1);
+}
+var2 = self * p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#* for (self: Numeric, Numeric): Numeric */
+val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) {
+val* var /* : Numeric */;
+long var1 /* : Int */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+long var6 /* : Int */;
+val* var7 /* : Numeric */;
+{ /* Inline kernel#Int#* (self,p0) on <self:Numeric(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
+/* <p0:Numeric> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 * var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var7 = (val*)(var1<<2|1);
+var = var7;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#/ for (self: Int, Int): Int */
+long standard___standard__Int___Numeric___47d(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var2 /* : Int */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+fatal_exit(1);
+}
+var2 = self / p0;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */
+val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) {
+val* var /* : Numeric */;
+long var1 /* : Int */;
+short int var3 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var4 /* : Int */;
+long var5 /* : Int */;
+long var6 /* : Int */;
+val* var7 /* : Numeric */;
+{ /* Inline kernel#Int#/ (self,p0) on <self:Numeric(Int)> */
+/* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
+/* <p0:Numeric> isa OTHER */
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var3 = 0;
+} else {
+var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var3)) {
+var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+fatal_exit(1);
+}
+var4 = (long)(self)>>2;
+var5 = (long)(p0)>>2;
+var6 = var4 / var5;
+var1 = var6;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var7 = (val*)(var1<<2|1);
+var = var7;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#% for (self: Int, Int): Int */
+long standard___standard__Int____37d(long self, long p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self % p0;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#lshift for (self: Int, Int): Int */
+long standard___standard__Int___lshift(long self, long p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self << p0;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_i for (self: Int): Int */
+long standard___standard__Int___Numeric__to_i(long self) {
+long var /* : Int */;
+var = self;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_i for (self: Numeric): Int */
+long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var2 /* : Int */;
+var2 = (long)(self)>>2;
+var1 = standard___standard__Int___Numeric__to_i(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_f for (self: Int): Float */
+double standard___standard__Int___Numeric__to_f(long self) {
+double var /* : Float */;
+double var1 /* : Float */;
+var1 = (double)self;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_f for (self: Numeric): Float */
+double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) {
+double var /* : Float */;
+double var1 /* : Float */;
+long var3 /* : Int */;
+double var4 /* : Float */;
+{ /* Inline kernel#Int#to_f (self) on <self:Numeric(Int)> */
+var3 = (long)(self)>>2;
+var4 = (double)var3;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_b for (self: Int): Byte */
+unsigned char standard___standard__Int___Numeric__to_b(long self) {
+unsigned char var /* : Byte */;
+unsigned char var1 /* : Byte */;
+var1 = (unsigned char)self;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#to_b for (self: Numeric): Byte */
+unsigned char VIRTUAL_standard___standard__Int___Numeric__to_b(val* self) {
+unsigned char var /* : Byte */;
+unsigned char var1 /* : Byte */;
+long var3 /* : Int */;
+unsigned char var4 /* : Byte */;
+{ /* Inline kernel#Int#to_b (self) on <self:Numeric(Int)> */
+var3 = (long)(self)>>2;
+var4 = (unsigned char)var3;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#distance for (self: Int, Int): Int */
+long standard___standard__Int___Discrete__distance(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var_i /* var i: Int */;
+long var2 /* : Int */;
+short int var4 /* : Bool */;
+int cltype5;
+int idtype6;
+const char* var_class_name7;
+long var8 /* : Int */;
+long var_d /* var d: Int */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+int cltype12;
+int idtype13;
+const char* var_class_name14;
+short int var15 /* : Bool */;
+long var16 /* : Int */;
+long var18 /* : Int */;
+/* Covariant cast for argument 0 (i) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 575);
+fatal_exit(1);
+}
+var_i = p0;
+{
+{ /* Inline kernel#Int#- (self,var_i) on <self:Int> */
+/* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
+/* <var_i:Int> isa OTHER */
+var4 = 1; /* easy <var_i:Int> isa OTHER*/
+if (unlikely(!var4)) {
+var_class_name7 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var8 = self - var_i;
+var2 = var8;
+goto RET_LABEL3;
+RET_LABEL3:(void)0;
+}
+}
+var_d = var2;
+{
+{ /* Inline kernel#Int#>= (var_d,0l) on <var_d:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var11 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var11)) {
+var_class_name14 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
+}
+var15 = var_d >= 0l;
+var9 = var15;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+if (var9){
+var = var_d;
+goto RET_LABEL;
+} else {
+{
+{ /* Inline kernel#Int#unary - (var_d) on <var_d:Int> */
+var18 = -var_d;
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+}
+var = var16;
+goto RET_LABEL;
+}
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#distance for (self: Discrete, Discrete): Int */
+long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var2 /* : Int */;
+long var3 /* : Int */;
+var2 = (long)(self)>>2;
+var3 = (long)(p0)>>2;
+var1 = standard___standard__Int___Discrete__distance(var2, var3);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#<=> for (self: Int, Int): Int */
+long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var_other /* var other: Int */;
+short int var2 /* : Bool */;
+short int var4 /* : Bool */;
+int cltype5;
+int idtype6;
+const char* var_class_name7;
+short int var8 /* : Bool */;
+long var9 /* : Int */;
+long var11 /* : Int */;
+short int var12 /* : Bool */;
+short int var14 /* : Bool */;
+int cltype15;
+int idtype16;
+const char* var_class_name17;
+short int var18 /* : Bool */;
+/* Covariant cast for argument 0 (other) <p0:Int> isa OTHER */
+/* <p0:Int> isa OTHER */
+var1 = 1; /* easy <p0:Int> isa OTHER*/
+if (unlikely(!var1)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 585);
+fatal_exit(1);
+}
+var_other = p0;
+{
+{ /* Inline kernel#Int#< (self,var_other) on <self:Int> */
+/* Covariant cast for argument 0 (i) <var_other:Int> isa OTHER */
+/* <var_other:Int> isa OTHER */
+var4 = 1; /* easy <var_other:Int> isa OTHER*/
+if (unlikely(!var4)) {
+var_class_name7 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var8 = self < var_other;
+var2 = var8;
+goto RET_LABEL3;
+RET_LABEL3:(void)0;
+}
+}
+if (var2){
+{
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var11 = -1l;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+var = var9;
+goto RET_LABEL;
+} else {
+{
+{ /* Inline kernel#Int#< (var_other,self) on <var_other:Int> */
+/* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
+/* <self:Int> isa OTHER */
+var14 = 1; /* easy <self:Int> isa OTHER*/
+if (unlikely(!var14)) {
+var_class_name17 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var18 = var_other < self;
+var12 = var18;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
+}
+}
+if (var12){
+var = 1l;
+goto RET_LABEL;
+} else {
+var = 0l;
+goto RET_LABEL;
+}
+}
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#<=> for (self: Comparable, Comparable): Int */
+long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var2 /* : Int */;
+long var3 /* : Int */;
+var2 = (long)(self)>>2;
+var3 = (long)(p0)>>2;
+var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#ascii for (self: Int): Char */
+uint32_t standard___standard__Int___ascii(long self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = (uint32_t)self;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#digit_count for (self: Int, Int): Int */
+long standard___standard__Int___digit_count(long self, long p0) {
+long var /* : Int */;
+long var_b /* var b: Int */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
+long var4 /* : Int */;
+short int var5 /* : Bool */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var8 /* : Bool */;
+long var_d /* var d: Int */;
+long var9 /* : Int */;
+long var11 /* : Int */;
+long var_n /* var n: Int */;
+short int var12 /* : Bool */;
+short int var14 /* : Bool */;
+short int var15 /* : Bool */;
+short int var17 /* : Bool */;
+int cltype18;
+int idtype19;
+const char* var_class_name20;
+short int var21 /* : Bool */;
+long var22 /* : Int */;
+short int var24 /* : Bool */;
+int cltype25;
+int idtype26;
+const char* var_class_name27;
+long var28 /* : Int */;
+long var29 /* : Int */;
+short int var31 /* : Bool */;
+int cltype32;
+int idtype33;
+const char* var_class_name34;
+long var35 /* : Int */;
+var_b = p0;
+{
+{ /* Inline kernel#Int#== (var_b,10l) on <var_b:Int> */
+var3 = var_b == 10l;
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+if (var1){
+{
+var4 = standard___standard__Int___digit_count_base_95d10(self);
+}
+var = var4;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline kernel#Int#< (self,0l) on <self:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var7 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var8 = self < 0l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+if (var5){
+var_d = 1l;
+{
+{ /* Inline kernel#Int#unary - (self) on <self:Int> */
+var11 = -self;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+var_n = var9;
+} else {
+{
+{ /* Inline kernel#Int#== (self,0l) on <self:Int> */
+var14 = self == 0l;
+var12 = var14;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
+}
+}
+if (var12){
+var = 1l;
+goto RET_LABEL;
+} else {
+var_d = 0l;
+var_n = self;
+}
+}
+for(;;) {