   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   0  int_guard_value %i0
   2  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   2  ref_guard_value %r0
   4  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   4  jit_merge_point $30, I[%i0], R[%r0], F[], I[%i1, %i2], R[%r1, %r2, %r3], F[]
  19  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  19  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  19  guard_class %r3 -> %i3
  22  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
  27  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
  27  switch %i3, <SwitchDictDescr 0:L2, 1:L3>
  31  unreachable
  32  ---
  32  L2:
  32  -live-
  32  raise $<* struct object>
  34  ---
  34  L3:
  34  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  34  int_copy %i2 -> %i3
  37  int_copy %i1 -> %i2
  40  ref_copy %r2 -> %r4
  43  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r6
  48  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i1
  53  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r6
  53  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  59  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  64  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r6
  64  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  70  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r5
  75  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  75  guard_class %r5 -> %i4
  78  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
  83  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  83  int_guard_value %i4
  85  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i1, $0], R[%r5, %r6, %r2], <CallDescr(rriir) EF=5> -> %r2
  97  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
  97  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
  97  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 103  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r6
 108  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 108  guard_class %r6 -> %i1
 111  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_argmax> -> %i1
 116  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 116  int_guard_value %i1
 118  residual_call_r_i %i1, <IndirectCallTargets>, R[%r6, %r4, %r2], <CallDescr(rrr) EF=7> -> %i1
 127  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 127  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 127  goto_if_not %i1, L4
 131  int_push %i3
 133  int_copy %i2 -> %i3
 136  int_pop -> %i2
 138  ref_copy %r4 -> %r2
 141  L5:
 141  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r3, %r1] -> %r1
 150  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3
 150  int_add %i3, $1 -> %i1
 154  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 159  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 164  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 164  goto_if_not_int_ge %i3, %i4, L6
 169  int_return %i2
 171  ---
 171  L6:
 171  goto L1
 174  ---
 174  L4:
 174  int_copy %i2 -> %i3
 177  goto L5
