   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   5  guard_class %r3 -> %i0
   8  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  13  -live- %i0, %r0, %r1, %r2, %r3
  13  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %r0, %r1, %r2, %r3
  18  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  23  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
  28  -live- %i0, %r0, %r1, %r2
  28  int_guard_value %i0
  30  L3:
  30  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  35  -live- %r0, %r2, %r3
  35  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  41  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  46  -live- %r0, %r1, %r2, %r3
  46  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  52  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
  57  -live- %r0, %r1, %r2, %r3, %r4
  57  guard_class %r3 -> %i0
  60  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  65  -live- %i0, %r0, %r1, %r2, %r3, %r4
  65  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  69  unreachable
  70  ---
  70  L4:
  70  -live- %r0, %r1, %r2, %r3, %r4
  70  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  79  -live- %r0, %r1, %r2, %r3, %r4
  79  L6:
  79  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r5
  84  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
  89  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  94  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
  94  guard_class %r3 -> %i0
  97  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 102  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 102  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
 106  unreachable
 107  ---
 107  L7:
 107  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 107  ref_copy %r5 -> %r7
 110  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 119  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 119  L9:
 119  getfield_gc_r_pure %r8, FieldDescr<tuple2.item0> -> %r3
 124  getfield_gc_r_pure %r8, FieldDescr<tuple2.item1> -> %r8
 129  setfield_gc_i %r3, $False, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
 134  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r0] -> %i1
 140  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 140  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 140  guard_class %r7 -> %i0
 143  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 148  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 148  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 152  unreachable
 153  ---
 153  L10:
 153  -live-
 153  raise $<* struct object>
 155  ---
 155  L11:
 155  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 155  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 160  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 165  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 165  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 171  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
 176  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 176  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 182  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 187  -live- %i0, %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 187  guard_class %r10 -> %i2
 190  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 195  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 195  int_guard_value %i2
 197  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r10, %r7, %r9], <CallDescr(rriir) EF=5> -> %r10
 209  -live- %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 209  int_copy %i1 -> %i3
 212  int_copy $0 -> %i4
 215  L12:
 215  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 220  getfield_gc_i_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 225  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 225  goto_if_not_int_ge %i0, %i2, L13
 230  void_return
 231  ---
 231  L13:
 231  ref_copy %r10 -> %r7
 234  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 234  guard_class %r5 -> %i0
 237  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 242  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 242  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 246  unreachable
 247  ---
 247  L14:
 247  -live-
 247  raise $<* struct object>
 249  ---
 249  L15:
 249  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 249  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 254  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 259  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 259  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 265  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 270  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 270  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 276  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 281  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 281  guard_class %r11 -> %i2
 284  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 289  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 289  int_guard_value %i2
 291  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r11, %r9, %r10], <CallDescr(rriir) EF=5> -> %r10
 303  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 303  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 303  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 309  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 314  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 314  guard_class %r9 -> %i0
 317  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i0
 322  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 322  int_guard_value %i0
 324  residual_call_r_i %i0, <IndirectCallTargets>, R[%r9, %r7, %r10], <CallDescr(rrr) EF=7> -> %i0
 333  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 333  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 333  goto_if_not %i0, L16
 337  int_copy %i1 -> %i3
 340  L17:
 340  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 340  goto_if_not_int_lt %i4, %i3, L18
 345  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 345  ref_guard_value %r1
 347  recursive_call_v $25, I[], R[%r1], F[], I[%i1, %i3, %i4], R[%r6, %r4, %r8, %r3, %r10, %r5, %r0, %r2], F[]
 367  -live-
 367  void_return
 368  ---
 368  L18:
 368  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r7
 373  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 373  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 379  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 384  inline_call_ir_r <JitCode 'box__int'>, I[%i4], R[%r7] -> %r7
 392  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 392  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 392  guard_class %r3 -> %i0
 395  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i0
 400  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 400  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 404  unreachable
 405  ---
 405  L19:
 405  -live-
 405  raise $<* struct object>
 407  ---
 407  L20:
 407  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 407  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 412  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 417  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 417  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 423  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 428  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 428  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 434  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 439  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 439  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 445  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i2
 450  int_eq %i2, $61 -> %i5
 454  int_eq %i2, $60 -> %i2
 458  int_or %i5, %i2 -> %i2
 462  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 462  guard_class %r12 -> %i5
 465  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 470  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 470  int_guard_value %i5
 472  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i0, $0, %i2], R[%r12, %r9, %r7], <CallDescr(rriiri) EF=7>
 484  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 484  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r8] -> %r8
 493  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 493  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r5, %r6] -> %r6
 502  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 502  goto L12
 505  ---
 505  L16:
 505  -live- %i1, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 505  goto_if_not_int_lt %i3, %i1, L21
 510  int_add %i3, $1 -> %i3
 514  int_copy $0 -> %i4
 517  goto L17
 520  ---
 520  L21:
 520  int_copy %i1 -> %i3
 523  int_copy $0 -> %i4
 526  goto L17
 529  ---
 529  L8:
 529  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 529  ref_copy %r5 -> %r7
 532  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 541  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 541  goto L9
 544  ---
 544  L5:
 544  -live- %r0, %r1, %r2, %r3, %r4
 544  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 553  -live- %r0, %r1, %r2, %r3, %r4
 553  goto L6
 556  ---
 556  L2:
 556  -live- %r0, %r1, %r2
 556  goto L3
