   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   5  guard_class %r3 -> %i0
   8  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  13  -live- %i0, %r0, %r1, %r2, %r3
  13  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %r0, %r1, %r2, %r3
  18  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  27  -live- %r0, %r1, %r2, %r3
  27  L3:
  27  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r4
  32  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r5
  37  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  42  -live- %r0, %r1, %r2, %r3, %r4, %r5
  42  guard_class %r3 -> %i0
  45  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  50  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  50  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  54  unreachable
  55  ---
  55  L4:
  55  -live- %r0, %r1, %r2, %r3, %r4, %r5
  55  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  60  L6:
  60  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i1
  65  -live- %i1, %r0, %r1, %r2, %r4, %r5
  65  goto_if_not_int_gt %i1, $1, L7
  70  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  75  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
  75  guard_class %r3 -> %i0
  78  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  83  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  83  switch %i0, <SwitchDictDescr 0:L8, 1:L9>
  87  unreachable
  88  ---
  88  L8:
  88  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
  88  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  93  L10:
  93  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
  98  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  98  goto_if_not_int_lt %i0, $2, L11
 103  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 108  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 108  guard_class %r3 -> %i0
 111  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 116  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 116  switch %i0, <SwitchDictDescr 0:L12, 1:L13>
 120  unreachable
 121  ---
 121  L12:
 121  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 121  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 126  L14:
 126  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 131  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 131  guard_class %r3 -> %i0
 134  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 139  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 139  switch %i0, <SwitchDictDescr 0:L15, 1:L16>
 143  unreachable
 144  ---
 144  L15:
 144  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 144  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 153  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 153  L17:
 153  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 158  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 163  L18:
 163  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 168  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 168  guard_class %r3 -> %i0
 171  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 176  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 176  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 180  unreachable
 181  ---
 181  L19:
 181  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 181  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 190  -live- %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 190  L21:
 190  getfield_gc_r_pure %r8, FieldDescr<tuple2.item0> -> %r3
 195  getfield_gc_r_pure %r8, FieldDescr<tuple2.item1> -> %r8
 200  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 205  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 205  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 211  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 216  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 221  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 221  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 227  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 232  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 237  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 242  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 242  goto_if_not_int_ge %i0, %i2, L22
 247  ref_return %r0
 249  ---
 249  L22:
 249  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 249  int_guard_value %i1
 251  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 251  ref_guard_value %r1
 253  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 253  ref_guard_value %r2
 255  recursive_call_r $69, I[%i1], R[%r1, %r2], F[], I[], R[%r8, %r0, %r3, %r6, %r4, %r5, %r7], F[] -> %r0
 274  -live- %r0
 274  ref_return %r0
 276  ---
 276  L20:
 276  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 276  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r8
 285  -live- %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7, %r8
 285  goto L21
 288  ---
 288  L16:
 288  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 288  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 297  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 297  goto L17
 300  ---
 300  L13:
 300  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 300  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 305  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 310  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 310  int_guard_value %i0
 312  goto L14
 315  ---
 315  L11:
 315  L23:
 315  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 320  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 320  guard_class %r3 -> %i0
 323  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 328  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 328  switch %i0, <SwitchDictDescr 0:L24, 1:L25>
 332  unreachable
 333  ---
 333  L24:
 333  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 333  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 342  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 342  L26:
 342  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 347  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 352  goto L18
 355  ---
 355  L25:
 355  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 355  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 364  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 364  goto L26
 367  ---
 367  L9:
 367  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 367  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 372  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 377  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 377  int_guard_value %i0
 379  goto L10
 382  ---
 382  L7:
 382  goto L23
 385  ---
 385  L5:
 385  -live- %r0, %r1, %r2, %r3, %r4, %r5
 385  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 390  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 395  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 395  int_guard_value %i0
 397  goto L6
 400  ---
 400  L2:
 400  -live- %r0, %r1, %r2, %r3
 400  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 409  -live- %r0, %r1, %r2, %r3
 409  goto L3
