+if (var13){
+{
+var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_12); /* item on <var_12:Iterator[Object]>*/
+}
+var_h = var14;
+{
+{ /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var17 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___used_colors].val; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 314);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+var18 = NEW_standard__HashSet(&type_standard__HashSet__standard__Int);
+{
+standard___standard__HashSet___standard__kernel__Object__init(var18); /* Direct call hash_collection#HashSet#init on <var18:HashSet[Int]>*/
+}
+{
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var15, var_h, var18); /* Direct call hash_collection#HashMap#[]= on <var15:HashMap[Object, HashSet[Int]]>*/
+}
+{
+((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_12); /* next on <var_12:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_12); /* finish on <var_12:Iterator[Object]>*/
+}
+{
+nit___nit__POSetGroupColorer___compute_colors(self); /* Direct call coloring#POSetGroupColorer#compute_colors on <self:POSetGroupColorer[Object, Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
+var21 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors_cache].val; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var21 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 311);
+fatal_exit(1);
+}
+var19 = var21;
+RET_LABEL20:(void)0;
+}
+}
+var3 = var19;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors].val = var3; /* _colors on <self:POSetGroupColorer[Object, Object]> */
+var2 = var3;
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#colors_cache for (self: POSetGroupColorer[Object, Object]): HashMap[Object, Int] */
+val* nit___nit__POSetGroupColorer___colors_cache(val* self) {
+val* var /* : HashMap[Object, Int] */;
+val* var1 /* : HashMap[Object, Int] */;
+var1 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors_cache].val; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 311);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#used_colors for (self: POSetGroupColorer[Object, Object]): HashMap[Object, HashSet[Int]] */
+val* nit___nit__POSetGroupColorer___used_colors(val* self) {
+val* var /* : HashMap[Object, HashSet[Int]] */;
+val* var1 /* : HashMap[Object, HashSet[Int]] */;
+var1 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___used_colors].val; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 314);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#build_layout for (self: POSetGroupColorer[Object, Object], Object): Array[nullable Object] */
+val* nit___nit__POSetGroupColorer___build_layout(val* self, val* p0) {
+val* var /* : Array[nullable Object] */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_h /* var h: Object */;
+val* var2 /* : Array[nullable Object] */;
+val* var_table /* var table: Array[nullable Object] */;
+val* var3 /* : POSet[Object] */;
+val* var4 /* : POSetElement[nullable Object] */;
+val* var5 /* : Collection[nullable Object] */;
+val* var_ /* var : Collection[Object] */;
+val* var6 /* : Iterator[nullable Object] */;
+val* var_7 /* var : Iterator[Object] */;
+short int var8 /* : Bool */;
+val* var9 /* : nullable Object */;
+val* var_s /* var s: Object */;
+val* var10 /* : Map[Object, Collection[Object]] */;
+val* var12 /* : Map[Object, Collection[Object]] */;
+val* var13 /* : nullable Object */;
+val* var_bucket /* var bucket: nullable Collection[Object] */;
+short int var14 /* : Bool */;
+short int var15 /* : Bool */;
+val* var_16 /* var : Collection[Object] */;
+val* var17 /* : Iterator[nullable Object] */;
+val* var_18 /* var : Iterator[Object] */;
+short int var19 /* : Bool */;
+val* var20 /* : nullable Object */;
+val* var_e /* var e: Object */;
+val* var21 /* : Map[Object, Int] */;
+val* var22 /* : nullable Object */;
+long var23 /* : Int */;
+long var_color /* var color: Int */;
+long var24 /* : Int */;
+long var26 /* : Int */;
+short int var27 /* : Bool */;
+short int var29 /* : Bool */;
+int cltype30;
+int idtype31;
+const char* var_class_name32;
+short int var33 /* : Bool */;
+long var34 /* : Int */;
+long var36 /* : Int */;
+long var_i /* var i: Int */;
+long var_37 /* var : Int */;
+short int var38 /* : Bool */;
+short int var40 /* : Bool */;
+int cltype41;
+int idtype42;
+const char* var_class_name43;
+short int var44 /* : Bool */;
+long var45 /* : Int */;
+val* var47 /* : nullable Object */;
+short int var48 /* : Bool */;
+short int var49 /* : Bool */;
+val* var50 /* : Sys */;
+val* var51 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce52;
+val* var53 /* : String */;
+char* var54 /* : NativeString */;
+val* var55 /* : FlatString */;
+static val* varonce56;
+val* var57 /* : String */;
+char* var58 /* : NativeString */;
+val* var59 /* : FlatString */;
+static val* varonce60;
+val* var61 /* : String */;
+char* var62 /* : NativeString */;
+val* var63 /* : FlatString */;
+static val* varonce64;
+val* var65 /* : String */;
+char* var66 /* : NativeString */;
+val* var67 /* : FlatString */;
+val* var68 /* : String */;
+val* var69 /* : String */;
+val* var70 /* : Object */;
+val* var71 /* : nullable Object */;
+static val* varonce72;
+val* var73 /* : String */;
+char* var74 /* : NativeString */;
+val* var75 /* : FlatString */;
+val* var76 /* : String */;
+val* var77 /* : String */;
+val* var78 /* : String */;
+/* Covariant cast for argument 0 (h) <p0:Object> isa H */
+/* <p0:Object> isa H */
+type_struct = self->type->resolution_table->types[COLOR_nit__POSetGroupColorer___35dH];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var1 = 0;
+} else {
+var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var1)) {
+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`", "H", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 317);
+fatal_exit(1);
+}
+var_h = p0;
+var2 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nullable__nit__POSetGroupColorer___35dE]);
+{
+standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[nullable Object]>*/
+}
+var_table = var2;
+{
+var3 = nit___nit__POSetGroupColorer___poset(self);
+}
+{
+var4 = poset___poset__POSet____91d_93d(var3, var_h);
+}
+{
+var5 = poset___poset__POSetElement___greaters(var4);
+}
+var_ = var5;
+{
+var6 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[Object]>*/
+}
+var_7 = var6;
+for(;;) {
+{
+var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:Iterator[Object]>*/
+}
+if (var8){
+{
+var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:Iterator[Object]>*/
+}
+var_s = var9;
+{
+{ /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
+var12 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___buckets].val; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 288);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+{
+var13 = ((val*(*)(val* self, val* p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_standard__abstract_collection__MapRead__get_or_null]))(var10, var_s); /* get_or_null on <var10:Map[Object, Collection[Object]]>*/
+}
+var_bucket = var13;
+if (var_bucket == NULL) {
+var14 = 1; /* is null */
+} else {
+var14 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var15 = ((short int(*)(val* self, val* p0))((((long)var_bucket&3)?class_info[((long)var_bucket&3)]:var_bucket->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_bucket, ((val*)NULL)); /* == on <var_bucket:nullable Collection[Object]>*/
+var14 = var15;
+}
+if (var14){
+goto BREAK_label;
+} else {
+}
+var_16 = var_bucket;
+{
+var17 = ((val*(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_16); /* iterator on <var_16:Collection[Object]>*/
+}
+var_18 = var17;
+for(;;) {
+{
+var19 = ((short int(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_18); /* is_ok on <var_18:Iterator[Object]>*/
+}
+if (var19){
+{
+var20 = ((val*(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_18); /* item on <var_18:Iterator[Object]>*/
+}
+var_e = var20;
+{
+var21 = nit___nit__POSetGroupColorer___colors(self);
+}
+{
+var22 = ((val*(*)(val* self, val* p0))((((long)var21&3)?class_info[((long)var21&3)]:var21->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var21, var_e); /* [] on <var21:Map[Object, Int]>*/
+}
+var23 = (long)(var22)>>2;
+var_color = var23;
+{
+{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable Object]> */
+var26 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable Object]> */
+var24 = var26;
+RET_LABEL25:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#<= (var24,var_color) on <var24:Int> */
+/* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
+/* <var_color:Int> isa OTHER */
+var29 = 1; /* easy <var_color:Int> isa OTHER*/
+if (unlikely(!var29)) {
+var_class_name32 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+fatal_exit(1);
+}
+var33 = var24 <= var_color;
+var27 = var33;
+goto RET_LABEL28;
+RET_LABEL28:(void)0;
+}
+}
+if (var27){
+{
+{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable Object]> */
+var36 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable Object]> */
+var34 = var36;
+RET_LABEL35:(void)0;
+}
+}
+var_i = var34;
+var_37 = var_color;
+for(;;) {
+{
+{ /* Inline kernel#Int#< (var_i,var_37) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_37:Int> isa OTHER */
+/* <var_37:Int> isa OTHER */
+var40 = 1; /* easy <var_37:Int> isa OTHER*/
+if (unlikely(!var40)) {
+var_class_name43 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
+}
+var44 = var_i < var_37;
+var38 = var44;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+}
+if (var38){
+{
+standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_i, ((val*)NULL)); /* Direct call array#Array#[]= on <var_table:Array[nullable Object]>*/
+}
+{
+var45 = standard___standard__Int___Discrete__successor(var_i, 1l);
+}
+var_i = var45;
+} else {
+goto BREAK_label46;
+}
+}
+BREAK_label46: (void)0;
+} else {
+{
+var47 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_table, var_color);
+}
+if (var47 == NULL) {
+var48 = 1; /* is null */
+} else {
+var48 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var49 = ((short int(*)(val* self, val* p0))((((long)var47&3)?class_info[((long)var47&3)]:var47->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var47, ((val*)NULL)); /* == on <var47:nullable Object>*/
+var48 = var49;
+}
+if (unlikely(!var48)) {
+var50 = glob_sys;
+if (unlikely(varonce==NULL)) {
+var51 = NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String);
+if (likely(varonce52!=NULL)) {
+var53 = varonce52;
+} else {
+var54 = "in ";
+var55 = standard___standard__NativeString___to_s_with_length(var54, 3l);
+var53 = var55;
+varonce52 = var53;
+}
+((struct instance_standard__NativeArray*)var51)->values[0]=var53;
+if (likely(varonce56!=NULL)) {
+var57 = varonce56;
+} else {
+var58 = ", for ";
+var59 = standard___standard__NativeString___to_s_with_length(var58, 6l);
+var57 = var59;
+varonce56 = var57;
+}
+((struct instance_standard__NativeArray*)var51)->values[2]=var57;
+if (likely(varonce60!=NULL)) {
+var61 = varonce60;
+} else {
+var62 = ": ";
+var63 = standard___standard__NativeString___to_s_with_length(var62, 2l);
+var61 = var63;
+varonce60 = var61;
+}
+((struct instance_standard__NativeArray*)var51)->values[4]=var61;
+if (likely(varonce64!=NULL)) {
+var65 = varonce64;
+} else {
+var66 = " vs ";
+var67 = standard___standard__NativeString___to_s_with_length(var66, 4l);
+var65 = var67;
+varonce64 = var65;
+}
+((struct instance_standard__NativeArray*)var51)->values[6]=var65;
+} else {
+var51 = varonce;
+varonce = NULL;
+}
+{
+var68 = ((val*(*)(val* self))((((long)var_h&3)?class_info[((long)var_h&3)]:var_h->class)->vft[COLOR_standard__string__Object__to_s]))(var_h); /* to_s on <var_h:Object>*/
+}
+((struct instance_standard__NativeArray*)var51)->values[1]=var68;
+var69 = standard__string___Int___Object__to_s(var_color);
+((struct instance_standard__NativeArray*)var51)->values[3]=var69;
+{
+var71 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_table, var_color);
+}
+if (var71!=NULL) {
+var70 = var71;
+} else {
+if (likely(varonce72!=NULL)) {
+var73 = varonce72;
+} else {
+var74 = "";
+var75 = standard___standard__NativeString___to_s_with_length(var74, 0l);
+var73 = var75;
+varonce72 = var73;
+}
+var70 = var73;
+}
+{
+var76 = ((val*(*)(val* self))((((long)var70&3)?class_info[((long)var70&3)]:var70->class)->vft[COLOR_standard__string__Object__to_s]))(var70); /* to_s on <var70:Object>*/
+}
+((struct instance_standard__NativeArray*)var51)->values[5]=var76;
+{
+var77 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_standard__string__Object__to_s]))(var_e); /* to_s on <var_e:Object>*/
+}
+((struct instance_standard__NativeArray*)var51)->values[7]=var77;
+{
+var78 = ((val*(*)(val* self))(var51->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var51); /* native_to_s on <var51:NativeArray[String]>*/
+}
+varonce = var51;
+{
+standard__file___Sys___print(var50, var78); /* Direct call file#Sys#print on <var50:Sys>*/
+}
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 333);
+fatal_exit(1);
+}
+}
+{
+standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_color, var_e); /* Direct call array#Array#[]= on <var_table:Array[nullable Object]>*/
+}
+{
+((void(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_18); /* next on <var_18:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label79;
+}
+}
+BREAK_label79: (void)0;
+{
+((void(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_18); /* finish on <var_18:Iterator[Object]>*/
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label80;
+}
+}
+BREAK_label80: (void)0;
+{
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:Iterator[Object]>*/
+}
+var = var_table;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#compute_colors for (self: POSetGroupColorer[Object, Object]) */
+void nit___nit__POSetGroupColorer___compute_colors(val* self) {
+val* var /* : HashMap[Object, Int] */;
+val* var2 /* : HashMap[Object, Int] */;
+val* var3 /* : POSetConflictGraph[Object] */;
+val* var5 /* : POSetConflictGraph[Object] */;
+val* var6 /* : HashSet[nullable Object] */;
+val* var8 /* : HashSet[nullable Object] */;
+val* var9 /* : POSetConflictGraph[Object] */;
+val* var11 /* : POSetConflictGraph[Object] */;
+val* var12 /* : HashSet[nullable Object] */;
+val* var14 /* : HashSet[nullable Object] */;
+{
+{ /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
+var2 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors_cache].val; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 311);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+standard___standard__HashMap___standard__abstract_collection__Map__clear(var); /* Direct call hash_collection#HashMap#clear on <var:HashMap[Object, Int]>*/
+}
+{
+nit___nit__POSetGroupColorer___colorize_core(self); /* Direct call coloring#POSetGroupColorer#colorize_core on <self:POSetGroupColorer[Object, Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var5 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#border (var3) on <var3:POSetConflictGraph[Object]> */
+var8 = var3->attrs[COLOR_nit__coloring__POSetConflictGraph___border].val; /* _border on <var3:POSetConflictGraph[Object]> */
+if (unlikely(var8 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 28);
+fatal_exit(1);
+}
+var6 = var8;
+RET_LABEL7:(void)0;
+}
+}
+{
+nit___nit__POSetGroupColorer___colorize_set(self, var6); /* Direct call coloring#POSetGroupColorer#colorize_set on <self:POSetGroupColorer[Object, Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var11 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var11 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var9 = var11;
+RET_LABEL10:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#crown (var9) on <var9:POSetConflictGraph[Object]> */
+var14 = var9->attrs[COLOR_nit__coloring__POSetConflictGraph___crown].val; /* _crown on <var9:POSetConflictGraph[Object]> */
+if (unlikely(var14 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 34);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+{
+nit___nit__POSetGroupColorer___colorize_set(self, var12); /* Direct call coloring#POSetGroupColorer#colorize_set on <self:POSetGroupColorer[Object, Object]>*/
+}
+RET_LABEL:;
+}
+/* method coloring#POSetGroupColorer#colorize_core for (self: POSetGroupColorer[Object, Object]) */
+void nit___nit__POSetGroupColorer___colorize_core(val* self) {
+val* var /* : POSetConflictGraph[Object] */;
+val* var2 /* : POSetConflictGraph[Object] */;
+val* var3 /* : Array[nullable Object] */;
+val* var5 /* : Array[nullable Object] */;
+val* var_ /* var : Array[Object] */;
+val* var6 /* : ArrayIterator[nullable Object] */;
+val* var_7 /* var : ArrayIterator[Object] */;
+short int var8 /* : Bool */;
+val* var9 /* : nullable Object */;
+val* var_h /* var h: Object */;
+val* var10 /* : POSetConflictGraph[Object] */;
+val* var12 /* : POSetConflictGraph[Object] */;
+val* var13 /* : HashSet[nullable Object] */;
+val* var15 /* : HashSet[nullable Object] */;
+short int var16 /* : Bool */;
+short int var17 /* : Bool */;
+long var18 /* : Int */;
+long var_color /* var color: Int */;
+long var_mincolor /* var mincolor: Int */;
+val* var19 /* : Map[Object, Collection[Object]] */;
+val* var21 /* : Map[Object, Collection[Object]] */;
+val* var22 /* : nullable Object */;
+val* var_bucket /* var bucket: nullable Collection[Object] */;
+short int var23 /* : Bool */;
+short int var24 /* : Bool */;
+val* var25 /* : POSetConflictGraph[Object] */;
+val* var27 /* : POSetConflictGraph[Object] */;
+val* var28 /* : HashMap[nullable Object, Set[nullable Object]] */;
+val* var30 /* : HashMap[nullable Object, Set[nullable Object]] */;
+val* var31 /* : nullable Object */;
+val* var_conflicts /* var conflicts: Set[Object] */;
+val* var32 /* : POSet[Object] */;
+val* var33 /* : POSetElement[nullable Object] */;
+val* var34 /* : Collection[nullable Object] */;
+val* var_parents /* var parents: Collection[Object] */;
+val* var_35 /* var : Collection[Object] */;
+val* var36 /* : Iterator[nullable Object] */;
+val* var_37 /* var : Iterator[Object] */;
+short int var38 /* : Bool */;
+val* var39 /* : nullable Object */;
+val* var_e /* var e: Object */;
+long var40 /* : Int */;
+long var41 /* : Int */;
+val* var42 /* : HashMap[Object, Int] */;
+val* var44 /* : HashMap[Object, Int] */;
+val* var45 /* : nullable Object */;
+val* var46 /* : HashMap[Object, HashSet[Int]] */;
+val* var48 /* : HashMap[Object, HashSet[Int]] */;
+val* var49 /* : nullable Object */;
+val* var50 /* : nullable Object */;
+short int var51 /* : Bool */;
+short int var53 /* : Bool */;
+long var54 /* : Int */;
+short int var56 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var57 /* : Int */;
+long var58 /* : Int */;
+short int var60 /* : Bool */;
+int cltype61;
+int idtype62;
+const char* var_class_name63;
+long var64 /* : Int */;
+val* var66 /* : HashMap[Object, Int] */;
+val* var68 /* : HashMap[Object, Int] */;
+val* var69 /* : nullable Object */;
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var2 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#order (var) on <var:POSetConflictGraph[Object]> */
+var5 = var->attrs[COLOR_nit__coloring__POSetConflictGraph___order].val; /* _order on <var:POSetConflictGraph[Object]> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _order");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 51);
+fatal_exit(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+var_ = var3;
+{
+var6 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+}
+var_7 = var6;
+for(;;) {
+{
+var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7);
+}
+if (var8){
+{
+var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7);
+}
+var_h = var9;
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var12 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#core (var10) on <var10:POSetConflictGraph[Object]> */
+var15 = var10->attrs[COLOR_nit__coloring__POSetConflictGraph___core].val; /* _core on <var10:POSetConflictGraph[Object]> */
+if (unlikely(var15 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 22);
+fatal_exit(1);
+}
+var13 = var15;
+RET_LABEL14:(void)0;
+}
+}
+{
+var16 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var13, var_h);
+}
+var17 = !var16;
+if (var17){
+goto BREAK_label;
+} else {
+}
+{
+var18 = nit___nit__POSetGroupColorer___inherit_color(self, var_h);
+}
+var_color = var18;
+var_mincolor = var_color;
+{
+{ /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
+var21 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___buckets].val; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var21 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 288);
+fatal_exit(1);
+}
+var19 = var21;
+RET_LABEL20:(void)0;
+}
+}
+{
+var22 = ((val*(*)(val* self, val* p0))((((long)var19&3)?class_info[((long)var19&3)]:var19->class)->vft[COLOR_standard__abstract_collection__MapRead__get_or_null]))(var19, var_h); /* get_or_null on <var19:Map[Object, Collection[Object]]>*/
+}
+var_bucket = var22;
+if (var_bucket == NULL) {
+var23 = 1; /* is null */
+} else {
+var23 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var24 = ((short int(*)(val* self, val* p0))((((long)var_bucket&3)?class_info[((long)var_bucket&3)]:var_bucket->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_bucket, ((val*)NULL)); /* == on <var_bucket:nullable Collection[Object]>*/
+var23 = var24;
+}
+if (var23){
+goto BREAK_label;
+} else {
+}
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var27 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var27 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var25 = var27;
+RET_LABEL26:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#conflicts (var25) on <var25:POSetConflictGraph[Object]> */
+var30 = var25->attrs[COLOR_nit__coloring__POSetConflictGraph___conflicts].val; /* _conflicts on <var25:POSetConflictGraph[Object]> */
+if (unlikely(var30 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 40);
+fatal_exit(1);
+}
+var28 = var30;
+RET_LABEL29:(void)0;
+}
+}
+{
+var31 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var28, var_h);
+}
+var_conflicts = var31;
+{
+var32 = nit___nit__POSetGroupColorer___poset(self);
+}
+{
+var33 = poset___poset__POSet____91d_93d(var32, var_h);
+}
+{
+var34 = poset___poset__POSetElement___greaters(var33);
+}
+var_parents = var34;
+var_35 = var_bucket;
+{
+var36 = ((val*(*)(val* self))((((long)var_35&3)?class_info[((long)var_35&3)]:var_35->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_35); /* iterator on <var_35:Collection[Object]>*/
+}
+var_37 = var36;
+for(;;) {
+{
+var38 = ((short int(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_37); /* is_ok on <var_37:Iterator[Object]>*/
+}
+if (var38){
+{
+var39 = ((val*(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_37); /* item on <var_37:Iterator[Object]>*/
+}
+var_e = var39;
+{
+var40 = nit___nit__POSetGroupColorer___next_free_color(self, var_color, var_parents);
+}
+var_color = var40;
+{
+var41 = nit___nit__POSetGroupColorer___next_free_color(self, var_color, var_conflicts);
+}
+var_color = var41;
+{
+{ /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
+var44 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors_cache].val; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var44 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 311);
+fatal_exit(1);
+}
+var42 = var44;
+RET_LABEL43:(void)0;
+}
+}
+{
+var45 = (val*)(var_color<<2|1);
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var42, var_e, var45); /* Direct call hash_collection#HashMap#[]= on <var42:HashMap[Object, Int]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var48 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___used_colors].val; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var48 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 314);
+fatal_exit(1);
+}
+var46 = var48;
+RET_LABEL47:(void)0;
+}
+}
+{
+var49 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var46, var_h);
+}
+{
+var50 = (val*)(var_color<<2|1);
+standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var49, var50); /* Direct call hash_collection#HashSet#add on <var49:nullable Object(HashSet[Int])>*/
+}
+{
+{ /* Inline kernel#Int#== (var_mincolor,var_color) on <var_mincolor:Int> */
+var53 = var_mincolor == var_color;
+var51 = var53;
+goto RET_LABEL52;
+RET_LABEL52:(void)0;
+}
+}
+if (var51){
+{
+{ /* Inline kernel#Int#+ (var_mincolor,1l) on <var_mincolor:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var56 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var56)) {
+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);
+}
+var57 = var_mincolor + 1l;
+var54 = var57;
+goto RET_LABEL55;
+RET_LABEL55:(void)0;
+}
+}
+var_mincolor = var54;
+} else {
+}
+{
+{ /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var60 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var60)) {
+var_class_name63 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var64 = var_color + 1l;
+var58 = var64;
+goto RET_LABEL59;
+RET_LABEL59:(void)0;
+}
+}
+var_color = var58;
+{
+((void(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_37); /* next on <var_37:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label65;
+}
+}
+BREAK_label65: (void)0;
+{
+((void(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_37); /* finish on <var_37:Iterator[Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var68 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___min_colors].val; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var68 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 409);
+fatal_exit(1);
+}
+var66 = var68;
+RET_LABEL67:(void)0;
+}
+}
+{
+var69 = (val*)(var_mincolor<<2|1);
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var66, var_h, var69); /* Direct call hash_collection#HashMap#[]= on <var66:HashMap[Object, Int]>*/
+}
+BREAK_label: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Object]>*/
+}
+} else {
+goto BREAK_label70;
+}
+}
+BREAK_label70: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7); /* Direct call array#ArrayIterator#finish on <var_7:ArrayIterator[Object]>*/
+}
+RET_LABEL:;
+}
+/* method coloring#POSetGroupColorer#colorize_set for (self: POSetGroupColorer[Object, Object], Set[Object]) */
+void nit___nit__POSetGroupColorer___colorize_set(val* self, val* p0) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_set /* var set: Set[Object] */;
+val* var1 /* : POSetConflictGraph[Object] */;
+val* var3 /* : POSetConflictGraph[Object] */;
+val* var4 /* : Array[nullable Object] */;
+val* var6 /* : Array[nullable Object] */;
+val* var_ /* var : Array[Object] */;
+val* var7 /* : ArrayIterator[nullable Object] */;
+val* var_8 /* var : ArrayIterator[Object] */;
+short int var9 /* : Bool */;
+val* var10 /* : nullable Object */;
+val* var_h /* var h: Object */;
+short int var11 /* : Bool */;
+short int var12 /* : Bool */;
+long var13 /* : Int */;
+long var_color /* var color: Int */;
+long var_mincolor /* var mincolor: Int */;
+val* var14 /* : Map[Object, Collection[Object]] */;
+val* var16 /* : Map[Object, Collection[Object]] */;
+val* var17 /* : nullable Object */;
+val* var_bucket /* var bucket: nullable Collection[Object] */;
+short int var18 /* : Bool */;
+short int var19 /* : Bool */;
+val* var20 /* : POSet[Object] */;
+val* var21 /* : POSetElement[nullable Object] */;
+val* var22 /* : Collection[nullable Object] */;
+val* var_parents /* var parents: Collection[Object] */;
+val* var_23 /* var : Collection[Object] */;
+val* var24 /* : Iterator[nullable Object] */;
+val* var_25 /* var : Iterator[Object] */;
+short int var26 /* : Bool */;
+val* var27 /* : nullable Object */;
+val* var_e /* var e: Object */;
+long var28 /* : Int */;
+val* var29 /* : HashMap[Object, Int] */;
+val* var31 /* : HashMap[Object, Int] */;
+val* var32 /* : nullable Object */;
+val* var33 /* : HashMap[Object, HashSet[Int]] */;
+val* var35 /* : HashMap[Object, HashSet[Int]] */;
+val* var36 /* : nullable Object */;
+val* var37 /* : nullable Object */;
+short int var38 /* : Bool */;
+short int var40 /* : Bool */;
+long var41 /* : Int */;
+short int var43 /* : Bool */;
+int cltype44;
+int idtype45;
+const char* var_class_name46;
+long var47 /* : Int */;
+long var48 /* : Int */;
+short int var50 /* : Bool */;
+int cltype51;
+int idtype52;
+const char* var_class_name53;
+long var54 /* : Int */;
+val* var56 /* : HashMap[Object, Int] */;
+val* var58 /* : HashMap[Object, Int] */;
+val* var59 /* : nullable Object */;
+/* Covariant cast for argument 0 (set) <p0:Set[Object]> isa Set[H] */
+/* <p0:Set[Object]> isa Set[H] */
+type_struct = self->type->resolution_table->types[COLOR_standard__Set__nit__POSetGroupColorer___35dH];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var = 0;
+} else {
+var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var)) {
+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`", "Set[H]", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 375);
+fatal_exit(1);
+}
+var_set = p0;
+{
+{ /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
+var3 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___graph].val; /* _graph on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 282);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline coloring#POSetConflictGraph#order (var1) on <var1:POSetConflictGraph[Object]> */
+var6 = var1->attrs[COLOR_nit__coloring__POSetConflictGraph___order].val; /* _order on <var1:POSetConflictGraph[Object]> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _order");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 51);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var_ = var4;
+{
+var7 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+}
+var_8 = var7;
+for(;;) {
+{
+var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_8);
+}
+if (var9){
+{
+var10 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_8);
+}
+var_h = var10;
+{
+var11 = ((short int(*)(val* self, val* p0))((((long)var_set&3)?class_info[((long)var_set&3)]:var_set->class)->vft[COLOR_standard__abstract_collection__Collection__has]))(var_set, var_h); /* has on <var_set:Set[Object]>*/
+}
+var12 = !var11;
+if (var12){
+goto BREAK_label;
+} else {
+}
+{
+var13 = nit___nit__POSetGroupColorer___inherit_color(self, var_h);
+}
+var_color = var13;
+var_mincolor = var_color;
+{
+{ /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
+var16 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___buckets].val; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var16 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 288);
+fatal_exit(1);
+}
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+{
+var17 = ((val*(*)(val* self, val* p0))((((long)var14&3)?class_info[((long)var14&3)]:var14->class)->vft[COLOR_standard__abstract_collection__MapRead__get_or_null]))(var14, var_h); /* get_or_null on <var14:Map[Object, Collection[Object]]>*/
+}
+var_bucket = var17;
+if (var_bucket == NULL) {
+var18 = 1; /* is null */
+} else {
+var18 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var19 = ((short int(*)(val* self, val* p0))((((long)var_bucket&3)?class_info[((long)var_bucket&3)]:var_bucket->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_bucket, ((val*)NULL)); /* == on <var_bucket:nullable Collection[Object]>*/
+var18 = var19;
+}
+if (var18){
+goto BREAK_label;
+} else {
+}
+{
+var20 = nit___nit__POSetGroupColorer___poset(self);
+}
+{
+var21 = poset___poset__POSet____91d_93d(var20, var_h);
+}
+{
+var22 = poset___poset__POSetElement___greaters(var21);
+}
+var_parents = var22;
+var_23 = var_bucket;
+{
+var24 = ((val*(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_23); /* iterator on <var_23:Collection[Object]>*/
+}
+var_25 = var24;
+for(;;) {
+{
+var26 = ((short int(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_25); /* is_ok on <var_25:Iterator[Object]>*/
+}
+if (var26){
+{
+var27 = ((val*(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_25); /* item on <var_25:Iterator[Object]>*/
+}
+var_e = var27;
+{
+var28 = nit___nit__POSetGroupColorer___next_free_color(self, var_color, var_parents);
+}
+var_color = var28;
+{
+{ /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
+var31 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___colors_cache].val; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var31 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 311);
+fatal_exit(1);
+}
+var29 = var31;
+RET_LABEL30:(void)0;
+}
+}
+{
+var32 = (val*)(var_color<<2|1);
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var29, var_e, var32); /* Direct call hash_collection#HashMap#[]= on <var29:HashMap[Object, Int]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var35 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___used_colors].val; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var35 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 314);
+fatal_exit(1);
+}
+var33 = var35;
+RET_LABEL34:(void)0;
+}
+}
+{
+var36 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var33, var_h);
+}
+{
+var37 = (val*)(var_color<<2|1);
+standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var36, var37); /* Direct call hash_collection#HashSet#add on <var36:nullable Object(HashSet[Int])>*/
+}
+{
+{ /* Inline kernel#Int#== (var_mincolor,var_color) on <var_mincolor:Int> */
+var40 = var_mincolor == var_color;
+var38 = var40;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+}
+if (var38){
+{
+{ /* Inline kernel#Int#+ (var_mincolor,1l) on <var_mincolor:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var43 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var43)) {
+var_class_name46 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var47 = var_mincolor + 1l;
+var41 = var47;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
+}
+}
+var_mincolor = var41;
+} else {
+}
+{
+{ /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var50 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var50)) {
+var_class_name53 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var54 = var_color + 1l;
+var48 = var54;
+goto RET_LABEL49;
+RET_LABEL49:(void)0;
+}
+}
+var_color = var48;
+{
+((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_25); /* next on <var_25:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label55;
+}
+}
+BREAK_label55: (void)0;
+{
+((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_25); /* finish on <var_25:Iterator[Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var58 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___min_colors].val; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var58 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 409);
+fatal_exit(1);
+}
+var56 = var58;
+RET_LABEL57:(void)0;
+}
+}
+{
+var59 = (val*)(var_mincolor<<2|1);
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var56, var_h, var59); /* Direct call hash_collection#HashMap#[]= on <var56:HashMap[Object, Int]>*/
+}
+BREAK_label: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_8); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[Object]>*/
+}
+} else {
+goto BREAK_label60;
+}
+}
+BREAK_label60: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_8); /* Direct call array#ArrayIterator#finish on <var_8:ArrayIterator[Object]>*/
+}
+RET_LABEL:;
+}
+/* method coloring#POSetGroupColorer#inherit_color for (self: POSetGroupColorer[Object, Object], Object): Int */
+long nit___nit__POSetGroupColorer___inherit_color(val* self, val* p0) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_h /* var h: Object */;
+long var_res /* var res: Int */;
+val* var2 /* : POSet[Object] */;
+val* var3 /* : POSetElement[nullable Object] */;
+val* var4 /* : Collection[nullable Object] */;
+val* var_ /* var : Collection[Object] */;
+val* var5 /* : Iterator[nullable Object] */;
+val* var_6 /* var : Iterator[Object] */;
+short int var7 /* : Bool */;
+val* var8 /* : nullable Object */;
+val* var_p /* var p: Object */;
+val* var9 /* : HashMap[Object, Int] */;
+val* var11 /* : HashMap[Object, Int] */;
+val* var12 /* : nullable Object */;
+long var13 /* : Int */;
+long var_m /* var m: Int */;
+short int var14 /* : Bool */;
+short int var16 /* : Bool */;
+int cltype17;
+int idtype18;
+const char* var_class_name19;
+short int var20 /* : Bool */;
+val* var21 /* : HashMap[Object, Int] */;
+val* var23 /* : HashMap[Object, Int] */;
+val* var24 /* : nullable Object */;
+/* Covariant cast for argument 0 (h) <p0:Object> isa H */
+/* <p0:Object> isa H */
+type_struct = self->type->resolution_table->types[COLOR_nit__POSetGroupColorer___35dH];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var1 = 0;
+} else {
+var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var1)) {
+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`", "H", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 397);
+fatal_exit(1);
+}
+var_h = p0;
+var_res = 0l;
+{
+var2 = nit___nit__POSetGroupColorer___poset(self);
+}
+{
+var3 = poset___poset__POSet____91d_93d(var2, var_h);
+}
+{
+var4 = poset___poset__POSetElement___direct_greaters(var3);
+}
+var_ = var4;
+{
+var5 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[Object]>*/
+}
+var_6 = var5;
+for(;;) {
+{
+var7 = ((short int(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_6); /* is_ok on <var_6:Iterator[Object]>*/
+}
+if (var7){
+{
+var8 = ((val*(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_6); /* item on <var_6:Iterator[Object]>*/
+}
+var_p = var8;
+{
+{ /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var11 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___min_colors].val; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var11 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 409);
+fatal_exit(1);
+}
+var9 = var11;
+RET_LABEL10:(void)0;
+}
+}
+{
+var12 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var9, var_p);
+}
+var13 = (long)(var12)>>2;
+var_m = var13;
+{
+{ /* Inline kernel#Int#> (var_m,var_res) on <var_m:Int> */
+/* Covariant cast for argument 0 (i) <var_res:Int> isa OTHER */
+/* <var_res:Int> isa OTHER */
+var16 = 1; /* easy <var_res:Int> isa OTHER*/
+if (unlikely(!var16)) {
+var_class_name19 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
+}
+var20 = var_m > var_res;
+var14 = var20;
+goto RET_LABEL15;
+RET_LABEL15:(void)0;
+}
+}
+if (var14){
+var_res = var_m;
+} else {
+}
+{
+((void(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_6); /* next on <var_6:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_6); /* finish on <var_6:Iterator[Object]>*/
+}
+{
+{ /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var23 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___min_colors].val; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var23 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 409);
+fatal_exit(1);
+}
+var21 = var23;
+RET_LABEL22:(void)0;
+}
+}
+{
+var24 = (val*)(var_res<<2|1);
+standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var21, var_h, var24); /* Direct call hash_collection#HashMap#[]= on <var21:HashMap[Object, Int]>*/
+}
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#min_colors for (self: POSetGroupColorer[Object, Object]): HashMap[Object, Int] */
+val* nit___nit__POSetGroupColorer___min_colors(val* self) {
+val* var /* : HashMap[Object, Int] */;
+val* var1 /* : HashMap[Object, Int] */;
+var1 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___min_colors].val; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 409);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#next_free_color for (self: POSetGroupColorer[Object, Object], Int, Collection[Object]): Int */
+long nit___nit__POSetGroupColorer___next_free_color(val* self, long p0, val* p1) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+long var_color /* var color: Int */;
+val* var_set /* var set: Collection[Object] */;
+val* var_ /* var : Collection[Object] */;
+val* var2 /* : Iterator[nullable Object] */;
+val* var_3 /* var : Iterator[Object] */;
+short int var4 /* : Bool */;
+val* var5 /* : nullable Object */;
+val* var_h /* var h: Object */;
+val* var6 /* : HashMap[Object, HashSet[Int]] */;
+val* var8 /* : HashMap[Object, HashSet[Int]] */;
+val* var9 /* : nullable Object */;
+short int var10 /* : Bool */;
+val* var11 /* : nullable Object */;
+long var12 /* : Int */;
+short int var14 /* : Bool */;
+int cltype15;
+int idtype16;
+const char* var_class_name17;
+long var18 /* : Int */;
+/* Covariant cast for argument 1 (set) <p1:Collection[Object]> isa Collection[H] */
+/* <p1:Collection[Object]> isa Collection[H] */
+type_struct = self->type->resolution_table->types[COLOR_standard__Collection__nit__POSetGroupColorer___35dH];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) {
+var1 = 0;
+} else {
+var1 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var1)) {
+var_class_name = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[H]", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 416);
+fatal_exit(1);
+}
+var_color = p0;
+var_set = p1;
+for(;;) {
+var_ = var_set;
+{
+var2 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[Object]>*/
+}
+var_3 = var2;
+for(;;) {
+{
+var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_3); /* is_ok on <var_3:Iterator[Object]>*/
+}
+if (var4){
+{
+var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_3); /* item on <var_3:Iterator[Object]>*/
+}
+var_h = var5;
+{
+{ /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
+var8 = self->attrs[COLOR_nit__coloring__POSetGroupColorer___used_colors].val; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
+if (unlikely(var8 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 314);
+fatal_exit(1);
+}
+var6 = var8;
+RET_LABEL7:(void)0;
+}
+}
+{
+var9 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var6, var_h);
+}
+{
+var11 = (val*)(var_color<<2|1);
+var10 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var9, var11);
+}
+if (var10){
+{
+{ /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var14 = 1; /* easy <1l: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, 537);
+fatal_exit(1);
+}
+var18 = var_color + 1l;
+var12 = var18;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
+}
+}
+var_color = var12;
+goto BREAK_;
+} else {
+}
+{
+((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_3); /* next on <var_3:Iterator[Object]>*/
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_3); /* finish on <var_3:Iterator[Object]>*/
+}
+goto BREAK_19;
+BREAK_: (void)0;
+}
+BREAK_19: (void)0;
+var = var_color;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method coloring#POSetGroupColorer#init for (self: POSetGroupColorer[Object, Object]) */
+void nit___nit__POSetGroupColorer___standard__kernel__Object__init(val* self) {
+{
+((void(*)(val* self))(self->class->vft[COLOR_nit___nit__POSetGroupColorer___standard__kernel__Object__init]))(self); /* init on <self:POSetGroupColorer[Object, Object]>*/
+}
+RET_LABEL:;
+}
+/* method coloring#BucketsColorer#colors for (self: BucketsColorer[Object, Object]): HashMap[Object, Int] */
+val* nit___nit__BucketsColorer___colors(val* self) {
+val* var /* : HashMap[Object, Int] */;
+val* var1 /* : HashMap[Object, Int] */;
+var1 = self->attrs[COLOR_nit__coloring__BucketsColorer___colors].val; /* _colors on <self:BucketsColorer[Object, Object]> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 453);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method coloring#BucketsColorer#conflicts for (self: BucketsColorer[Object, Object]): HashMap[Object, Set[Object]] */
+val* nit___nit__BucketsColorer___conflicts(val* self) {
+val* var /* : HashMap[Object, Set[Object]] */;
+val* var1 /* : HashMap[Object, Set[Object]] */;
+var1 = self->attrs[COLOR_nit__coloring__BucketsColorer___conflicts].val; /* _conflicts on <self:BucketsColorer[Object, Object]> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 454);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method coloring#BucketsColorer#colorize for (self: BucketsColorer[Object, Object], Map[Object, Set[Object]]): Map[Object, Int] */
+val* nit___nit__BucketsColorer___colorize(val* self, val* p0) {
+val* var /* : Map[Object, Int] */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_buckets /* var buckets: Map[Object, Set[Object]] */;
+long var_min_color /* var min_color: Int */;
+val* var_ /* var : Map[Object, Set[Object]] */;
+val* var2 /* : MapIterator[nullable Object, nullable Object] */;
+val* var_3 /* var : MapIterator[Object, Set[Object]] */;
+short int var4 /* : Bool */;
+val* var5 /* : nullable Object */;
+val* var_holder /* var holder: Object */;
+val* var6 /* : nullable Object */;
+val* var_hbuckets /* var hbuckets: Set[Object] */;
+val* var_7 /* var : Set[Object] */;
+val* var8 /* : Iterator[nullable Object] */;
+val* var_9 /* var : Iterator[Object] */;
+short int var10 /* : Bool */;
+val* var11 /* : nullable Object */;
+val* var_bucket /* var bucket: Object */;
+val* var12 /* : HashMap[Object, Int] */;
+val* var14 /* : HashMap[Object, Int] */;
+short int var15 /* : Bool */;
+long var_color /* var color: Int */;
+short int var16 /* : Bool */;
+short int var17 /* : Bool */;
+long var18 /* : Int */;
+short int var20 /* : Bool */;
+int cltype21;
+int idtype22;
+const char* var_class_name23;
+long var24 /* : Int */;
+val* var26 /* : HashMap[Object, Int] */;
+val* var28 /* : HashMap[Object, Int] */;
+val* var29 /* : nullable Object */;
+val* var33 /* : HashMap[Object, Int] */;
+val* var35 /* : HashMap[Object, Int] */;
+/* Covariant cast for argument 0 (buckets) <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
+/* <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
+type_struct = self->type->resolution_table->types[COLOR_standard__Map__nit__BucketsColorer___35dH__standard__Set__nit__BucketsColorer___35dE];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
+var1 = 0;
+} else {
+var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype;
+}
+if (unlikely(!var1)) {
+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`", "Map[H, Set[E]]", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__coloring, 456);
+fatal_exit(1);
+}
+var_buckets = p0;
+{
+nit___nit__BucketsColorer___compute_conflicts(self, var_buckets); /* Direct call coloring#BucketsColorer#compute_conflicts on <self:BucketsColorer[Object, Object]>*/
+}
+var_min_color = 0l;
+var_ = var_buckets;
+{
+var2 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:Map[Object, Set[Object]]>*/
+}
+var_3 = var2;
+for(;;) {
+{
+var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_3); /* is_ok on <var_3:MapIterator[Object, Set[Object]]>*/
+}
+if (var4){