   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
  18  L3:
  18  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  23  -live- %r0, %r2, %r3
  23  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  29  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  34  -live- %r0, %r2, %r3, %r4
  34  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  40  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
  45  -live- %r0, %r1, %r2, %r3, %r4
  45  guard_class %r3 -> %i0
  48  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  53  -live- %i0, %r0, %r1, %r2, %r3, %r4
  53  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  57  unreachable
  58  ---
  58  L4:
  58  -live- %r0, %r1, %r2, %r3, %r4
  58  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  67  -live- %r0, %r1, %r2, %r3, %r4
  67  L6:
  67  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r5
  72  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
  77  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  82  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
  82  guard_class %r3 -> %i0
  85  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  90  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  90  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
  94  unreachable
  95  ---
  95  L7:
  95  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
  95  ref_copy %r5 -> %r7
  98  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 107  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 107  L9:
 107  getfield_gc_r_pure %r8, FieldDescr<tuple2.item0> -> %r3
 112  getfield_gc_r_pure %r8, FieldDescr<tuple2.item1> -> %r8
 117  setfield_gc_i %r3, $False, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
 122  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r0] -> %i1
 128  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 128  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 128  guard_class %r7 -> %i0
 131  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 136  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 136  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 140  unreachable
 141  ---
 141  L10:
 141  -live-
 141  raise $<* struct object>
 143  ---
 143  L11:
 143  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 143  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 148  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 153  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 153  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 159  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
 164  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 164  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 170  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 175  -live- %i0, %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 175  guard_class %r10 -> %i2
 178  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 183  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 183  int_guard_value %i2
 185  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r10, %r7, %r9], <CallDescr(rriir) EF=5> -> %r10
 197  -live- %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 197  int_copy $0 -> %i3
 200  int_copy %i1 -> %i4
 203  L12:
 203  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 208  getfield_gc_i_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 213  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 213  goto_if_not_int_ge %i0, %i2, L13
 218  void_return
 219  ---
 219  L13:
 219  ref_copy %r10 -> %r7
 222  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 222  guard_class %r5 -> %i0
 225  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 230  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 230  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 234  unreachable
 235  ---
 235  L14:
 235  -live-
 235  raise $<* struct object>
 237  ---
 237  L15:
 237  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 237  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 242  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 247  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 247  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 253  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 258  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 258  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 264  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 269  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 269  guard_class %r11 -> %i2
 272  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 277  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 277  int_guard_value %i2
 279  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r11, %r9, %r10], <CallDescr(rriir) EF=5> -> %r10
 291  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 291  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 291  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 297  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 302  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 302  guard_class %r9 -> %i0
 305  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i0
 310  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 310  int_guard_value %i0
 312  residual_call_r_i %i0, <IndirectCallTargets>, R[%r9, %r7, %r10], <CallDescr(rrr) EF=7> -> %i0
 321  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 321  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 321  goto_if_not %i0, L16
 325  int_copy %i1 -> %i4
 328  L17:
 328  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 328  goto_if_not_int_lt %i3, %i4, L18
 333  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 333  ref_guard_value %r4
 335  recursive_call_v $29, I[], R[%r4], F[], I[%i1, %i3, %i4], R[%r1, %r10, %r6, %r2, %r3, %r8, %r5, %r0], F[]
 355  -live-
 355  void_return
 356  ---
 356  L18:
 356  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r7
 361  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 361  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 367  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 372  inline_call_ir_r <JitCode 'box__int'>, I[%i3], R[%r7] -> %r7
 380  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 380  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 380  guard_class %r3 -> %i0
 383  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i0
 388  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 388  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 392  unreachable
 393  ---
 393  L19:
 393  -live-
 393  raise $<* struct object>
 395  ---
 395  L20:
 395  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 395  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 400  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 405  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 405  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 411  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 416  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 416  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 422  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 427  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 427  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 433  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i2
 438  int_eq %i2, $61 -> %i5
 442  int_eq %i2, $62 -> %i2
 446  int_or %i5, %i2 -> %i2
 450  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 450  guard_class %r12 -> %i5
 453  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 458  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 458  int_guard_value %i5
 460  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i0, $0, %i2], R[%r12, %r9, %r7], <CallDescr(rriiri) EF=7>
 472  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 472  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r8] -> %r8
 481  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 481  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r5, %r6] -> %r6
 490  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 490  goto L12
 493  ---
 493  L16:
 493  -live- %i1, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 493  goto_if_not_int_lt %i4, %i1, L21
 498  int_add %i4, $1 -> %i4
 502  int_copy $0 -> %i3
 505  goto L17
 508  ---
 508  L21:
 508  int_copy $0 -> %i3
 511  int_copy %i1 -> %i4
 514  goto L17
 517  ---
 517  L8:
 517  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 517  ref_copy %r5 -> %r7
 520  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 529  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 529  goto L9
 532  ---
 532  L5:
 532  -live- %r0, %r1, %r2, %r3, %r4
 532  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 541  -live- %r0, %r1, %r2, %r3, %r4
 541  goto L6
 544  ---
 544  L2:
 544  -live- %r0, %r1, %r2, %r3
 544  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 549  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 554  -live- %i0, %r0, %r1, %r2
 554  int_guard_value %i0
 556  goto L3
