   0  -live- %r0, %r1, %r2, %r3, %r4
   0  goto_if_not_ptr_nonzero %r2, L1
   4  L2:
   4  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
   9  -live- %r0, %r1, %r2, %r3, %r4
   9  guard_class %r0 -> %i0
  12  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  17  -live- %i0, %r0, %r1, %r2, %r3, %r4
  17  switch %i0, <SwitchDictDescr 0:L3, 1:L4>
  21  unreachable
  22  ---
  22  L3:
  22  -live- %r0, %r1, %r2, %r3, %r4
  22  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r0, %r1] -> %r0
  31  -live- %r0, %r1, %r2, %r3, %r4
  31  L5:
  31  getfield_gc_r_pure %r0, FieldDescr<tuple2.item0> -> %r5
  36  getfield_gc_r_pure %r0, FieldDescr<tuple2.item1> -> %r0
  41  -live- %r0, %r1, %r2, %r3, %r4, %r5
  41  goto_if_not_ptr_iszero %r2, L6
  45  ref_copy $<* struct pypy.module.micronumpy.iterators.IterState> -> %r2
  48  ref_copy $<* struct pypy.module.micronumpy.iterators.ArrayIter> -> %r6
  51  L7:
  51  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
  51  goto_if_not_ptr_iszero %r3, L8
  55  ref_copy $<* struct pypy.module.micronumpy.iterators.ArrayIter> -> %r7
  58  ref_copy $<* struct pypy.module.micronumpy.iterators.IterState> -> %r8
  61  L9:
  61  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  66  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  66  guard_class %r3 -> %i0
  69  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  74  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  74  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
  78  unreachable
  79  ---
  79  L10:
  79  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  79  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, %r1] -> %r9
  88  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8, %r9
  88  L12:
  88  getfield_gc_r_pure %r9, FieldDescr<tuple2.item0> -> %r3
  93  getfield_gc_r_pure %r9, FieldDescr<tuple2.item1> -> %r9
  98  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 103  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 108  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 108  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 114  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 119  getfield_gc_i %r0, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i1
 124  getfield_gc_i_pure %r5, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 129  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 129  goto_if_not_int_ge %i1, %i2, L13
 134  void_return
 135  ---
 135  L13:
 135  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 135  int_guard_value %i0
 137  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 137  ref_guard_value %r1
 139  recursive_call_v $23, I[%i0], R[%r1], F[], I[], R[%r8, %r9, %r0, %r3, %r2, %r6, %r7, %r5], F[]
 157  -live-
 157  void_return
 158  ---
 158  L11:
 158  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 158  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, %r1] -> %r9
 167  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8, %r9
 167  goto L12
 170  ---
 170  L8:
 170  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 175  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 175  guard_class %r3 -> %i0
 178  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 183  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 183  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 187  unreachable
 188  ---
 188  L14:
 188  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 188  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, %r1] -> %r3
 197  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 197  L16:
 197  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 202  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r8
 207  goto L9
 210  ---
 210  L15:
 210  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 210  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, %r1] -> %r3
 219  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 219  goto L16
 222  ---
 222  L6:
 222  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 227  -live- %r0, %r1, %r2, %r3, %r4, %r5
 227  guard_class %r2 -> %i0
 230  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 235  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 235  switch %i0, <SwitchDictDescr 0:L17, 1:L18>
 239  unreachable
 240  ---
 240  L17:
 240  -live- %r0, %r1, %r2, %r3, %r4, %r5
 240  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r1] -> %r2
 249  -live- %r0, %r1, %r2, %r3, %r4, %r5
 249  L19:
 249  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r6
 254  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 259  goto L7
 262  ---
 262  L18:
 262  -live- %r0, %r1, %r2, %r3, %r4, %r5
 262  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r1] -> %r2
 271  -live- %r0, %r1, %r2, %r3, %r4, %r5
 271  goto L19
 274  ---
 274  L4:
 274  -live- %r0, %r1, %r2, %r3, %r4
 274  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r0, %r1] -> %r0
 283  -live- %r0, %r1, %r2, %r3, %r4
 283  goto L5
 286  ---
 286  L1:
 286  goto L2
