   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
   5  -live- %i0, %r0, %r1, %r2
   5  guard_class %r0 -> %i1
   8  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i1
  13  -live- %i0, %i1, %r0, %r1, %r2
  13  switch %i1, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %i0, %r0, %r1, %r2
  18  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r0, $<* None>] -> %r3
  27  -live- %i0, %r1, %r2, %r3
  27  L3:
  27  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r0
  32  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
  37  int_copy $0 -> %i1
  40  getfield_gc_i %r3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i2
  45  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i3
  50  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
  50  goto_if_not_int_ge %i2, %i3, L4
  55  void_return
  56  ---
  56  L4:
  56  -live- %i0, %i1, %r0, %r1, %r2, %r3
  56  int_guard_value %i0
  58  -live- %i0, %i1, %r0, %r1, %r2, %r3
  58  ref_guard_value %r1
  60  recursive_call_v $20, I[%i0], R[%r1], F[], I[%i1], R[%r0, %r3, %r2], F[]
  74  -live-
  74  void_return
  75  ---
  75  L2:
  75  -live- %i0, %r0, %r1, %r2
  75  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r0, $<* None>] -> %r3
  84  -live- %i0, %r1, %r2, %r3
  84  goto L3
