   0  -live- %i0, %r0
   0  goto_if_not_int_lt %i0, $0, L1
   5  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i1
  10  int_add %i0, %i1 -> %i2
  14  -live- %i0, %i1, %i2, %r0
  14  goto_if_not_int_lt %i2, $0, L2
  19  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
  23  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  28  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  33  assert_not_none %r1
  35  -live- %r1
  35  guard_class %r1 -> %i2
  38  -live- %r1
  38  raise %r1
  40  ---
  40  L2:
  40  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
  45  strlen %r1 -> %i2
  48  strlen %r1 -> %i3
  51  -live- %i0, %i1, %i2, %i3, %r0, %r1
  51  goto_if_not_int_eq %i1, %i3, L3
  56  int_sub %i2, $1 -> %i4
  60  L4:
  60  int_neg %i0 -> %i1
  63  int_sub %i1, $1 -> %i0
  67  int_copy $0 -> %i1
  70  L5:
  70  -live- %i0, %i1, %i2, %i4, %r0
  70  goto_if_not_int_ge %i1, %i0, L6
  75  L7:
  75  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
  80  strlen %r1 -> %i1
  83  -live- %i1, %i2, %i4, %r1
  83  goto_if_not_int_gt %i2, %i1, L8
  88  strlen %r1 -> %i2
  91  L9:
  91  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i4, %i2], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r1
 101  -live- %r1
 101  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac551d398> -> %r0
 105  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 110  setfield_gc_i %r0, $1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 115  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 120  ref_return %r0
 122  ---
 122  L8:
 122  goto L9
 125  ---
 125  L6:
 125  int_copy %i4 -> %i2
 128  int_add %i1, $1 -> %i1
 132  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i3
 137  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 142  strlen %r1 -> %i4
 145  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 145  goto_if_not_int_eq %i3, %i4, L10
 150  int_sub %i2, $1 -> %i4
 154  goto L5
 157  ---
 157  L10:
 157  residual_call_ir_i $<* fn prev_codepoint_pos_dont_look_inside>, I[%i2], R[%r1], <CallDescr(ri) EF=0> -> %i4
 166  goto L5
 169  ---
 169  L3:
 169  residual_call_ir_i $<* fn prev_codepoint_pos_dont_look_inside>, I[%i2], R[%r1], <CallDescr(ri) EF=0> -> %i4
 178  goto L4
 181  ---
 181  L1:
 181  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
 186  -live- %i0, %i2, %r0
 186  goto_if_not_int_ge %i0, %i2, L11
 191  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
 195  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 200  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 205  assert_not_none %r1
 207  -live- %r1
 207  guard_class %r1 -> %i2
 210  -live- %r1
 210  raise %r1
 212  ---
 212  L11:
 212  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 217  strlen %r1 -> %i1
 220  -live- %i0, %i1, %i2, %r0, %r1
 220  goto_if_not_int_eq %i2, %i1, L12
 225  int_copy $1 -> %i2
 228  int_copy $0 -> %i3
 231  int_copy $0 -> %i4
 234  L13:
 234  -live- %i0, %i2, %i3, %i4, %r0
 234  goto_if_not_int_ge %i3, %i0, L14
 239  goto L7
 242  ---
 242  L14:
 242  int_copy %i2 -> %i4
 245  int_add %i3, $1 -> %i3
 249  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
 254  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 259  strlen %r1 -> %i1
 262  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 262  goto_if_not_int_eq %i2, %i1, L15
 267  int_add %i4, $1 -> %i2
 271  goto L13
 274  ---
 274  L15:
 274  residual_call_ir_i $<* fn next_codepoint_pos_dont_look_inside>, I[%i4], R[%r1], <CallDescr(ri) EF=0> -> %i2
 283  goto L13
 286  ---
 286  L12:
 286  residual_call_ir_i $<* fn next_codepoint_pos_dont_look_inside>, I[$0], R[%r1], <CallDescr(ri) EF=0> -> %i2
 295  int_copy $0 -> %i3
 298  int_copy $0 -> %i4
 301  goto L13
