   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %i0, %r0, %r1, %r2, %r3
   8  guard_class %r3 -> %i1
  11  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i1
  16  -live- %i0, %i1, %r0, %r1, %r2, %r3
  19  switch %i1, <SwitchDictDescr 0:L1, 1:L2>
  23  unreachable
  24  ---
  24  L1:
  24  -live- %i0, %r0, %r1, %r2, %r3
  27  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  36  L3:
  36  -live- %i0, %r0, %r1, %r2, %r3
  39  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r4
  44  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r5
  49  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  54  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  57  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  63  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  68  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i1
  73  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
  78  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  81  goto_if_not_int_ge %i1, %i2, L4
  86  ref_return %r0
  88  ---
  88  L4:
  88  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  91  ref_guard_value %r3
  93  recursive_call_r $45, I[], R[%r3], F[], I[%i0], R[%r0, %r1, %r4, %r5, %r2], F[] -> %r0
 109  -live- %r0
 112  ref_return %r0
 114  ---
 114  L2:
 114  -live- %i0, %r0, %r1, %r2, %r3
 117  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 126  -live- %i0, %r0, %r1, %r2, %r3
 129  goto L3
