   0  -live- %r0
   3  guard_class %r0 -> %i0
   6  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  11  -live- %i0, %r0
  14  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  18  unreachable
  19  ---
  19  L1:
  19  -live- %r0
  22  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r0, $<* None>] -> %r3
  31  L3:
  31  -live- %r0, %r3
  34  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r1
  39  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r2
  44  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  49  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i1
  54  -live- %i1, %r0, %r1, %r2
  57  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  63  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  68  int_copy $0 -> %i0
  71  getfield_gc_i %r2, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i2
  76  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i3
  81  -live- %i0, %i1, %i2, %i3, %r1, %r2, %r3
  84  goto_if_not_int_ge %i2, %i3, L4
  89  int_return %i0
  91  ---
  91  L4:
  91  -live- %i0, %i1, %r1, %r2, %r3
  94  int_guard_value %i1
  96  -live- %i0, %i1, %r1, %r2, %r3
  99  ref_guard_value %r3
 101  recursive_call_i $16, I[%i1], R[%r3], F[], I[%i0], R[%r1, %r2], F[] -> %i0
 115  -live- %i0
 118  int_return %i0
 120  ---
 120  L2:
 120  -live- %r0
 123  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r0, $<* None>] -> %r3
 132  -live- %r0, %r3
 135  goto L3
