   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   8  guard_class %r3 -> %i0
  11  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  16  -live- %i0, %r0, %r1, %r2, %r3
  19  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  23  unreachable
  24  ---
  24  L1:
  24  L3:
  24  -live- %r0, %r1, %r2
  27  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  32  -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
  49  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  55  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
  60  -live- %r0, %r1, %r2, %r3, %r4
  63  guard_class %r3 -> %i0
  66  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  71  -live- %i0, %r0, %r1, %r2, %r3, %r4
  74  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  78  unreachable
  79  ---
  79  L4:
  79  -live- %r0, %r1, %r2, %r3, %r4
  82  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  91  L6:
  91  -live- %r0, %r1, %r2, %r3, %r4
  94  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
  99  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 104  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 109  -live- %r0, %r1, %r2, %r3, %r4, %r6, %r7
 112  guard_class %r3 -> %i0
 115  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 120  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r6, %r7
 123  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
 127  unreachable
 128  ---
 128  L7:
 128  -live- %r0, %r1, %r2, %r3, %r4, %r6, %r7
 131  ref_copy %r7 -> %r5
 134  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 143  L9:
 143  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 146  getfield_gc_r_pure %r8, FieldDescr<tuple2.item0> -> %r3
 151  getfield_gc_r_pure %r8, FieldDescr<tuple2.item1> -> %r8
 156  setfield_gc_i %r3, $False, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
 161  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r0] -> %i1
 167  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 170  guard_class %r7 -> %i0
 173  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 178  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 181  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 185  unreachable
 186  ---
 186  L10:
 186  -live-
 189  raise $<* struct object>
 191  ---
 191  L11:
 191  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 194  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 199  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 204  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 207  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 213  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
 218  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 221  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 227  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 232  -live- %i0, %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 235  guard_class %r10 -> %i2
 238  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 243  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 246  int_guard_value %i2
 248  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r10, %r7, %r9], <CallDescr(rriir) EF=5> -> %r10
 260  -live- %i1, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 263  int_copy $0 -> %i3
 266  int_copy %i1 -> %i4
 269  L12:
 269  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 274  getfield_gc_i_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 279  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 282  goto_if_not_int_ge %i0, %i2, L13
 287  void_return
 288  ---
 288  L13:
 288  ref_copy %r10 -> %r7
 291  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 294  guard_class %r5 -> %i0
 297  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
 302  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 305  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 309  unreachable
 310  ---
 310  L14:
 310  -live-
 313  raise $<* struct object>
 315  ---
 315  L15:
 315  -live- %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 318  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 323  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 328  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 331  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 337  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 342  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 345  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 351  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 356  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 359  guard_class %r11 -> %i2
 362  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 367  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 370  int_guard_value %i2
 372  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i0, $0], R[%r11, %r9, %r10], <CallDescr(rriir) EF=5> -> %r10
 384  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 387  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 393  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 398  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 401  guard_class %r9 -> %i0
 404  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i0
 409  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 412  int_guard_value %i0
 414  residual_call_r_i %i0, <IndirectCallTargets>, R[%r9, %r7, %r10], <CallDescr(rrr) EF=7> -> %i0
 423  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 426  goto_if_not %i0, L16
 430  int_copy %i1 -> %i4
 433  L17:
 433  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 436  goto_if_not_int_lt %i3, %i4, L18
 441  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 444  ref_guard_value %r1
 446  recursive_call_v $44, I[], R[%r1], F[], I[%i1, %i3, %i4], R[%r0, %r2, %r4, %r5, %r6, %r3, %r8, %r10], F[]
 466  -live-
 469  void_return
 470  ---
 470  L18:
 470  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r7
 475  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 478  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 484  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 489  inline_call_ir_r <JitCode 'box__int'>, I[%i3], R[%r7] -> %r7
 497  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 500  guard_class %r3 -> %i0
 503  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i0
 508  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 511  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 515  unreachable
 516  ---
 516  L19:
 516  -live-
 519  raise $<* struct object>
 521  ---
 521  L20:
 521  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 524  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r9
 529  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
 534  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 537  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 543  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 548  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 551  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 557  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 562  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 565  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 571  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i2
 576  int_eq %i2, $61 -> %i5
 580  int_eq %i2, $60 -> %i2
 584  int_or %i5, %i2 -> %i2
 588  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 591  guard_class %r12 -> %i5
 594  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 599  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 602  int_guard_value %i5
 604  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i0, $0, %i2], R[%r12, %r9, %r7], <CallDescr(rriiri) EF=7>
 616  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 619  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r8] -> %r8
 628  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 631  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r5, %r6] -> %r6
 640  -live- %i1, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 643  goto L12
 646  ---
 646  L16:
 646  -live- %i1, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8
 649  goto_if_not_int_lt %i4, %i1, L21
 654  int_add %i4, $1 -> %i4
 658  int_copy $0 -> %i3
 661  goto L17
 664  ---
 664  L21:
 664  int_copy $0 -> %i3
 667  int_copy %i1 -> %i4
 670  goto L17
 673  ---
 673  L8:
 673  -live- %r0, %r1, %r2, %r3, %r4, %r6, %r7
 676  ref_copy %r7 -> %r5
 679  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 688  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 691  goto L9
 694  ---
 694  L5:
 694  -live- %r0, %r1, %r2, %r3, %r4
 697  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 706  -live- %r0, %r1, %r2, %r3, %r4
 709  goto L6
 712  ---
 712  L2:
 712  -live- %r0, %r1, %r2, %r3
 715  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 720  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i0
 725  -live- %i0, %r0, %r1, %r2
 728  int_guard_value %i0
 730  goto L3
