   0  getfield_gc_r %r0, FieldDescr<pypy.module.itertools.interp_itertools.W_Product.inst_lst> -> %r2
   5  -live- %r0, %r2
   8  goto_if_not_ptr_iszero %r2, L1
  12  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00005609330fe3a0> -> %r2
  16  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  21  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
  26  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
  31  assert_not_none %r2
  33  -live- %r2
  36  raise %r2
  38  ---
  38  L1:
  38  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %i0
  43  int_sub %i0, $0 -> %i0
  47  new_array_clear %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %r1
  52  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i0], R[%r2, %r1], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
  63  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r1] -> %r2
  69  -live- %r0, %r1, %r2
  72  catch_exception L2
  75  L3:
  75  inline_call_r_v <JitCode 'W_Product.fill_next_result'>, R[%r0]
  80  -live- %r2
  83  ref_return %r2
  85  ---
  85  L2:
  85  goto_if_exception_mismatch $<* struct object_vtable>, L4
  89  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000560933a57018> -> %r2
  93  setfield_gc_r %r2, %r1, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
  98  goto L3
 101  ---
 101  L4:
 101  reraise
