   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
   5  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  10  strlen %r3 -> %i1
  13  -live- %i0, %i1, %i2, %r0, %r3
  16  goto_if_not_int_eq %i2, %i1, L1
  21  int_return %i0
  23  ---
  23  L1:
  23  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r1
  28  ref_copy %r0 -> %r2
  31  conditional_call_value_ir_r %r1, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r0
  40  -live- %i0, %r0, %r2, %r3
  43  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
  48  residual_call_ir_i $<* fn codepoint_index_at_byte_position>, I[%i0, %i2], R[%r3, %r0], <CallDescr(rrii) EF=4> -> %i0
  59  -live- %i0
  62  int_return %i0
