+int cltype47;
+int idtype48;
+const char* var_class_name49;
+short int var50 /* : Bool */;
+val* var51 /* : Sequence[Char] */;
+val* var53 /* : Sequence[Char] */;
+long var54 /* : Int */;
+long var56 /* : Int */;
+char var57 /* : Char */;
+val* var58 /* : nullable Object */;
+long var59 /* : Int */;
+short int var61 /* : Bool */;
+int cltype62;
+int idtype63;
+const char* var_class_name64;
+long var65 /* : Int */;
+long var66 /* : Int */;
+long var67 /* : Int */;
+short int var69 /* : Bool */;
+int cltype70;
+int idtype71;
+const char* var_class_name72;
+long var73 /* : Int */;
+var_s = p0;
+var_base = p1;
+var_signed = p2;
+var = 0;
+{
+{ /* Inline kernel#Int#< (self,var) on <self:Int> */
+/* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
+/* <var:Int> isa OTHER */
+var3 = 1; /* easy <var:Int> isa OTHER*/
+if (unlikely(!var3)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var4 = self < var;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+if (var1){
+{
+{ /* Inline kernel#Int#unary - (self) on <self:Int> */
+var7 = -self;
+var5 = var7;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+var_n = var5;
+{
+{ /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
+var10 = var_s->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
+if (unlikely(var10 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406);
+show_backtrace(1);
+}
+var8 = var10;
+RET_LABEL9:(void)0;
+}
+}
+var11 = 0;
+var12 = '-';
+{
+var13 = BOX_kernel__Char(var12); /* autobox from Char to nullable Object */
+((void (*)(val*, long, val*))(var8->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var8, var11, var13) /* []= on <var8:Sequence[Char]>*/;
+}
+} else {
+var14 = 0;
+{
+{ /* Inline kernel#Int#== (self,var14) on <self:Int> */
+var18 = self == var14;
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+var15 = var16;
+}
+if (var15){
+{
+{ /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
+var21 = var_s->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
+if (unlikely(var21 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406);
+show_backtrace(1);
+}
+var19 = var21;
+RET_LABEL20:(void)0;
+}
+}
+var22 = 0;
+var23 = '0';
+{
+var24 = BOX_kernel__Char(var23); /* autobox from Char to nullable Object */
+((void (*)(val*, long, val*))(var19->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var19, var22, var24) /* []= on <var19:Sequence[Char]>*/;
+}
+goto RET_LABEL;
+} else {
+var_n = self;
+}
+}
+{
+var25 = kernel__Int__digit_count(self, var_base);
+}
+var26 = 1;
+{
+{ /* Inline kernel#Int#- (var25,var26) on <var25:Int> */
+/* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
+/* <var26:Int> isa OTHER */
+var29 = 1; /* easy <var26:Int> isa OTHER*/
+if (unlikely(!var29)) {
+var_class_name32 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var33 = var25 - var26;
+var27 = var33;
+goto RET_LABEL28;
+RET_LABEL28:(void)0;
+}
+}
+var_pos = var27;
+for(;;) {
+var35 = 0;
+{
+{ /* Inline kernel#Int#>= (var_pos,var35) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
+/* <var35:Int> isa OTHER */
+var38 = 1; /* easy <var35:Int> isa OTHER*/
+if (unlikely(!var38)) {
+var_class_name41 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
+show_backtrace(1);
+}
+var42 = var_pos >= var35;
+var36 = var42;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
+}
+}
+var_ = var36;
+if (var36){
+var43 = 0;
+{
+{ /* Inline kernel#Int#> (var_n,var43) on <var_n:Int> */
+/* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
+/* <var43:Int> isa OTHER */
+var46 = 1; /* easy <var43:Int> isa OTHER*/
+if (unlikely(!var46)) {
+var_class_name49 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
+show_backtrace(1);
+}
+var50 = var_n > var43;
+var44 = var50;
+goto RET_LABEL45;
+RET_LABEL45:(void)0;
+}
+}
+var34 = var44;
+} else {
+var34 = var_;
+}
+if (var34){
+{
+{ /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
+var53 = var_s->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
+if (unlikely(var53 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406);
+show_backtrace(1);
+}
+var51 = var53;
+RET_LABEL52:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#% (var_n,var_base) on <var_n:Int> */
+var56 = var_n % var_base;
+var54 = var56;
+goto RET_LABEL55;
+RET_LABEL55:(void)0;
+}
+}
+{
+var57 = kernel__Int__to_c(var54);
+}
+{
+var58 = BOX_kernel__Char(var57); /* autobox from Char to nullable Object */
+((void (*)(val*, long, val*))(var51->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var51, var_pos, var58) /* []= on <var51:Sequence[Char]>*/;
+}
+{
+{ /* Inline kernel#Int#/ (var_n,var_base) on <var_n:Int> */
+/* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
+/* <var_base:Int> isa OTHER */
+var61 = 1; /* easy <var_base:Int> isa OTHER*/
+if (unlikely(!var61)) {
+var_class_name64 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
+show_backtrace(1);
+}
+var65 = var_n / var_base;
+var59 = var65;
+goto RET_LABEL60;
+RET_LABEL60:(void)0;
+}
+}
+var_n = var59;
+var66 = 1;
+{
+{ /* Inline kernel#Int#- (var_pos,var66) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <var66:Int> isa OTHER */
+/* <var66:Int> isa OTHER */
+var69 = 1; /* easy <var66:Int> isa OTHER*/
+if (unlikely(!var69)) {
+var_class_name72 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var73 = var_pos - var66;
+var67 = var73;
+goto RET_LABEL68;
+RET_LABEL68:(void)0;
+}
+}
+var_pos = var67;
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+RET_LABEL:;
+}
+/* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
+void VIRTUAL_string__Int__fill_buffer(val* self, val* p0, long p1, short int p2) {
+long var /* : Int */;
+var = ((struct instance_kernel__Int*)self)->value; /* autounbox from Object to Int */;
+string__Int__fill_buffer(var, p0, p1, p2); /* Direct call string#Int#fill_buffer on <var:Int>*/
+RET_LABEL:;
+}
+/* method string#Int#native_int_to_s for (self: Int): NativeString */
+char* string__Int__native_int_to_s(long self) {
+char* var /* : NativeString */;
+void* var1 /* : NativeString for extern */;
+var1 = native_int_to_s(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#native_int_to_s for (self: Object): NativeString */
+char* VIRTUAL_string__Int__native_int_to_s(val* self) {
+char* var /* : NativeString */;
+char* var1 /* : NativeString */;
+void* var3 /* : NativeString for extern */;
+long var4 /* : Int */;
+{ /* Inline string#Int#native_int_to_s (self) on <self:Object(Int)> */
+var4 = ((struct instance_kernel__Int*)self)->value; /* autounbox from Object to Int */;
+var3 = native_int_to_s(var4);
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_s for (self: Int): String */
+val* string__Int__to_s(long self) {
+val* var /* : String */;
+char* var1 /* : NativeString */;
+void* var3 /* : NativeString for extern */;
+val* var4 /* : String */;
+{
+{ /* Inline string#Int#native_int_to_s (self) on <self:Int> */
+var3 = native_int_to_s(self);
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = string__NativeString__to_s(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_s for (self: Object): String */
+val* VIRTUAL_string__Int__to_s(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+long var2 /* : Int */;
+var2 = ((struct instance_kernel__Int*)self)->value; /* autounbox from Object to Int */;
+var1 = string__Int__to_s(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_hex for (self: Int): String */
+val* string__Int__to_hex(long self) {
+val* var /* : String */;
+long var1 /* : Int */;
+short int var2 /* : Bool */;
+val* var3 /* : String */;
+var1 = 16;
+var2 = 0;
+{
+var3 = string__Int__to_base(self, var1, var2);
+}
+var = var3;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_hex for (self: Object): String */
+val* VIRTUAL_string__Int__to_hex(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+long var2 /* : Int */;
+var2 = ((struct instance_kernel__Int*)self)->value; /* autounbox from Object to Int */;
+var1 = string__Int__to_hex(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_base for (self: Int, Int, Bool): String */
+val* string__Int__to_base(long self, long p0, short int p1) {
+val* var /* : String */;
+long var_base /* var base: Int */;
+short int var_signed /* var signed: Bool */;
+long var1 /* : Int */;
+long var_l /* var l: Int */;
+val* var2 /* : FlatBuffer */;
+static val* varonce;
+val* var3 /* : String */;
+char* var4 /* : NativeString */;
+long var5 /* : Int */;
+val* var6 /* : FlatString */;
+val* var7 /* : String */;
+val* var_s /* var s: FlatBuffer */;
+val* var8 /* : String */;
+var_base = p0;
+var_signed = p1;
+{
+var1 = kernel__Int__digit_count(self, var_base);
+}
+var_l = var1;
+var2 = NEW_string__FlatBuffer(&type_string__FlatBuffer);
+if (varonce) {
+var3 = varonce;
+} else {
+var4 = " ";
+var5 = 1;
+var6 = string__NativeString__to_s_with_length(var4, var5);
+var3 = var6;
+varonce = var3;
+}
+{
+var7 = string__FlatString___42d(var3, var_l);
+}
+{
+string__FlatBuffer__from(var2, var7); /* Direct call string#FlatBuffer#from on <var2:FlatBuffer>*/
+}
+var_s = var2;
+{
+string__Int__fill_buffer(self, var_s, var_base, var_signed); /* Direct call string#Int#fill_buffer on <self:Int>*/
+}
+{
+var8 = string__FlatBuffer__to_s(var_s);
+}
+var = var8;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Int#to_base for (self: Object, Int, Bool): String */
+val* VIRTUAL_string__Int__to_base(val* self, long p0, short int p1) {
+val* var /* : String */;
+val* var1 /* : String */;
+long var2 /* : Int */;
+var2 = ((struct instance_kernel__Int*)self)->value; /* autounbox from Object to Int */;
+var1 = string__Int__to_base(var2, p0, p1);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Float#to_s for (self: Float): String */
+val* string__Float__to_s(double self) {
+val* var /* : String */;
+long var1 /* : Int */;
+val* var2 /* : String */;
+val* var_str /* var str: String */;
+short int var3 /* : Bool */;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+short int var9 /* : Bool */;
+short int var10 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var11 /* : Bool */;
+short int var13 /* : Bool for extern */;
+long var14 /* : Int */;
+long var16 /* : Int */;
+long var_len /* var len: Int */;
+long var17 /* : Int */;
+long var_i /* var i: Int */;
+long var18 /* : Int */;
+long var19 /* : Int */;
+short int var21 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var22 /* : Int */;
+long var_23 /* var : Int */;
+short int var24 /* : Bool */;
+short int var26 /* : Bool */;
+int cltype27;
+int idtype28;
+const char* var_class_name29;
+short int var30 /* : Bool */;
+long var31 /* : Int */;
+long var32 /* : Int */;
+short int var34 /* : Bool */;
+int cltype35;
+int idtype36;
+const char* var_class_name37;
+long var38 /* : Int */;
+long var39 /* : Int */;
+short int var41 /* : Bool */;
+int cltype42;
+int idtype43;
+const char* var_class_name44;
+long var45 /* : Int */;
+long var_j /* var j: Int */;
+val* var46 /* : SequenceRead[Char] */;
+val* var48 /* : SequenceRead[Char] */;
+val* var49 /* : nullable Object */;
+char var50 /* : Char */;
+char var_c /* var c: Char */;
+char var51 /* : Char */;
+short int var52 /* : Bool */;
+short int var53 /* : Bool */;
+short int var55 /* : Bool */;
+char var56 /* : Char */;
+short int var57 /* : Bool */;
+short int var58 /* : Bool */;
+short int var60 /* : Bool */;
+long var61 /* : Int */;
+long var62 /* : Int */;
+long var63 /* : Int */;
+short int var65 /* : Bool */;
+int cltype66;
+int idtype67;
+const char* var_class_name68;
+long var69 /* : Int */;
+val* var70 /* : String */;
+long var71 /* : Int */;
+long var72 /* : Int */;
+long var73 /* : Int */;
+short int var75 /* : Bool */;
+int cltype76;
+int idtype77;
+const char* var_class_name78;
+long var79 /* : Int */;
+val* var80 /* : String */;
+long var81 /* : Int */;
+long var82 /* : Int */;
+var1 = 3;
+{
+var2 = string__Float__to_precision(self, var1);
+}
+var_str = var2;
+{
+var4 = math__Float__is_inf(self);
+}
+var5 = 0;
+{
+{ /* Inline kernel#Int#!= (var4,var5) on <var4:Int> */
+var9 = var4 == var5;
+var10 = !var9;
+var7 = var10;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
+}
+var6 = var7;
+}
+var_ = var6;
+if (var6){
+var3 = var_;
+} else {
+{
+{ /* Inline math#Float#is_nan (self) on <self:Float> */
+var13 = isnan(self);
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+}
+var3 = var11;
+}
+if (var3){
+var = var_str;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline string#FlatText#length (var_str) on <var_str:String> */
+var16 = var_str->attrs[COLOR_string__FlatText___length].l; /* _length on <var_str:String> */
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+var_len = var14;
+var17 = 0;
+var_i = var17;
+var18 = 1;
+{
+{ /* Inline kernel#Int#- (var_len,var18) on <var_len:Int> */
+/* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
+/* <var18:Int> isa OTHER */
+var21 = 1; /* easy <var18:Int> isa OTHER*/
+if (unlikely(!var21)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var22 = var_len - var18;
+var19 = var22;
+goto RET_LABEL20;
+RET_LABEL20:(void)0;
+}
+}
+var_23 = var19;
+for(;;) {
+{
+{ /* Inline kernel#Int#<= (var_i,var_23) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_23:Int> isa OTHER */
+/* <var_23:Int> isa OTHER */
+var26 = 1; /* easy <var_23:Int> isa OTHER*/
+if (unlikely(!var26)) {
+var_class_name29 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
+show_backtrace(1);
+}
+var30 = var_i <= var_23;
+var24 = var30;
+goto RET_LABEL25;
+RET_LABEL25:(void)0;
+}
+}
+if (var24){
+var31 = 1;
+{
+{ /* Inline kernel#Int#- (var_len,var31) on <var_len:Int> */
+/* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
+/* <var31:Int> isa OTHER */
+var34 = 1; /* easy <var31:Int> isa OTHER*/
+if (unlikely(!var34)) {
+var_class_name37 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var38 = var_len - var31;
+var32 = var38;
+goto RET_LABEL33;
+RET_LABEL33:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#- (var32,var_i) on <var32:Int> */
+/* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
+/* <var_i:Int> isa OTHER */
+var41 = 1; /* easy <var_i:Int> isa OTHER*/
+if (unlikely(!var41)) {
+var_class_name44 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var45 = var32 - var_i;
+var39 = var45;
+goto RET_LABEL40;
+RET_LABEL40:(void)0;
+}
+}
+var_j = var39;
+{
+{ /* Inline string#FlatString#chars (var_str) on <var_str:String> */
+var48 = var_str->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_str:String> */
+if (unlikely(var48 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
+show_backtrace(1);
+}
+var46 = var48;
+RET_LABEL47:(void)0;
+}
+}
+{
+var49 = ((val* (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var46, var_j) /* [] on <var46:SequenceRead[Char]>*/;
+}
+var50 = ((struct instance_kernel__Char*)var49)->value; /* autounbox from nullable Object to Char */;
+var_c = var50;
+var51 = '0';
+{
+{ /* Inline kernel#Char#== (var_c,var51) on <var_c:Char> */
+var55 = var_c == var51;
+var53 = var55;
+goto RET_LABEL54;
+RET_LABEL54:(void)0;
+}
+var52 = var53;
+}
+if (var52){
+goto BREAK_label;
+} else {
+var56 = '.';
+{
+{ /* Inline kernel#Char#== (var_c,var56) on <var_c:Char> */
+var60 = var_c == var56;
+var58 = var60;
+goto RET_LABEL59;
+RET_LABEL59:(void)0;
+}
+var57 = var58;
+}
+if (var57){
+var61 = 0;
+var62 = 2;
+{
+{ /* Inline kernel#Int#+ (var_j,var62) on <var_j:Int> */
+/* Covariant cast for argument 0 (i) <var62:Int> isa OTHER */
+/* <var62:Int> isa OTHER */
+var65 = 1; /* easy <var62:Int> isa OTHER*/
+if (unlikely(!var65)) {
+var_class_name68 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var69 = var_j + var62;
+var63 = var69;
+goto RET_LABEL64;
+RET_LABEL64:(void)0;
+}
+}
+{
+var70 = string__FlatString__substring(var_str, var61, var63);
+}
+var = var70;
+goto RET_LABEL;
+} else {
+var71 = 0;
+var72 = 1;
+{
+{ /* Inline kernel#Int#+ (var_j,var72) on <var_j:Int> */
+/* Covariant cast for argument 0 (i) <var72:Int> isa OTHER */
+/* <var72:Int> isa OTHER */
+var75 = 1; /* easy <var72:Int> isa OTHER*/
+if (unlikely(!var75)) {
+var_class_name78 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var79 = var_j + var72;
+var73 = var79;
+goto RET_LABEL74;
+RET_LABEL74:(void)0;
+}
+}
+{
+var80 = string__FlatString__substring(var_str, var71, var73);
+}
+var = var80;
+goto RET_LABEL;
+}
+}
+BREAK_label: (void)0;
+var81 = 1;
+{
+var82 = kernel__Int__successor(var_i, var81);
+}
+var_i = var82;
+} else {
+goto BREAK_label83;
+}
+}
+BREAK_label83: (void)0;
+var = var_str;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Float#to_s for (self: Object): String */
+val* VIRTUAL_string__Float__to_s(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+double var2 /* : Float */;
+var2 = ((struct instance_kernel__Float*)self)->value; /* autounbox from Object to Float */;
+var1 = string__Float__to_s(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Float#to_precision for (self: Float, Int): String */
+val* string__Float__to_precision(double self, long p0) {
+val* var /* : String */;
+long var_decimals /* var decimals: Int */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool for extern */;
+static val* varonce;
+val* var4 /* : String */;
+char* var5 /* : NativeString */;
+long var6 /* : Int */;
+val* var7 /* : FlatString */;
+long var8 /* : Int */;
+long var_isinf /* var isinf: Int */;
+long var9 /* : Int */;
+short int var10 /* : Bool */;
+short int var11 /* : Bool */;
+short int var13 /* : Bool */;
+static val* varonce14;
+val* var15 /* : String */;
+char* var16 /* : NativeString */;
+long var17 /* : Int */;
+val* var18 /* : FlatString */;
+long var19 /* : Int */;
+long var20 /* : Int */;
+long var22 /* : Int */;
+short int var23 /* : Bool */;
+short int var24 /* : Bool */;
+short int var26 /* : Bool */;
+static val* varonce27;
+val* var28 /* : String */;
+char* var29 /* : NativeString */;
+long var30 /* : Int */;
+val* var31 /* : FlatString */;
+long var32 /* : Int */;
+short int var33 /* : Bool */;
+short int var34 /* : Bool */;
+short int var36 /* : Bool */;
+long var37 /* : Int */;
+long var39 /* : Int */;
+val* var40 /* : String */;
+double var_f /* var f: Float */;
+long var41 /* : Int */;
+long var_i /* var i: Int */;
+long var_ /* var : Int */;
+short int var42 /* : Bool */;
+short int var44 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var45 /* : Bool */;
+double var46 /* : Float */;
+double var47 /* : Float */;
+short int var49 /* : Bool */;
+int cltype50;
+int idtype51;
+const char* var_class_name52;
+double var53 /* : Float */;
+long var54 /* : Int */;
+long var55 /* : Int */;
+double var56 /* : Float */;
+short int var57 /* : Bool */;
+short int var59 /* : Bool */;
+int cltype60;
+int idtype61;
+const char* var_class_name62;
+short int var63 /* : Bool */;
+double var64 /* : Float */;
+double var65 /* : Float */;
+short int var67 /* : Bool */;
+int cltype68;
+int idtype69;
+const char* var_class_name70;
+double var71 /* : Float */;
+double var72 /* : Float */;
+double var73 /* : Float */;
+short int var75 /* : Bool */;
+int cltype76;
+int idtype77;
+const char* var_class_name78;
+double var79 /* : Float */;
+long var80 /* : Int */;
+long var82 /* : Int */;
+long var_i83 /* var i: Int */;
+long var84 /* : Int */;
+short int var85 /* : Bool */;
+short int var86 /* : Bool */;
+short int var88 /* : Bool */;
+static val* varonce89;
+val* var90 /* : String */;
+char* var91 /* : NativeString */;
+long var92 /* : Int */;
+val* var93 /* : FlatString */;
+static val* varonce94;
+val* var95 /* : String */;
+char* var96 /* : NativeString */;
+long var97 /* : Int */;
+val* var98 /* : FlatString */;
+val* var99 /* : String */;
+val* var100 /* : String */;
+long var101 /* : Int */;
+val* var102 /* : String */;
+val* var_s /* var s: String */;
+long var103 /* : Int */;
+long var105 /* : Int */;
+long var_sl /* var sl: Int */;
+short int var106 /* : Bool */;
+short int var108 /* : Bool */;
+int cltype109;
+int idtype110;
+const char* var_class_name111;
+short int var112 /* : Bool */;
+long var113 /* : Int */;
+long var114 /* : Int */;
+short int var116 /* : Bool */;
+int cltype117;
+int idtype118;
+const char* var_class_name119;
+long var120 /* : Int */;
+val* var121 /* : String */;
+val* var_p1 /* var p1: nullable Object */;
+long var122 /* : Int */;
+short int var124 /* : Bool */;
+int cltype125;
+int idtype126;
+const char* var_class_name127;
+long var128 /* : Int */;
+val* var129 /* : String */;
+val* var_p2 /* var p2: nullable Object */;
+static val* varonce130;
+val* var131 /* : String */;
+char* var132 /* : NativeString */;
+long var133 /* : Int */;
+val* var134 /* : FlatString */;
+static val* varonce135;
+val* var136 /* : String */;
+char* var137 /* : NativeString */;
+long var138 /* : Int */;
+val* var139 /* : FlatString */;
+long var140 /* : Int */;
+short int var142 /* : Bool */;
+int cltype143;
+int idtype144;
+const char* var_class_name145;
+long var146 /* : Int */;
+val* var147 /* : String */;
+val* var148 /* : String */;
+long var149 /* : Int */;
+short int var150 /* : Bool */;
+short int var152 /* : Bool */;
+int cltype153;
+int idtype154;
+const char* var_class_name155;
+short int var156 /* : Bool */;
+static val* varonce157;
+val* var158 /* : String */;
+char* var159 /* : NativeString */;
+long var160 /* : Int */;
+val* var161 /* : FlatString */;
+val* var162 /* : String */;
+static val* varonce163;
+val* var164 /* : String */;
+char* var165 /* : NativeString */;
+long var166 /* : Int */;
+val* var167 /* : FlatString */;
+val* var168 /* : String */;
+val* var169 /* : String */;
+var_decimals = p0;
+{
+{ /* Inline math#Float#is_nan (self) on <self:Float> */
+var3 = isnan(self);
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+if (var1){
+if (varonce) {
+var4 = varonce;
+} else {
+var5 = "nan";
+var6 = 3;
+var7 = string__NativeString__to_s_with_length(var5, var6);
+var4 = var7;
+varonce = var4;
+}
+var = var4;
+goto RET_LABEL;
+} else {
+}
+{
+var8 = math__Float__is_inf(self);
+}
+var_isinf = var8;
+var9 = 1;
+{
+{ /* Inline kernel#Int#== (var_isinf,var9) on <var_isinf:Int> */
+var13 = var_isinf == var9;
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+var10 = var11;
+}
+if (var10){
+if (varonce14) {
+var15 = varonce14;
+} else {
+var16 = "inf";
+var17 = 3;
+var18 = string__NativeString__to_s_with_length(var16, var17);
+var15 = var18;
+varonce14 = var15;
+}
+var = var15;
+goto RET_LABEL;
+} else {
+var19 = 1;
+{
+{ /* Inline kernel#Int#unary - (var19) on <var19:Int> */
+var22 = -var19;
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#== (var_isinf,var20) on <var_isinf:Int> */
+var26 = var_isinf == var20;
+var24 = var26;
+goto RET_LABEL25;
+RET_LABEL25:(void)0;
+}
+var23 = var24;
+}
+if (var23){
+if (varonce27) {
+var28 = varonce27;
+} else {
+var29 = "-inf";
+var30 = 4;
+var31 = string__NativeString__to_s_with_length(var29, var30);
+var28 = var31;
+varonce27 = var28;
+}
+var = var28;
+goto RET_LABEL;
+} else {
+}
+}
+var32 = 0;
+{
+{ /* Inline kernel#Int#== (var_decimals,var32) on <var_decimals:Int> */
+var36 = var_decimals == var32;
+var34 = var36;
+goto RET_LABEL35;
+RET_LABEL35:(void)0;
+}
+var33 = var34;
+}
+if (var33){
+{
+{ /* Inline kernel#Float#to_i (self) on <self:Float> */
+var39 = (long)self;
+var37 = var39;
+goto RET_LABEL38;
+RET_LABEL38:(void)0;
+}
+}
+{
+var40 = string__Int__to_s(var37);
+}
+var = var40;
+goto RET_LABEL;
+} else {
+}
+var_f = self;
+var41 = 0;
+var_i = var41;
+var_ = var_decimals;
+for(;;) {
+{
+{ /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
+/* <var_:Int> isa OTHER */
+var44 = 1; /* easy <var_:Int> isa OTHER*/
+if (unlikely(!var44)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var45 = var_i < var_;
+var42 = var45;
+goto RET_LABEL43;
+RET_LABEL43:(void)0;
+}
+}
+if (var42){
+var46 = 10.0;
+{
+{ /* Inline kernel#Float#* (var_f,var46) on <var_f:Float> */
+/* Covariant cast for argument 0 (i) <var46:Float> isa OTHER */
+/* <var46:Float> isa OTHER */
+var49 = 1; /* easy <var46:Float> isa OTHER*/
+if (unlikely(!var49)) {
+var_class_name52 = type_kernel__Float.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 305);
+show_backtrace(1);
+}
+var53 = var_f * var46;
+var47 = var53;
+goto RET_LABEL48;
+RET_LABEL48:(void)0;
+}
+}
+var_f = var47;
+var54 = 1;
+{
+var55 = kernel__Int__successor(var_i, var54);
+}
+var_i = var55;
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+var56 = 0.0;
+{
+{ /* Inline kernel#Float#> (self,var56) on <self:Float> */
+/* Covariant cast for argument 0 (i) <var56:Float> isa OTHER */
+/* <var56:Float> isa OTHER */
+var59 = 1; /* easy <var56:Float> isa OTHER*/
+if (unlikely(!var59)) {
+var_class_name62 = type_kernel__Float.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 300);
+show_backtrace(1);
+}
+var63 = self > var56;
+var57 = var63;
+goto RET_LABEL58;
+RET_LABEL58:(void)0;
+}
+}
+if (var57){
+var64 = 0.5;
+{
+{ /* Inline kernel#Float#+ (var_f,var64) on <var_f:Float> */
+/* Covariant cast for argument 0 (i) <var64:Float> isa OTHER */
+/* <var64:Float> isa OTHER */
+var67 = 1; /* easy <var64:Float> isa OTHER*/
+if (unlikely(!var67)) {
+var_class_name70 = type_kernel__Float.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 302);
+show_backtrace(1);
+}
+var71 = var_f + var64;
+var65 = var71;
+goto RET_LABEL66;
+RET_LABEL66:(void)0;
+}
+}
+var_f = var65;
+} else {
+var72 = 0.5;
+{
+{ /* Inline kernel#Float#- (var_f,var72) on <var_f:Float> */
+/* Covariant cast for argument 0 (i) <var72:Float> isa OTHER */
+/* <var72:Float> isa OTHER */
+var75 = 1; /* easy <var72:Float> isa OTHER*/
+if (unlikely(!var75)) {
+var_class_name78 = type_kernel__Float.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 304);
+show_backtrace(1);
+}
+var79 = var_f - var72;
+var73 = var79;
+goto RET_LABEL74;
+RET_LABEL74:(void)0;
+}
+}
+var_f = var73;
+}
+{
+{ /* Inline kernel#Float#to_i (var_f) on <var_f:Float> */
+var82 = (long)var_f;
+var80 = var82;
+goto RET_LABEL81;
+RET_LABEL81:(void)0;
+}
+}
+var_i83 = var80;
+var84 = 0;
+{
+{ /* Inline kernel#Int#== (var_i83,var84) on <var_i83:Int> */
+var88 = var_i83 == var84;
+var86 = var88;
+goto RET_LABEL87;
+RET_LABEL87:(void)0;
+}
+var85 = var86;
+}
+if (var85){
+if (varonce89) {
+var90 = varonce89;
+} else {
+var91 = "0.";
+var92 = 2;
+var93 = string__NativeString__to_s_with_length(var91, var92);
+var90 = var93;
+varonce89 = var90;
+}
+if (varonce94) {
+var95 = varonce94;
+} else {
+var96 = "0";
+var97 = 1;
+var98 = string__NativeString__to_s_with_length(var96, var97);
+var95 = var98;
+varonce94 = var95;
+}
+{
+var99 = string__FlatString___42d(var95, var_decimals);
+}
+{
+var100 = string__FlatString___43d(var90, var99);
+}
+var = var100;
+goto RET_LABEL;
+} else {
+}
+{
+var101 = kernel__Int__abs(var_i83);
+}
+{
+var102 = string__Int__to_s(var101);
+}
+var_s = var102;
+{
+{ /* Inline string#FlatText#length (var_s) on <var_s:String> */
+var105 = var_s->attrs[COLOR_string__FlatText___length].l; /* _length on <var_s:String> */
+var103 = var105;
+RET_LABEL104:(void)0;
+}
+}
+var_sl = var103;
+{
+{ /* Inline kernel#Int#> (var_sl,var_decimals) on <var_sl:Int> */
+/* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
+/* <var_decimals:Int> isa OTHER */
+var108 = 1; /* easy <var_decimals:Int> isa OTHER*/
+if (unlikely(!var108)) {
+var_class_name111 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name111);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
+show_backtrace(1);
+}
+var112 = var_sl > var_decimals;
+var106 = var112;
+goto RET_LABEL107;
+RET_LABEL107:(void)0;
+}
+}
+if (var106){
+var113 = 0;
+{
+{ /* Inline kernel#Int#- (var_sl,var_decimals) on <var_sl:Int> */
+/* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
+/* <var_decimals:Int> isa OTHER */
+var116 = 1; /* easy <var_decimals:Int> isa OTHER*/
+if (unlikely(!var116)) {
+var_class_name119 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name119);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var120 = var_sl - var_decimals;
+var114 = var120;
+goto RET_LABEL115;
+RET_LABEL115:(void)0;
+}
+}
+{
+var121 = string__FlatString__substring(var_s, var113, var114);
+}
+var_p1 = var121;
+{
+{ /* Inline kernel#Int#- (var_sl,var_decimals) on <var_sl:Int> */
+/* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
+/* <var_decimals:Int> isa OTHER */
+var124 = 1; /* easy <var_decimals:Int> isa OTHER*/
+if (unlikely(!var124)) {
+var_class_name127 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name127);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var128 = var_sl - var_decimals;
+var122 = var128;
+goto RET_LABEL123;
+RET_LABEL123:(void)0;
+}
+}
+{
+var129 = string__FlatString__substring(var_s, var122, var_decimals);
+}
+var_p2 = var129;
+} else {
+if (varonce130) {
+var131 = varonce130;
+} else {
+var132 = "0";
+var133 = 1;
+var134 = string__NativeString__to_s_with_length(var132, var133);
+var131 = var134;
+varonce130 = var131;
+}
+var_p1 = var131;
+if (varonce135) {
+var136 = varonce135;
+} else {
+var137 = "0";
+var138 = 1;
+var139 = string__NativeString__to_s_with_length(var137, var138);
+var136 = var139;
+varonce135 = var136;
+}
+{
+{ /* Inline kernel#Int#- (var_decimals,var_sl) on <var_decimals:Int> */
+/* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
+/* <var_sl:Int> isa OTHER */
+var142 = 1; /* easy <var_sl:Int> isa OTHER*/
+if (unlikely(!var142)) {
+var_class_name145 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var146 = var_decimals - var_sl;
+var140 = var146;
+goto RET_LABEL141;
+RET_LABEL141:(void)0;
+}
+}
+{
+var147 = string__FlatString___42d(var136, var140);
+}
+{
+var148 = string__FlatString___43d(var147, var_s);
+}
+var_p2 = var148;
+}
+var149 = 0;
+{
+{ /* Inline kernel#Int#< (var_i83,var149) on <var_i83:Int> */
+/* Covariant cast for argument 0 (i) <var149:Int> isa OTHER */
+/* <var149:Int> isa OTHER */
+var152 = 1; /* easy <var149:Int> isa OTHER*/
+if (unlikely(!var152)) {
+var_class_name155 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name155);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var156 = var_i83 < var149;
+var150 = var156;
+goto RET_LABEL151;
+RET_LABEL151:(void)0;
+}
+}
+if (var150){
+if (varonce157) {
+var158 = varonce157;
+} else {
+var159 = "-";
+var160 = 1;
+var161 = string__NativeString__to_s_with_length(var159, var160);
+var158 = var161;
+varonce157 = var158;
+}
+{
+var162 = string__FlatString___43d(var158, var_p1);
+}
+var_p1 = var162;
+} else {
+}
+if (varonce163) {
+var164 = varonce163;
+} else {
+var165 = ".";
+var166 = 1;
+var167 = string__NativeString__to_s_with_length(var165, var166);
+var164 = var167;
+varonce163 = var164;
+}
+{
+var168 = string__FlatString___43d(var_p1, var164);
+}
+{
+var169 = string__FlatString___43d(var168, var_p2);
+}
+var = var169;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Float#to_precision for (self: Object, Int): String */
+val* VIRTUAL_string__Float__to_precision(val* self, long p0) {
+val* var /* : String */;
+val* var1 /* : String */;
+double var2 /* : Float */;
+var2 = ((struct instance_kernel__Float*)self)->value; /* autounbox from Object to Float */;
+var1 = string__Float__to_precision(var2, p0);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Char#to_s for (self: Char): String */
+val* string__Char__to_s(char self) {
+val* var /* : String */;
+val* var1 /* : FlatBuffer */;
+long var2 /* : Int */;
+val* var_s /* var s: FlatBuffer */;
+val* var3 /* : Sequence[Char] */;
+val* var5 /* : Sequence[Char] */;
+long var6 /* : Int */;
+val* var7 /* : nullable Object */;
+val* var8 /* : String */;
+var1 = NEW_string__FlatBuffer(&type_string__FlatBuffer);
+var2 = 1;
+{
+string__FlatBuffer__with_capacity(var1, var2); /* Direct call string#FlatBuffer#with_capacity on <var1:FlatBuffer>*/
+}
+var_s = var1;
+{
+{ /* Inline string#FlatBuffer#chars (var_s) on <var_s:FlatBuffer> */
+var5 = var_s->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var_s:FlatBuffer> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406);
+show_backtrace(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+var6 = 0;
+{
+var7 = BOX_kernel__Char(self); /* autobox from Char to nullable Object */
+((void (*)(val*, long, val*))(var3->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var3, var6, var7) /* []= on <var3:Sequence[Char]>*/;
+}
+{
+var8 = string__FlatBuffer__to_s(var_s);
+}
+var = var8;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method string#Char#to_s for (self: Object): String */
+val* VIRTUAL_string__Char__to_s(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+char var2 /* : Char */;
+var2 = ((struct instance_kernel__Char*)self)->value; /* autounbox from Object to Char */;
+var1 = string__Char__to_s(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method string#Char#is_numeric for (self: Char): Bool */
+short int string__Char__is_numeric(char self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+char var2 /* : Char */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;