   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
   3  int_guard_value %i0
   5  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
   8  int_guard_value %i1
  10  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  13  int_guard_value %i2
  15  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  18  ref_guard_value %r0
  20  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  23  jit_merge_point $24, I[%i0, %i1, %i2], R[%r0], F[], I[], R[%r1, %r2, %r3, %r4, %r5], F[]
  40  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  43  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GCREF__gcopaque_Ll_Signed_GCREFPtr'>, I[%i1], R[$<* None>] -> %r6
  51  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  54  int_copy %i1 -> %i3
  57  int_copy %i2 -> %i4
  60  int_copy $0 -> %i5
  63  L2:
  63  -live- %i0, %i1, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  66  goto_if_not_int_ge %i5, %i3, L3
  71  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i2
  76  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  79  goto_if_not_int_gt %i4, %i2, L4
  84  int_push %i4
  86  int_copy %i2 -> %i4
  89  int_pop -> %i2
  91  L5:
  91  int_sub %i4, $0 -> %i6
  95  new_array_clear %i6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r7
 100  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i6], R[%r4, %r7], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 111  inline_call_ir_r <JitCode 'PureShapeIter.get_index'>, I[%i0], R[%r5] -> %r8
 119  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 122  inline_call_r_r <JitCode 'll_concat__GcArray_Ptr_GCREF__gcopaque_Ll_arrayPtr_arrayPtr'>, R[%r7, %r8] -> %r7
 129  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 132  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r7] -> %r8
 138  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 141  catch_exception L6
 144  L7:
 144  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r6] -> %r7
 150  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 153  catch_exception L8
 156  L9:
 156  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 159  guard_class %r1 -> %i6
 162  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.base.W_NDimArray_vtable.cls_descr_getitem> -> %i6
 167  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 170  switch %i6, <SwitchDictDescr 0:L10, 1:L11>
 174  unreachable
 175  ---
 175  L10:
 175  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 178  inline_call_r_r <JitCode 'W_FlatIterator.descr_getitem'>, R[%r1, %r7] -> %r7
 185  L12:
 185  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 188  guard_class %r2 -> %i6
 191  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.base.W_NDimArray_vtable.cls_descr_setitem> -> %i6
 196  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 199  switch %i6, <SwitchDictDescr 0:L13, 1:L14>
 203  unreachable
 204  ---
 204  L13:
 204  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 207  inline_call_r_r <JitCode 'W_FlatIterator.descr_setitem'>, R[%r2, %r8, %r7] -> %r7
 215  L15:
 215  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 218  inline_call_r_v <JitCode 'PureShapeIter.next'>, R[%r5]
 223  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 226  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst__done> -> %i6
 231  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5
 234  goto_if_not %i6, L16
 238  ref_return %r2
 240  ---
 240  L16:
 240  goto L1
 243  ---
 243  L14:
 243  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 246  inline_call_r_r <JitCode 'W_NDimArray.descr_setitem'>, R[%r2, %r8, %r7] -> %r7
 254  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 257  goto L15
 260  ---
 260  L11:
 260  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 263  inline_call_r_r <JitCode 'W_NDimArray.descr_getitem'>, R[%r1, %r7] -> %r7
 270  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 273  goto L12
 276  ---
 276  L8:
 276  goto_if_exception_mismatch $<* struct object_vtable>, L17
 280  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7739e090> -> %r7
 284  setfield_gc_r %r7, %r6, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 289  goto L9
 292  ---
 292  L17:
 292  reraise
 293  ---
 293  L6:
 293  goto_if_exception_mismatch $<* struct object_vtable>, L18
 297  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7739e090> -> %r8
 301  setfield_gc_r %r8, %r7, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 306  goto L7
 309  ---
 309  L18:
 309  reraise
 310  ---
 310  L4:
 310  int_copy %i4 -> %i2
 313  goto L5
 316  ---
 316  L3:
 316  int_copy %i5 -> %i2
 319  int_add %i2, $1 -> %i5
 323  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_i> -> %r7
 328  getarrayitem_gc_r %r7, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r7
 334  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 337  goto_if_not_ptr_iszero %r7, L19
 341  getarrayitem_gc_r %r3, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r7
 347  setarrayitem_gc_r %r6, %i2, %r7, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 353  goto L2
 356  ---
 356  L19:
 356  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_i> -> %r7
 361  getarrayitem_gc_r %r7, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r7
 367  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_s> -> %r8
 372  getarrayitem_gc_r %r8, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r8
 378  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 381  guard_class %r7 -> %i6
 384  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i6
 389  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 392  switch %i6, <SwitchDictDescr 0:L20, 1:L21>
 396  unreachable
 397  ---
 397  L20:
 397  -live-
 400  raise $<* struct object>
 402  ---
 402  L21:
 402  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 405  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 410  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i6
 415  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 418  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 424  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r8
 429  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 432  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 438  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 443  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 446  guard_class %r9 -> %i7
 449  getfield_raw_i %i7, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i7
 454  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %i7, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 457  int_guard_value %i7
 459  residual_call_ir_r %i7, <IndirectCallTargets>, I[%i6, $0], R[%r9, %r7, %r8], <CallDescr(rriir) EF=5> -> %r7
 471  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 474  setarrayitem_gc_r %r6, %i2, %r7, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 480  goto L2
