   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 0x0000000191a77750> -> %i0
  15  int_sub %i0, $1 -> %i0
  19  -live- %i0, %r0, %r2
  19  goto_if_not_int_ge %i0, $0, L1
  24  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_gears> -> %r1
  29  getarrayitem_gc_r_pure %r1, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000191a77750> -> %r1
  35  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_indices> -> %r3
  40  getarrayitem_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
  46  int_add %i1, $1 -> %i1
  50  getfield_gc_i %r1, FieldDescr<list.length> -> %i2
  55  -live- %i0, %i1, %i2, %r0, %r1, %r2
  55  goto_if_not_int_lt %i1, %i2, L2
  60  getlistitem_gc_r %r1, %i1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0> -> %r1
  68  setarrayitem_gc_r %r2, %i0, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
  74  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_indices> -> %r1
  79  setarrayitem_gc_i %r1, %i0, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0>
  85  void_return
  86  ---
  86  L2:
  86  residual_call_r_v $<* fn W_Product._rotate_previous_gears>, R[%r0], <CallDescr(r) EF=2>
  92  void_return
  93  ---
  93  L1:
  93  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_lst>
  98  void_return
