   0  -live- %i0, %r0, %r1
   0  guard_class %r1 -> %i1
   3  -live- %i0, %i1, %r0, %r1
   3  int_guard_value %i1
   5  -live- %i0, %r0, %r1
   5  guard_class %r1 -> %i1
   8  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
  13  getfield_raw_i %i1, FieldDescr<specfunc.variant0> -> %i1
  18  -live- %i0, %i1, %r0, %r1
  18  int_guard_value %i1
  20  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r2
  27  -live- %i0, %r0, %r1, %r2
  27  -live- %i0, %r0, %r1, %r2
  27  guard_class %r0 -> %i2
  30  getfield_gc_i %r0, FieldDescr<pypy.module.array.interp_array.W_ArrayBase.inst_len> -> %i1
  35  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff5ef07fa0> -> %r3
  39  setfield_gc_i %r3, $0, FieldDescr<range.next>
  44  setfield_gc_i %r3, %i1, FieldDescr<range.stop>
  49  int_copy $0 -> %i4
  52  getfield_gc_i %r3, FieldDescr<range.next> -> %i1
  57  getfield_gc_i %r3, FieldDescr<range.stop> -> %i3
  62  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
  62  goto_if_not_int_ge %i1, %i3, L1
  67  -live- %i0, %i4
  67  goto_if_not %i0, L2
  71  int_return %i4
  73  ---
  73  L2:
  73  int_return $-1
  75  ---
  75  L1:
  75  int_add %i1, $1 -> %i3
  79  setfield_gc_i %r3, %i3, FieldDescr<range.next>
  84  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
  84  int_guard_value %i0
  86  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
  86  int_guard_value %i2
  88  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
  88  ref_guard_value %r2
  90  recursive_call_i $28, I[%i0, %i2], R[%r2], F[], I[%i1, %i4], R[%r0, %r3, %r1], F[] -> %i4
 107  -live- %i4
 107  int_return %i4
