   0  -live- %i0, %r0, %r1
   3  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
   7  unreachable
   8  ---
   8  L1:
   8  -live-
  11  raise $<* struct object>
  13  ---
  13  L2:
  13  -live- %r0, %r1
  16  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r0
  21  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
  26  -live- %i0, %r0
  29  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  35  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  40  -live- %i0, %r0, %r1
  43  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  49  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  54  -live- %i0, %r0, %r1, %r2
  57  guard_class %r2 -> %i1
  60  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i1
  65  -live- %i0, %i1, %r0, %r1, %r2
  68  int_guard_value %i1
  70  residual_call_ir_r %i1, <IndirectCallTargets>, I[%i0, $0], R[%r2, %r0, %r1], <CallDescr(rriir) EF=5> -> %r0
  82  -live- %r0
  85  ref_return %r0
