   0  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %i0, %r0, %r1, %r2, %r3
   5  guard_class %r2 -> %i1
   8  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i1
  13  -live- %i0, %i1, %r0, %r1, %r2, %r3
  13  switch %i1, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %i0, %r0, %r1, %r2, %r3
  18  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r0] -> %r2
  27  -live- %i0, %r0, %r1, %r2, %r3
  27  L3:
  27  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r4
  32  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r5
  37  setfield_gc_i %r4, $False, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
  42  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  47  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  47  guard_class %r2 -> %i1
  50  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i1
  55  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  55  switch %i1, <SwitchDictDescr 0:L4, 1:L5>
  59  unreachable
  60  ---
  60  L4:
  60  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  60  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r0] -> %r6
  69  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
  69  L6:
  69  getfield_gc_r_pure %r6, FieldDescr<tuple2.item0> -> %r2
  74  getfield_gc_r_pure %r6, FieldDescr<tuple2.item1> -> %r6
  79  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i1
  84  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
  89  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  89  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  95  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 100  inline_call_r_i <JitCode 'IterState.same'>, R[%r6, %r5] -> %i2
 107  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 107  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 112  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 117  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 117  goto_if_not_int_ge %i3, %i4, L7
 122  ref_return %r3
 124  ---
 124  L7:
 124  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 124  int_guard_value %i1
 126  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 126  int_guard_value %i2
 128  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 128  int_guard_value %i0
 130  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 130  ref_guard_value %r1
 132  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 132  ref_guard_value %r0
 134  recursive_call_r $64, I[%i1, %i2, %i0], R[%r1, %r0], F[], I[], R[%r3, %r2, %r5, %r4, %r6], F[] -> %r3
 153  -live- %r3
 153  ref_return %r3
 155  ---
 155  L5:
 155  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 155  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r0] -> %r6
 164  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
 164  goto L6
 167  ---
 167  L2:
 167  -live- %i0, %r0, %r1, %r2, %r3
 167  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r0] -> %r2
 176  -live- %i0, %r0, %r1, %r2, %r3
 176  goto L3
