   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 'BaseConcreteArray.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 'BaseConcreteArray.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- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 141  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 146  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 151  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 151  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 157  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
 162  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 162  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 168  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 173  -live- %i0, %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 173  guard_class %r10 -> %i2
 176  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 181  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 181  int_guard_value %i2
 183  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r10, %r7, %r9], <CallDescr(rriir) EF=5> -> %r10
 195  -live- %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 195  int_copy $0 -> %i3
 198  int_copy %i1 -> %i4
 201  L12:
 201  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 206  getfield_gc_i_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 211  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 211  goto_if_not_int_ge %i0, %i2, L13
 216  void_return
 217  ---
 217  L13:
 217  ref_copy %r10 -> %r7
 220  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 220  guard_class %r5 -> %i0
 223  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 228  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 228  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 232  unreachable
 233  ---
 233  L14:
 233  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 233  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 238  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 243  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 243  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 249  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 254  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 254  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 260  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 265  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 265  guard_class %r11 -> %i2
 268  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 273  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 273  int_guard_value %i2
 275  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r11, %r9, %r10], <CallDescr(rriir) EF=5> -> %r10
 287  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 287  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 287  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 293  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 298  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 298  guard_class %r9 -> %i0
 301  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i0
 306  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 306  int_guard_value %i0
 308  residual_call_r_i %i0, <IndirectCallTargets>, R[%r9, %r7, %r10], <CallDescr(rrr) EF=7> -> %i0
 317  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 317  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 317  goto_if_not %i0, L16
 321  int_copy %i1 -> %i4
 324  L17:
 324  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 324  goto_if_not_int_lt %i3, %i4, L18
 329  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 329  ref_guard_value %r4
 331  recursive_call_v $27, I[], R[%r4], F[], I[%i3, %i4, %i1], R[%r1, %r6, %r0, %r10, %r3, %r2, %r8, %r5], F[]
 351  -live-
 351  void_return
 352  ---
 352  L18:
 352  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r7
 357  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 357  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 363  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 368  inline_call_ir_r <JitCode 'box__int'>, I[%i3], R[%r7] -> %r7
 376  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 376  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 376  guard_class %r3 -> %i0
 379  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i0
 384  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 384  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 388  unreachable
 389  ---
 389  L19:
 389  -live-
 389  raise $<* struct object>
 391  ---
 391  L20:
 391  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 391  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 396  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 401  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 401  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 407  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 412  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 412  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 418  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 423  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 423  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 429  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i2
 434  int_eq %i2, $61 -> %i5
 438  int_eq %i2, $60 -> %i2
 442  int_or %i5, %i2 -> %i2
 446  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 446  guard_class %r12 -> %i5
 449  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 454  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 454  int_guard_value %i5
 456  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i0, $0, %i2], R[%r12, %r9, %r7], <CallDescr(rriiri) EF=7>
 468  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 468  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r8] -> %r8
 477  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 477  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r5, %r6] -> %r6
 486  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 486  goto L12
 489  ---
 489  L16:
 489  -live- %i1, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 489  goto_if_not_int_lt %i4, %i1, L21
 494  int_add %i4, $1 -> %i4
 498  int_copy $0 -> %i3
 501  goto L17
 504  ---
 504  L21:
 504  int_copy $0 -> %i3
 507  int_copy %i1 -> %i4
 510  goto L17
 513  ---
 513  L15:
 513  -live-
 513  raise $<* struct object>
 515  ---
 515  L11:
 515  -live-
 515  raise $<* struct object>
 517  ---
 517  L8:
 517  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 517  ref_copy %r5 -> %r7
 520  inline_call_ir_r <JitCode 'FakeArrayImplementation.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 'FakeArrayImplementation.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 0x7fff4f852550> -> %i0
 554  -live- %i0, %r0, %r1, %r2
 554  int_guard_value %i0
 556  goto L3
