   0  -live- %i0, %i1, %r0, %r1, %r2
   0  guard_class %r2 -> %i2
   3  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
   8  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
  13  -live- %i0, %i1, %i2, %r0, %r1, %r2
  13  goto_if_not %i2, L1
  17  L2:
  17  inline_call_r_r <JitCode 'unicode_from_encoded_object'>, R[%r0, $<* struct rpy_string>, $<* struct rpy_string>] -> %r0
  25  -live- %i0, %i1, %r0, %r2
  25  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__value> -> %r0
  30  inline_call_r_r <JitCode '_op_val'>, R[%r2, $<* struct rpy_string>] -> %r2
  37  -live- %i0, %i1, %r0, %r2
  37  unicodelen %r2 -> %i2
  40  -live- %i0, %i1, %i2, %r0, %r2
  40  goto_if_not_int_is_zero %i2, L3
  44  int_return $True
  46  ---
  46  L3:
  46  residual_call_ir_i $<* fn endswith__unicode_unicode>, I[%i0, %i1], R[%r0, %r2], <CallDescr(rrii) EF=4> -> %i2
  57  -live- %i2
  57  int_return %i2
  59  ---
  59  L1:
  59  -live- %i0, %i1, %r0, %r1, %r2
  59  guard_class %r2 -> %i2
  62  -live- %i0, %i1, %i2, %r0, %r1, %r2
  62  int_guard_value %i2
  64  -live- %i0, %i1, %r0, %r1, %r2
  64  guard_class %r2 -> %i2
  67  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
  72  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
  77  -live- %i0, %i1, %i2, %r0, %r1, %r2
  77  int_guard_value %i2
  79  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r3
  86  -live- %i0, %i1, %r0, %r1, %r2, %r3
  86  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
  93  -live- %i0, %i1, %i2, %r0, %r1, %r2
  93  -live- %i0, %i1, %i2, %r0, %r1, %r2
  93  goto_if_not %i2, L4
  97  goto L2
 100  ---
 100  L4:
 100  inline_call_r_r <JitCode '_op_val'>, R[%r2, $<* struct rpy_string>] -> %r2
 107  -live- %i0, %i1, %r1, %r2
 107  strlen %r1 -> %i2
 110  -live- %i0, %i1, %i2, %r1, %r2
 110  goto_if_not_int_gt %i0, %i2, L5
 115  int_return $False
 117  ---
 117  L5:
 117  residual_call_ir_i $<* fn endswith__str_str>, I[%i0, %i1], R[%r1, %r2], <CallDescr(rrii) EF=4> -> %i2
 128  -live- %i2
 128  int_return %i2
