   0  -live- %r0, %r1, %r2, %r3, %r4
   3  goto_if_not_ptr_nonzero %r2, L1
   7  L2:
   7  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
  12  -live- %r0, %r1, %r2, %r3, %r4
  15  guard_class %r0 -> %i0
  18  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  23  -live- %i0, %r0, %r1, %r2, %r3, %r4
  26  switch %i0, <SwitchDictDescr 0:L3, 1:L4>
  30  unreachable
  31  ---
  31  L3:
  31  -live- %r0, %r1, %r2, %r3, %r4
  34  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r0, %r1] -> %r5
  43  L5:
  43  -live- %r1, %r2, %r3, %r4, %r5
  46  getfield_gc_r_pure %r5, FieldDescr<tuple2.item0> -> %r0
  51  getfield_gc_r_pure %r5, FieldDescr<tuple2.item1> -> %r5
  56  -live- %r0, %r1, %r2, %r3, %r4, %r5
  59  goto_if_not_ptr_iszero %r2, L6
  63  ref_copy $<* struct pypy.module.micronumpy.iterators.ArrayIter> -> %r2
  66  ref_copy $<* struct pypy.module.micronumpy.iterators.IterState> -> %r6
  69  L7:
  69  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
  72  goto_if_not_ptr_iszero %r3, L8
  76  ref_copy $<* struct pypy.module.micronumpy.iterators.ArrayIter> -> %r7
  79  ref_copy $<* struct pypy.module.micronumpy.iterators.IterState> -> %r8
  82  L9:
  82  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  87  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  90  guard_class %r3 -> %i0
  93  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  98  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 101  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 105  unreachable
 106  ---
 106  L10:
 106  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 109  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, %r1] -> %r9
 118  L12:
 118  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8, %r9
 121  getfield_gc_r_pure %r9, FieldDescr<tuple2.item0> -> %r3
 126  getfield_gc_r_pure %r9, FieldDescr<tuple2.item1> -> %r9
 131  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i0
 136  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 141  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 144  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 150  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 155  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i1
 160  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 165  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 168  goto_if_not_int_ge %i1, %i2, L13
 173  void_return
 174  ---
 174  L13:
 174  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 177  int_guard_value %i0
 179  -live- %i0, %r0, %r1, %r2, %r3, %r5, %r6, %r7, %r8, %r9
 182  ref_guard_value %r1
 184  recursive_call_v $14, I[%i0], R[%r1], F[], I[], R[%r7, %r2, %r0, %r9, %r3, %r8, %r6, %r5], F[]
 202  -live-
 205  void_return
 206  ---
 206  L11:
 206  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 209  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, %r1] -> %r9
 218  -live- %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8, %r9
 221  goto L12
 224  ---
 224  L8:
 224  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 229  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 232  guard_class %r3 -> %i0
 235  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 240  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 243  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 247  unreachable
 248  ---
 248  L14:
 248  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 251  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, %r1] -> %r3
 260  L16:
 260  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 263  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 268  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r8
 273  goto L9
 276  ---
 276  L15:
 276  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 279  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, %r1] -> %r3
 288  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 291  goto L16
 294  ---
 294  L6:
 294  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 299  -live- %r0, %r1, %r2, %r3, %r4, %r5
 302  guard_class %r2 -> %i0
 305  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 310  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 313  switch %i0, <SwitchDictDescr 0:L17, 1:L18>
 317  unreachable
 318  ---
 318  L17:
 318  -live- %r0, %r1, %r2, %r3, %r4, %r5
 321  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r1] -> %r6
 330  L19:
 330  -live- %r0, %r1, %r3, %r4, %r5, %r6
 333  getfield_gc_r_pure %r6, FieldDescr<tuple2.item0> -> %r2
 338  getfield_gc_r_pure %r6, FieldDescr<tuple2.item1> -> %r6
 343  goto L7
 346  ---
 346  L18:
 346  -live- %r0, %r1, %r2, %r3, %r4, %r5
 349  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r1] -> %r6
 358  -live- %r0, %r1, %r3, %r4, %r5, %r6
 361  goto L19
 364  ---
 364  L4:
 364  -live- %r0, %r1, %r2, %r3, %r4
 367  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r0, %r1] -> %r5
 376  -live- %r1, %r2, %r3, %r4, %r5
 379  goto L5
 382  ---
 382  L1:
 382  goto L2
