   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   3  int_guard_value %i0
   5  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
   8  int_guard_value %i1
  10  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  13  int_guard_value %i2
  15  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  18  ref_guard_value %r0
  20  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  23  jit_merge_point $36, I[%i0, %i1, %i2], R[%r0], F[], I[], R[%r1, %r2, %r3], F[]
  38  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  41  guard_class %r2 -> %i3
  44  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
  49  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
  52  switch %i3, <SwitchDictDescr 0:L2, 1:L3>
  56  unreachable
  57  ---
  57  L2:
  57  -live-
  60  raise $<* struct object>
  62  ---
  62  L3:
  62  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  65  ref_copy %r3 -> %r6
  68  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r4
  73  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
  78  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r4, %r6
  81  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  87  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  92  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r6
  95  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 101  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r5
 106  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 109  guard_class %r5 -> %i4
 112  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
 117  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 120  int_guard_value %i4
 122  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i3, $0], R[%r5, %r4, %r3], <CallDescr(rriir) EF=5> -> %r4
 134  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r4, %r6
 137  guard_class %r4 -> %i3
 140  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_convert_to> -> %i3
 145  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r4, %r6
 148  int_guard_value %i3
 150  residual_call_r_r %i3, <IndirectCallTargets>, R[%r4, %r0], <CallDescr(rr) EF=7> -> %r3
 158  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r6
 161  goto_if_not_int_eq %i2, $'\x00', L4
 166  L5:
 166  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r6
 169  int_guard_value %i1
 171  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0, %r6, %r3], <CallDescr(rrr) EF=7> -> %r3
 180  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 183  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r2, %r1] -> %r1
 192  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 195  getfield_gc_i %r1, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 200  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 205  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 208  goto_if_not_int_ge %i3, %i4, L6
 213  ref_return %r3
 215  ---
 215  L6:
 215  goto L1
 218  ---
 218  L4:
 218  getarrayitem_raw_i $<* array [ '\x00', '\x00', '\x01' ]>, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056097a554f70> -> %i3
 224  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r6
 227  switch %i3, <SwitchDictDescr 0:L7, 1:L8>
 231  unreachable
 232  ---
 232  L7:
 232  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r6
 235  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 241  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 246  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r6
 249  guard_class %r4 -> %i3
 252  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 257  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 260  int_guard_value %i3
 262  residual_call_r_i %i3, <IndirectCallTargets>, R[%r4, %r3], <CallDescr(rr) EF=7> -> %i3
 270  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r6
 273  goto_if_not %i3, L9
 277  int_copy $'\x01' -> %i2
 280  goto L5
 283  ---
 283  L9:
 283  ref_return %r3
 285  ---
 285  L8:
 285  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r6
 288  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 294  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 299  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r6
 302  guard_class %r4 -> %i3
 305  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i3
 310  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r6
 313  int_guard_value %i3
 315  residual_call_r_i %i3, <IndirectCallTargets>, R[%r4, %r3], <CallDescr(rr) EF=7> -> %i3
 323  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r6
 326  goto_if_not %i3, L10
 330  ref_return %r3
 332  ---
 332  L10:
 332  int_copy $'\x02' -> %i2
 335  goto L5
