   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   0  int_guard_value %i0
   2  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   2  ref_guard_value %r0
   4  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   4  jit_merge_point $40, I[%i0], R[%r0], F[], I[%i1, %i2], R[%r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8], F[]
  24  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  24  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  24  guard_class %r2 -> %i3
  27  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
  32  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  32  switch %i3, <SwitchDictDescr 0:L2, 1:L3>
  36  unreachable
  37  ---
  37  L2:
  37  -live-
  37  raise $<* struct object>
  39  ---
  39  L3:
  39  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  39  int_copy %i2 -> %i3
  42  int_copy %i1 -> %i2
  45  ref_copy %r6 -> %r10
  48  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r11
  53  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i1
  58  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r7, %r8
  58  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  64  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
  69  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  69  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  75  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
  80  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  80  guard_class %r9 -> %i4
  83  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
  88  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  88  int_guard_value %i4
  90  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i1, $0], R[%r9, %r11, %r6], <CallDescr(rriir) EF=5> -> %r6
 102  -live- %i0, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 102  -live- %i0, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 102  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 108  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 113  -live- %i0, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 113  guard_class %r11 -> %i1
 116  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_argmax> -> %i1
 121  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 121  int_guard_value %i1
 123  residual_call_r_i %i1, <IndirectCallTargets>, R[%r11, %r10, %r6], <CallDescr(rrr) EF=7> -> %i1
 132  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 132  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 132  goto_if_not %i1, L4
 136  int_push %i3
 138  int_copy %i2 -> %i3
 141  int_pop -> %i2
 143  ref_copy %r10 -> %r6
 146  L5:
 146  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r2, %r1] -> %r1
 155  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 155  int_add %i3, $1 -> %i1
 159  L6:
 159  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 164  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 169  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 169  goto_if_not_int_ge %i3, %i4, L7
 174  inline_call_ir_r <JitCode 'box__int'>, I[%i2], R[$<* struct pypy.module.micronumpy.descriptor.W_Dtype>] -> %r10
 182  -live- %i0, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 182  -live- %i0, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 182  guard_class %r3 -> %i3
 185  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i3
 190  -live- %i0, %i3, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 190  switch %i3, <SwitchDictDescr 0:L8, 1:L9>
 194  unreachable
 195  ---
 195  L8:
 195  -live-
 195  raise $<* struct object>
 197  ---
 197  L9:
 197  -live- %i0, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 197  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r11
 202  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 207  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r7, %r8
 207  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 213  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
 218  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 218  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 224  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 229  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 229  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 235  getfield_gc_i_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i2
 240  int_eq %i2, $61 -> %i1
 244  int_eq %i2, $62 -> %i2
 248  int_or %i1, %i2 -> %i2
 252  -live- %i0, %i2, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r7, %r8, %r9
 252  guard_class %r9 -> %i1
 255  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i1
 260  -live- %i0, %i1, %i2, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r7, %r8, %r9
 260  int_guard_value %i1
 262  residual_call_ir_v %i1, <IndirectCallTargets>, I[%i3, $0, %i2], R[%r9, %r11, %r10], <CallDescr(rriiri) EF=7>
 274  -live- %i0, %r0, %r2, %r3, %r4, %r5, %r7, %r8
 274  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r5] -> %r5
 283  -live- %i0, %r0, %r2, %r3, %r4, %r5, %r7, %r8
 283  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r4, %r8] -> %r8
 292  -live- %i0, %r0, %r2, %r3, %r4, %r5, %r7, %r8
 292  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 297  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 302  -live- %i0, %i2, %i3, %r0, %r2, %r3, %r4, %r5, %r7, %r8
 302  goto_if_not_int_ge %i3, %i2, L10
 307  ref_return %r7
 309  ---
 309  L10:
 309  inline_call_ir_r <JitCode 'ArrayIter.reset'>, I[$False], R[%r2, $<* struct pypy.module.micronumpy.iterators.IterState>] -> %r10
 318  -live- %i0, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 318  getfield_gc_i %r8, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 323  setfield_gc_i %r10, %i3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset>
 328  -live- %i0, %i3, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 328  guard_class %r2 -> %i2
 331  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i2
 336  -live- %i0, %i2, %i3, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 336  switch %i2, <SwitchDictDescr 0:L11, 1:L12>
 340  unreachable
 341  ---
 341  L11:
 341  -live-
 341  raise $<* struct object>
 343  ---
 343  L12:
 343  -live- %i0, %i3, %r0, %r10, %r2, %r3, %r4, %r5, %r7, %r8
 343  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r11
 348  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r7, %r8
 348  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 354  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
 359  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 359  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 365  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r9
 370  -live- %i0, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 370  guard_class %r9 -> %i2
 373  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 378  -live- %i0, %i2, %i3, %r0, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 378  int_guard_value %i2
 380  residual_call_ir_r %i2, <IndirectCallTargets>, I[%i3, $0], R[%r9, %r11, %r6], <CallDescr(rriir) EF=5> -> %r6
 392  -live- %i0, %r0, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 392  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r2, %r10] -> %r1
 401  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 401  int_copy $1 -> %i1
 404  int_copy $0 -> %i2
 407  goto L6
 410  ---
 410  L7:
 410  goto L1
 413  ---
 413  L4:
 413  int_copy %i2 -> %i3
 416  goto L5
