   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 $43, 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 %r1 -> %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- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  36  ref_copy %r3 -> %r4
  39  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r6
  44  getfield_gc_i %r2, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
  49  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r4, %r6
  49  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  55  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  60  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r6
  60  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  66  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r5
  71  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  71  guard_class %r5 -> %i4
  74  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
  79  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  79  int_guard_value %i4
  81  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i3, $0], R[%r5, %r6, %r3], <CallDescr(rriir) EF=5> -> %r6
  93  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r4, %r6
  93  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r4, %r6
  93  guard_class %r6 -> %i3
  96  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_convert_to> -> %i3
 101  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r4, %r6
 101  int_guard_value %i3
 103  residual_call_r_r %i3, <IndirectCallTargets>, R[%r6, %r0], <CallDescr(rr) EF=7> -> %r3
 111  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 111  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 111  goto_if_not_int_eq %i2, $'\x00', L4
 116  L5:
 116  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 116  int_guard_value %i1
 118  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0, %r4, %r3], <CallDescr(rrr) EF=7> -> %r3
 127  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 127  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r1, %r2] -> %r2
 136  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 136  getfield_gc_i %r2, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 141  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 146  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 146  goto_if_not_int_ge %i3, %i4, L6
 151  ref_return %r3
 153  ---
 153  L6:
 153  goto L1
 156  ---
 156  L4:
 156  getarrayitem_raw_i $<* array [ '\x00', '\x00', '\x01' ]>, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4b550050> -> %i3
 162  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4
 162  switch %i3, <SwitchDictDescr 0:L7, 1:L8>
 166  unreachable
 167  ---
 167  L7:
 167  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 167  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 167  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 173  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r6
 178  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r6
 178  guard_class %r6 -> %i3
 181  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 186  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 186  int_guard_value %i3
 188  residual_call_r_i %i3, <IndirectCallTargets>, R[%r6, %r3], <CallDescr(rr) EF=7> -> %i3
 196  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4
 196  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4
 196  goto_if_not %i3, L9
 200  ref_return %r3
 202  ---
 202  L9:
 202  int_copy $'\x01' -> %i2
 205  goto L5
 208  ---
 208  L8:
 208  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 208  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 208  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 214  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r6
 219  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r6
 219  guard_class %r6 -> %i3
 222  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 227  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 227  int_guard_value %i3
 229  residual_call_r_i %i3, <IndirectCallTargets>, R[%r6, %r3], <CallDescr(rr) EF=7> -> %i3
 237  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4
 237  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4
 237  goto_if_not %i3, L10
 241  int_copy $'\x02' -> %i2
 244  goto L5
 247  ---
 247  L10:
 247  ref_return %r3
 249  ---
 249  L3:
 249  -live-
 249  raise $<* struct object>
