   0  getfield_gc_i %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
  13  goto_if_not_int_eq %i2, %i1, L1
  18  int_return %i0
  20  ---
  20  L1:
  20  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r1
  25  ref_copy %r0 -> %r2
  28  conditional_call_value_ir_r %r1, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r0
  37  -live- %i0, %r0, %r2, %r3
  37  getfield_gc_i %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
  42  residual_call_ir_i $<* fn codepoint_index_at_byte_position>, I[%i0, %i2], R[%r3, %r0], <CallDescr(rrii) EF=4> -> %i0
  53  -live- %i0
  53  int_return %i0
