-long var7 /* : Int */;
-long var8 /* : Int */;
-long var10 /* : Int */;
-long var_len /* var len: Int */;
-val* var11 /* : Match */;
-long var12 /* : Int */;
-val* var13 /* : nullable Match */;
-val* var14 /* : Match */;
-long var15 /* : Int */;
-long var16 /* : Int */;
-long var18 /* : Int */;
-var_s = p0;
-var1 = NEW_array__Array(&type_array__Arraystring_search__Match);
-((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on <var1:Array[Match]>*/;
-CHECK_NEW_array__Array(var1);
-var_res = var1;
-var2 = 0;
-var_i = var2;
-var3 = 0;
-var4 = ((val* (*)(val*, val*, long))(self->class->vft[COLOR_string_search__Pattern__search_in]))(self, var_s, var3) /* search_in on <self:Pattern>*/;
-var_match = var4;
-for(;;) {
-var5 = NULL;
-if (var_match == NULL) {
-var6 = 0; /* is null */
-} else {
-var6 = 1; /* arg is null and recv is not */
-}
-if (!var6) break;
-var7 = ((long (*)(val*))(var_match->class->vft[COLOR_string_search__Match__from]))(var_match) /* from on <var_match:nullable Match(Match)>*/;
-{ /* Inline kernel#Int#- (var7,var_i) */
-var10 = var7 - var_i;
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-var_len = var8;
-var11 = NEW_string_search__Match(&type_string_search__Match);
-((void (*)(val*, val*, long, long))(var11->class->vft[COLOR_string_search__Match__init]))(var11, var_s, var_i, var_len) /* init on <var11:Match>*/;
-CHECK_NEW_string_search__Match(var11);
-((void (*)(val*, val*))(var_res->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_res, var11) /* add on <var_res:Array[Match]>*/;
-var12 = ((long (*)(val*))(var_match->class->vft[COLOR_string_search__Match__after]))(var_match) /* after on <var_match:nullable Match(Match)>*/;
-var_i = var12;
-var13 = ((val* (*)(val*, val*, long))(self->class->vft[COLOR_string_search__Pattern__search_in]))(self, var_s, var_i) /* search_in on <self:Pattern>*/;
-var_match = var13;
-CONTINUE_label: (void)0;
-}
-BREAK_label: (void)0;
-var14 = NEW_string_search__Match(&type_string_search__Match);
-var15 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on <var_s:String>*/;
-{ /* Inline kernel#Int#- (var15,var_i) */
-var18 = var15 - var_i;
-var16 = var18;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
-}
-((void (*)(val*, val*, long, long))(var14->class->vft[COLOR_string_search__Match__init]))(var14, var_s, var_i, var16) /* init on <var14:Match>*/;
-CHECK_NEW_string_search__Match(var14);
-((void (*)(val*, val*))(var_res->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_res, var14) /* add on <var_res:Array[Match]>*/;
-var = var_res;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method string_search#Pattern#split_in for (self: Object, String): Array[Match] */
-val* VIRTUAL_string_search__Pattern__split_in(val* self, val* p0) {
-val* var /* : Array[Match] */;
-val* var1 /* : Array[Match] */;
-var1 = string_search__Pattern__split_in(self, p0);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#to_s for (self: BM_Pattern): String */
-val* string_search__BM_Pattern__to_s(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var1 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on <self:BM_Pattern> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 67);
-exit(1);
-}
-var = var1;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#to_s for (self: Object): String */
-val* VIRTUAL_string_search__BM_Pattern__to_s(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var1 = string_search__BM_Pattern__to_s(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#search_index_in for (self: BM_Pattern, String, Int): Int */
-long string_search__BM_Pattern__search_index_in(val* self, val* p0, long p1) {
-long var /* : Int */;
-val* var_s /* var s: String */;
-long var_from /* var from: Int */;
-long var1 /* : Int */;
-short int var2 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-short int var5 /* : Bool */;
-long var6 /* : Int */;
-long var_n /* var n: Int */;
-long var7 /* : Int */;
-long var_m /* var m: Int */;
-long var_j /* var j: Int */;
-long var8 /* : Int */;
-long var10 /* : Int */;
-long var11 /* : Int */;
-long var12 /* : Int */;
-long var14 /* : Int */;
-short int var15 /* : Bool */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-const char* var_class_name20;
-short int var21 /* : Bool */;
-long var22 /* : Int */;
-long var23 /* : Int */;
-long var25 /* : Int */;
-long var_i /* var i: Int */;
-short int var26 /* : Bool */;
-long var27 /* : Int */;
-short int var28 /* : Bool */;
-short int var30 /* : Bool */;
-int cltype31;
-int idtype32;
-const char* var_class_name33;
-short int var34 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var35 /* : String */;
-val* var36 /* : nullable Object */;
-long var37 /* : Int */;
-long var39 /* : Int */;
-val* var40 /* : nullable Object */;
-short int var41 /* : Bool */;
-short int var43 /* : Bool */;
-long var44 /* : Int */;
-long var45 /* : Int */;
-long var47 /* : Int */;
-long var48 /* : Int */;
-short int var49 /* : Bool */;
-short int var51 /* : Bool */;
-int cltype52;
-int idtype53;
-const char* var_class_name54;
-short int var55 /* : Bool */;
-val* var56 /* : Array[Int] */;
-val* var57 /* : nullable Object */;
-long var58 /* : Int */;
-long var_gs /* var gs: Int */;
-long var59 /* : Int */;
-long var61 /* : Int */;
-val* var62 /* : nullable Object */;
-long var63 /* : Int */;
-char var64 /* : Char */;
-long var65 /* : Int */;
-long var67 /* : Int */;
-long var68 /* : Int */;
-long var69 /* : Int */;
-long var71 /* : Int */;
-long var72 /* : Int */;
-long var74 /* : Int */;
-long var_bc /* var bc: Int */;
-short int var75 /* : Bool */;
-short int var77 /* : Bool */;
-int cltype78;
-int idtype79;
-const char* var_class_name80;
-short int var81 /* : Bool */;
-long var82 /* : Int */;
-long var84 /* : Int */;
-long var85 /* : Int */;
-long var87 /* : Int */;
-long var89 /* : Int */;
-long var90 /* : Int */;
-long var92 /* : Int */;
-var_s = p0;
-var_from = p1;
-var1 = 0;
-{ /* Inline kernel#Int#>= (var_from,var1) */
-/* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
-/* <var1:Int> isa OTHER */
-var4 = 1; /* easy <var1:Int> isa OTHER*/
-if (!var4) {
-var_class_name = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-exit(1);
-}
-var5 = var_from >= var1;
-var2 = var5;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-if (!var2) {
-fprintf(stderr, "Runtime error: %s", "Assert failed");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 72);
-exit(1);
-}
-var6 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on <var_s:String>*/;
-var_n = var6;
-var7 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on <self:BM_Pattern> */
-var_m = var7;
-var_j = var_from;
-for(;;) {
-{ /* Inline kernel#Int#- (var_n,var_m) */
-var10 = var_n - var_m;
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-var11 = 1;
-{ /* Inline kernel#Int#+ (var8,var11) */
-var14 = var8 + var11;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-{ /* Inline kernel#Int#< (var_j,var12) */
-/* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
-/* <var12:Int> isa OTHER */
-var17 = 1; /* easy <var12:Int> isa OTHER*/
-if (!var17) {
-var_class_name20 = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
-}
-var21 = var_j < var12;
-var15 = var21;
-goto RET_LABEL16;
-RET_LABEL16:(void)0;
-}
-if (!var15) break;
-var22 = 1;
-{ /* Inline kernel#Int#- (var_m,var22) */
-var25 = var_m - var22;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-var_i = var23;
-for(;;) {
-var27 = 0;
-{ /* Inline kernel#Int#>= (var_i,var27) */
-/* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
-/* <var27:Int> isa OTHER */
-var30 = 1; /* easy <var27:Int> isa OTHER*/
-if (!var30) {
-var_class_name33 = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-exit(1);
-}
-var34 = var_i >= var27;
-var28 = var34;
-goto RET_LABEL29;
-RET_LABEL29:(void)0;
-}
-var_ = var28;
-if (var28){
-var35 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on <self:BM_Pattern> */
-if (var35 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 79);
-exit(1);
-}
-var36 = ((val* (*)(val*, long))(var35->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var35, var_i) /* [] on <var35:String>*/;
-{ /* Inline kernel#Int#+ (var_i,var_j) */
-var39 = var_i + var_j;
-var37 = var39;
-goto RET_LABEL38;
-RET_LABEL38:(void)0;
-}
-var40 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var37) /* [] on <var_s:String>*/;
-{ /* Inline kernel#Char#== (var36,var40) */
-var43 = var36 == var40 || (((struct instance_kernel__Char*)var36)->value == ((struct instance_kernel__Char*)var40)->value);
-var41 = var43;
-goto RET_LABEL42;
-RET_LABEL42:(void)0;
-}
-var26 = var41;
-} else {
-var26 = var_;
-}
-if (!var26) break;
-var44 = 1;
-{ /* Inline kernel#Int#- (var_i,var44) */
-var47 = var_i - var44;
-var45 = var47;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
-}
-var_i = var45;
-CONTINUE_label: (void)0;
-}
-BREAK_label: (void)0;
-var48 = 0;
-{ /* Inline kernel#Int#< (var_i,var48) */
-/* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
-/* <var48:Int> isa OTHER */
-var51 = 1; /* easy <var48:Int> isa OTHER*/
-if (!var51) {
-var_class_name54 = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
-}
-var55 = var_i < var48;
-var49 = var55;
-goto RET_LABEL50;
-RET_LABEL50:(void)0;
-}
-if (var49){
-var = var_j;
-goto RET_LABEL;
-} else {
-var56 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on <self:BM_Pattern> */
-if (var56 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 83);
-exit(1);
-}
-var57 = ((val* (*)(val*, long))(var56->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var56, var_i) /* [] on <var56:Array[Int]>*/;
-var58 = ((struct instance_kernel__Int*)var57)->value; /* autounbox from nullable Object to Int */;
-var_gs = var58;
-{ /* Inline kernel#Int#+ (var_i,var_j) */
-var61 = var_i + var_j;
-var59 = var61;
-goto RET_LABEL60;
-RET_LABEL60:(void)0;
-}
-var62 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var59) /* [] on <var_s:String>*/;
-var64 = ((struct instance_kernel__Char*)var62)->value; /* autounbox from nullable Object to Char */;
-var63 = ((long (*)(val*, char))(self->class->vft[COLOR_string_search__BM_Pattern__bc]))(self, var64) /* bc on <self:BM_Pattern>*/;
-{ /* Inline kernel#Int#- (var63,var_m) */
-var67 = var63 - var_m;
-var65 = var67;
-goto RET_LABEL66;
-RET_LABEL66:(void)0;
-}
-var68 = 1;
-{ /* Inline kernel#Int#+ (var65,var68) */
-var71 = var65 + var68;
-var69 = var71;
-goto RET_LABEL70;
-RET_LABEL70:(void)0;
-}
-{ /* Inline kernel#Int#+ (var69,var_i) */
-var74 = var69 + var_i;
-var72 = var74;
-goto RET_LABEL73;
-RET_LABEL73:(void)0;
-}
-var_bc = var72;
-{ /* Inline kernel#Int#> (var_gs,var_bc) */
-/* Covariant cast for argument 0 (i) <var_bc:Int> isa OTHER */
-/* <var_bc:Int> isa OTHER */
-var77 = 1; /* easy <var_bc:Int> isa OTHER*/
-if (!var77) {
-var_class_name80 = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
-exit(1);
-}
-var81 = var_gs > var_bc;
-var75 = var81;
-goto RET_LABEL76;
-RET_LABEL76:(void)0;
-}
-if (var75){
-{ /* Inline kernel#Int#+ (var_j,var_gs) */
-var84 = var_j + var_gs;
-var82 = var84;
-goto RET_LABEL83;
-RET_LABEL83:(void)0;
-}
-var_j = var82;
-} else {
-{ /* Inline kernel#Int#+ (var_j,var_bc) */
-var87 = var_j + var_bc;
-var85 = var87;
-goto RET_LABEL86;
-RET_LABEL86:(void)0;
-}
-var_j = var85;
-}
-}
-CONTINUE_label88: (void)0;
-}
-BREAK_label88: (void)0;
-var89 = 1;
-{ /* Inline kernel#Int#unary - (var89) */
-var92 = -var89;
-var90 = var92;
-goto RET_LABEL91;
-RET_LABEL91:(void)0;
-}
-var = var90;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#search_index_in for (self: Object, String, Int): Int */
-long VIRTUAL_string_search__BM_Pattern__search_index_in(val* self, val* p0, long p1) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = string_search__BM_Pattern__search_index_in(self, p0, p1);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#search_in for (self: BM_Pattern, String, Int): nullable Match */
-val* string_search__BM_Pattern__search_in(val* self, val* p0, long p1) {
-val* var /* : nullable Match */;
-val* var_s /* var s: String */;
-long var_from /* var from: Int */;
-long var1 /* : Int */;
-long var_to /* var to: Int */;
-long var2 /* : Int */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-short int var6 /* : Bool */;
-val* var7 /* : null */;
-val* var8 /* : Match */;
-long var9 /* : Int */;
-var_s = p0;
-var_from = p1;
-var1 = ((long (*)(val*, val*, long))(self->class->vft[COLOR_string_search__Pattern__search_index_in]))(self, var_s, var_from) /* search_index_in on <self:BM_Pattern>*/;
-var_to = var1;
-var2 = 0;
-{ /* Inline kernel#Int#< (var_to,var2) */
-/* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
-/* <var2:Int> isa OTHER */
-var5 = 1; /* easy <var2:Int> isa OTHER*/
-if (!var5) {
-var_class_name = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
-}
-var6 = var_to < var2;
-var3 = var6;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-if (var3){
-var7 = NULL;
-var = var7;
-goto RET_LABEL;
-} else {
-var8 = NEW_string_search__Match(&type_string_search__Match);
-var9 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on <self:BM_Pattern> */
-((void (*)(val*, val*, long, long))(var8->class->vft[COLOR_string_search__Match__init]))(var8, var_s, var_to, var9) /* init on <var8:Match>*/;
-CHECK_NEW_string_search__Match(var8);
-var = var8;
-goto RET_LABEL;
-}
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#search_in for (self: Object, String, Int): nullable Match */
-val* VIRTUAL_string_search__BM_Pattern__search_in(val* self, val* p0, long p1) {
-val* var /* : nullable Match */;
-val* var1 /* : nullable Match */;
-var1 = string_search__BM_Pattern__search_in(self, p0, p1);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#init for (self: BM_Pattern, String) */
-void string_search__BM_Pattern__init(val* self, val* p0) {
-val* var_motif /* var motif: String */;
-long var /* : Int */;
-val* var1 /* : Array[Int] */;
-long var2 /* : Int */;
-val* var3 /* : ArrayMap[Char, Int] */;
-var_motif = p0;
-self->attrs[COLOR_string_search__BM_Pattern___motif].val = var_motif; /* _motif on <self:BM_Pattern> */
-var = ((long (*)(val*))(var_motif->class->vft[COLOR_abstract_collection__Collection__length]))(var_motif) /* length on <var_motif:String>*/;
-self->attrs[COLOR_string_search__BM_Pattern___length].l = var; /* _length on <self:BM_Pattern> */
-var1 = NEW_array__Array(&type_array__Arraykernel__Int);
-var2 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on <self:BM_Pattern> */
-((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on <var1:Array[Int]>*/;
-CHECK_NEW_array__Array(var1);
-self->attrs[COLOR_string_search__BM_Pattern___gs].val = var1; /* _gs on <self:BM_Pattern> */
-var3 = NEW_array__ArrayMap(&type_array__ArrayMapkernel__Charkernel__Int);
-((void (*)(val*))(var3->class->vft[COLOR_array__ArrayMap__init]))(var3) /* init on <var3:ArrayMap[Char, Int]>*/;
-CHECK_NEW_array__ArrayMap(var3);
-self->attrs[COLOR_string_search__BM_Pattern___bc_table].val = var3; /* _bc_table on <self:BM_Pattern> */
-((void (*)(val*))(self->class->vft[COLOR_string_search__BM_Pattern__compute_gs]))(self) /* compute_gs on <self:BM_Pattern>*/;
-((void (*)(val*))(self->class->vft[COLOR_string_search__BM_Pattern__compute_bc]))(self) /* compute_bc on <self:BM_Pattern>*/;
-RET_LABEL:;
-}
-/* method string_search#BM_Pattern#init for (self: Object, String) */
-void VIRTUAL_string_search__BM_Pattern__init(val* self, val* p0) {
-string_search__BM_Pattern__init(self, p0);
-RET_LABEL:;
-}
-/* method string_search#BM_Pattern#bc for (self: BM_Pattern, Char): Int */
-long string_search__BM_Pattern__bc(val* self, char p0) {
-long var /* : Int */;
-char var_e /* var e: Char */;
-val* var1 /* : Map[Char, Int] */;
-short int var2 /* : Bool */;
-val* var3 /* : Object */;
-val* var4 /* : Map[Char, Int] */;
-val* var5 /* : nullable Object */;
-val* var6 /* : Object */;
-long var7 /* : Int */;
-long var8 /* : Int */;
-var_e = p0;
-var1 = self->attrs[COLOR_string_search__BM_Pattern___bc_table].val; /* _bc_table on <self:BM_Pattern> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _bc_table");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 126);
-exit(1);
-}
-var3 = BOX_kernel__Char(var_e); /* autobox from Char to Object */
-var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var1, var3) /* has_key on <var1:Map[Char, Int]>*/;
-if (var2){
-var4 = self->attrs[COLOR_string_search__BM_Pattern___bc_table].val; /* _bc_table on <self:BM_Pattern> */
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _bc_table");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 127);
-exit(1);
-}
-var6 = BOX_kernel__Char(var_e); /* autobox from Char to Object */
-var5 = ((val* (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var4, var6) /* [] on <var4:Map[Char, Int]>*/;
-var7 = ((struct instance_kernel__Int*)var5)->value; /* autounbox from nullable Object to Int */;
-var = var7;
-goto RET_LABEL;
-} else {
-var8 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on <self:BM_Pattern> */
-var = var8;
-goto RET_LABEL;
-}
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#bc for (self: Object, Char): Int */
-long VIRTUAL_string_search__BM_Pattern__bc(val* self, char p0) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = string_search__BM_Pattern__bc(self, p0);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method string_search#BM_Pattern#compute_bc for (self: BM_Pattern) */
-void string_search__BM_Pattern__compute_bc(val* self) {
-val* var /* : String */;
-val* var_x /* var x: String */;
-long var1 /* : Int */;
-long var_m /* var m: Int */;
-long var2 /* : Int */;
-long var_i /* var i: Int */;
-long var3 /* : Int */;
-long var4 /* : Int */;
-long var6 /* : Int */;