   0  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %i0, %r0, %r1, %r2, %r3
   8  guard_class %r2 -> %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[%r2, %r0] -> %r2
  36  L3:
  36  -live- %i0, %r0, %r1, %r2, %r3
  39  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r5
  44  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r4
  49  setfield_gc_i %r5, $False, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
  54  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  59  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  62  guard_class %r2 -> %i1
  65  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i1
  70  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  73  switch %i1, <SwitchDictDescr 0:L4, 1:L5>
  77  unreachable
  78  ---
  78  L4:
  78  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  81  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r0] -> %r6
  90  L6:
  90  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
  93  getfield_gc_r_pure %r6, FieldDescr<tuple2.item0> -> %r2
  98  getfield_gc_r_pure %r6, FieldDescr<tuple2.item1> -> %r6
 103  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
 108  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 113  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 116  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 122  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 127  inline_call_r_i <JitCode 'IterState.same'>, R[%r6, %r4] -> %i2
 134  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 137  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 142  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 147  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 150  goto_if_not_int_ge %i3, %i4, L7
 155  ref_return %r3
 157  ---
 157  L7:
 157  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 160  int_guard_value %i1
 162  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 165  int_guard_value %i2
 167  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 170  int_guard_value %i0
 172  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 175  ref_guard_value %r1
 177  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 180  ref_guard_value %r0
 182  recursive_call_r $53, I[%i1, %i2, %i0], R[%r1, %r0], F[], I[], R[%r4, %r5, %r3, %r6, %r2], F[] -> %r3
 201  -live- %r3
 204  ref_return %r3
 206  ---
 206  L5:
 206  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 209  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r0] -> %r6
 218  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
 221  goto L6
 224  ---
 224  L2:
 224  -live- %i0, %r0, %r1, %r2, %r3
 227  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r0] -> %r2
 236  -live- %i0, %r0, %r1, %r2, %r3
 239  goto L3
