   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  int_guard_value %i1
   4  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   4  int_guard_value %i2
   6  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   6  ref_guard_value %r0
   8  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   8  jit_merge_point $54, I[%i0, %i1, %i2], R[%r0], F[], I[], R[%r1, %r2, %r3], F[]
  23  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  23  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  23  guard_class %r2 -> %i3
  26  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
  31  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
  31  switch %i3, <SwitchDictDescr 0:L2, 1:L3>
  35  unreachable
  36  ---
  36  L2:
  36  -live-
  36  raise $<* struct object>
  38  ---
  38  L3:
  38  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  38  ref_copy %r1 -> %r5
  41  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r4
  46  getfield_gc_i %r3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
  51  -live- %i0, %i1, %i2, %i3, %r0, %r2, %r3, %r4, %r5
  51  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  57  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  62  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5
  62  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  68  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r6
  73  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  73  guard_class %r6 -> %i4
  76  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
  81  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  81  int_guard_value %i4
  83  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i3, $0], R[%r6, %r4, %r1], <CallDescr(rriir) EF=5> -> %r4
  95  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4, %r5
  95  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4, %r5
  95  guard_class %r4 -> %i3
  98  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_convert_to> -> %i3
 103  -live- %i0, %i1, %i2, %i3, %r0, %r2, %r3, %r4, %r5
 103  int_guard_value %i3
 105  residual_call_r_r %i3, <IndirectCallTargets>, R[%r4, %r0], <CallDescr(rr) EF=7> -> %r1
 113  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r5
 113  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r5
 113  goto_if_not_int_eq %i2, $'\x00', L4
 118  L5:
 118  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r5
 118  int_guard_value %i1
 120  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0, %r5, %r1], <CallDescr(rrr) EF=7> -> %r1
 129  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 129  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r2, %r3] -> %r3
 138  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 138  getfield_gc_i %r3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 143  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 148  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 148  goto_if_not_int_ge %i3, %i4, L6
 153  ref_return %r1
 155  ---
 155  L6:
 155  goto L1
 158  ---
 158  L4:
 158  getarrayitem_raw_i $<* array [ '\x00', '\x00', '\x01' ]>, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x10089328850> -> %i3
 164  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5
 164  switch %i3, <SwitchDictDescr 0:L7, 1:L8>
 168  unreachable
 169  ---
 169  L7:
 169  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 169  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 169  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 175  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 180  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 180  guard_class %r4 -> %i3
 183  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 188  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r5
 188  int_guard_value %i3
 190  residual_call_r_i %i3, <IndirectCallTargets>, R[%r4, %r1], <CallDescr(rr) EF=7> -> %i3
 198  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5
 198  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5
 198  goto_if_not %i3, L9
 202  ref_return %r1
 204  ---
 204  L9:
 204  int_copy $0 -> %i3
 207  L10:
 207  getarrayitem_raw_i $<* array [ '\x01', '\x02' ]>, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x10089328850> -> %i2
 213  goto L5
 216  ---
 216  L8:
 216  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 216  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 216  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 222  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 227  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 227  guard_class %r4 -> %i3
 230  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 235  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r5
 235  int_guard_value %i3
 237  residual_call_r_i %i3, <IndirectCallTargets>, R[%r4, %r1], <CallDescr(rr) EF=7> -> %i3
 245  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5
 245  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5
 245  goto_if_not %i3, L11
 249  int_copy $1 -> %i3
 252  goto L10
 255  ---
 255  L11:
 255  ref_return %r1
