   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 $30, 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>] -> %r7
  51  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7
  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, %r7
  66  goto_if_not_int_ge %i5, %i3, L3
  71  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80> -> %i2
  76  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r7
  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 0x000002aaa8c14b80> -> %r6
 100  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i6], R[%r4, %r6], <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[%r6, %r8] -> %r6
 129  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 132  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r6] -> %r8
 138  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 141  catch_exception L6
 144  L7:
 144  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r6
 149  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 152  guard_class %r6 -> %i6
 155  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i6
 160  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 163  switch %i6, <SwitchDictDescr 0:L8, 1:L9>
 167  unreachable
 168  ---
 168  L8:
 168  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 171  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 176  L10:
 176  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa7f55b5c8> -> %i6
 181  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 184  goto_if_not_int_is_zero %i6, L11
 188  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r3] -> %r6
 194  L12:
 194  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 197  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r7] -> %r8
 203  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 206  catch_exception L13
 209  L14:
 209  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 212  guard_class %r1 -> %i6
 215  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.base.W_NDimArray_vtable.cls_descr_setitem> -> %i6
 220  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 223  switch %i6, <SwitchDictDescr 0:L15, 1:L16>
 227  unreachable
 228  ---
 228  L15:
 228  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 231  inline_call_r_r <JitCode 'W_FlatIterator.descr_setitem'>, R[%r1, %r8, %r6] -> %r6
 239  L17:
 239  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 242  inline_call_r_v <JitCode 'PureShapeIter.next'>, R[%r5]
 247  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 250  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst__done> -> %i6
 255  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5
 258  goto_if_not %i6, L18
 262  void_return
 263  ---
 263  L18:
 263  goto L1
 266  ---
 266  L16:
 266  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 269  inline_call_r_r <JitCode 'W_NDimArray.descr_setitem'>, R[%r1, %r8, %r6] -> %r6
 277  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 280  goto L17
 283  ---
 283  L13:
 283  goto_if_exception_mismatch $<* struct object_vtable>, L19
 287  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa8e7dbbb0> -> %r8
 291  setfield_gc_r %r8, %r7, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 296  goto L14
 299  ---
 299  L19:
 299  reraise
 300  ---
 300  L11:
 300  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 303  guard_class %r3 -> %i6
 306  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.base.W_NDimArray_vtable.cls_descr_getitem> -> %i6
 311  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 314  switch %i6, <SwitchDictDescr 0:L20, 1:L21>
 318  unreachable
 319  ---
 319  L20:
 319  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 322  inline_call_r_r <JitCode 'W_FlatIterator.descr_getitem'>, R[%r3, %r8] -> %r6
 329  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 332  goto L12
 335  ---
 335  L21:
 335  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r7, %r8
 338  inline_call_r_r <JitCode 'W_NDimArray.descr_getitem'>, R[%r3, %r8] -> %r6
 345  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 348  goto L12
 351  ---
 351  L9:
 351  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 354  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 359  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa7f55b5c8> -> %i6
 364  -live- %i0, %i1, %i2, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 367  int_guard_value %i6
 369  goto L10
 372  ---
 372  L6:
 372  goto_if_exception_mismatch $<* struct object_vtable>, L22
 376  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa8e7dbbb0> -> %r8
 380  setfield_gc_r %r8, %r6, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 385  goto L7
 388  ---
 388  L22:
 388  reraise
 389  ---
 389  L4:
 389  int_copy %i4 -> %i2
 392  goto L5
 395  ---
 395  L3:
 395  int_copy %i5 -> %i2
 398  int_add %i2, $1 -> %i5
 402  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_i> -> %r6
 407  getarrayitem_gc_r %r6, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80> -> %r6
 413  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 416  goto_if_not_ptr_iszero %r6, L23
 420  getarrayitem_gc_r %r2, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80> -> %r6
 426  setarrayitem_gc_r %r7, %i2, %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80>
 432  goto L2
 435  ---
 435  L23:
 435  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_i> -> %r6
 440  getarrayitem_gc_r %r6, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80> -> %r6
 446  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst_idx_w_s> -> %r8
 451  getarrayitem_gc_r %r8, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80> -> %r8
 457  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 460  guard_class %r6 -> %i6
 463  getfield_raw_i %i6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i6
 468  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 471  switch %i6, <SwitchDictDescr 0:L24, 1:L25>
 475  unreachable
 476  ---
 476  L24:
 476  -live-
 479  raise $<* struct object>
 481  ---
 481  L25:
 481  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 484  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r6
 489  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i6
 494  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 497  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 503  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r8
 508  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 511  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 517  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 522  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 525  guard_class %r9 -> %i7
 528  getfield_raw_i %i7, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i7
 533  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %i7, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 536  int_guard_value %i7
 538  residual_call_ir_r %i7, <IndirectCallTargets>, I[%i6, $0], R[%r9, %r6, %r8], <CallDescr(rriir) EF=5> -> %r6
 550  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 553  setarrayitem_gc_r %r7, %i2, %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaa8c14b80>
 559  goto L2
