   0  getfield_gc_i_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext.inst_end> -> %i1
   5  -live- %i0, %i1, %r0
   5  goto_if_not_int_is_zero %i1, L1
   9  int_return $False
  11  ---
  11  L1:
  11  int_sub %i0, $1 -> %i1
  15  -live- %i0, %i1, %r0
  15  goto_if_not_int_lt %i1, $0, L2
  20  int_copy $0 -> %i2
  23  L3:
  23  getfield_gc_i_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext.inst_end> -> %i1
  28  -live- %i0, %i1, %i2, %r0
  28  goto_if_not_int_lt %i0, %i1, L4
  33  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.StrMatchContext.inst__string> -> %r1
  38  strgetitem %r1, %i0 -> %i1
  42  -live- %i1, %i2
  42  goto_if_not_int_eq %i1, $95, L5
  47  int_copy $1 -> %i1
  50  L6:
  50  int_eq %i1, %i2 -> %i1
  54  int_return %i1
  56  ---
  56  L5:
  56  -live- %i1, %i2
  56  goto_if_not_int_lt %i1, $256, L7
  61  int_signext %i1, $4 -> %i1
  65  residual_call_ir_i $<* fn isalnum>, I[%i1], R[], <CallDescr(i) EF=2> -> %i1
  73  goto L6
  76  ---
  76  L7:
  76  int_copy $0 -> %i1
  79  goto L6
  82  ---
  82  L4:
  82  int_copy $0 -> %i1
  85  goto L6
  88  ---
  88  L2:
  88  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.StrMatchContext.inst__string> -> %r1
  93  strgetitem %r1, %i1 -> %i1
  97  -live- %i0, %i1, %r0
  97  goto_if_not_int_eq %i1, $95, L8
 102  int_copy $1 -> %i2
 105  goto L3
 108  ---
 108  L8:
 108  -live- %i0, %i1, %r0
 108  goto_if_not_int_lt %i1, $256, L9
 113  int_signext %i1, $4 -> %i1
 117  residual_call_ir_i $<* fn isalnum>, I[%i1], R[], <CallDescr(i) EF=2> -> %i2
 125  goto L3
 128  ---
 128  L9:
 128  int_copy $0 -> %i2
 131  goto L3
