   0  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_lst> -> %r2
   5  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_gears> -> %r1
  10  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i0
  15  int_sub %i0, $1 -> %i0
  19  -live- %i0, %r0, %r2
  22  goto_if_not_int_ge %i0, $0, L1
  27  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_gears> -> %r1
  32  getarrayitem_gc_r_pure %r1, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r1
  38  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_indices> -> %r3
  43  getarrayitem_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i1
  49  int_add %i1, $1 -> %i1
  53  getfield_gc_i %r1, FieldDescr<list.length> -> %i2
  58  -live- %i0, %i1, %i2, %r0, %r1, %r2
  61  goto_if_not_int_lt %i1, %i2, L2
  66  getlistitem_gc_r %r1, %i1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r1
  74  setarrayitem_gc_r %r2, %i0, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
  80  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_indices> -> %r1
  85  setarrayitem_gc_i %r1, %i0, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10>
  91  void_return
  92  ---
  92  L2:
  92  residual_call_r_v $<* fn W_Product._rotate_previous_gears>, R[%r0], <CallDescr(r) EF=2>
  98  void_return
  99  ---
  99  L1:
  99  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_lst>
 104  void_return
