   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> -> %r5
  32  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r4
  37  getfield_gc_r %r0, 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 %r1, 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 %r0, 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 %r1, 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  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r2] -> %i0
 169  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 169  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 169  goto_if_not_int_eq %i0, $1, L19
 174  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 179  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 179  guard_class %r3 -> %i0
 182  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 187  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 187  switch %i0, <SwitchDictDescr 0:L20, 1:L21>
 191  unreachable
 192  ---
 192  L20:
 192  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 192  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 197  L22:
 197  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 202  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 202  guard_class %r2 -> %i0
 205  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 210  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 210  switch %i0, <SwitchDictDescr 0:L23, 1:L24>
 214  unreachable
 215  ---
 215  L23:
 215  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 215  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 224  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 224  L25:
 224  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 229  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 234  L26:
 234  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 239  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 239  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 245  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 250  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 255  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 255  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 261  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 266  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 271  getfield_gc_i_pure %r7, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 276  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 276  goto_if_not_int_ge %i0, %i2, L27
 281  void_return
 282  ---
 282  L27:
 282  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 282  int_guard_value %i1
 284  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 284  ref_guard_value %r0
 286  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 286  ref_guard_value %r1
 288  recursive_call_v $60, I[%i1], R[%r0, %r1], F[], I[], R[%r7, %r2, %r3, %r4, %r5, %r6], F[]
 305  -live-
 305  void_return
 306  ---
 306  L24:
 306  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 306  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 315  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 315  goto L25
 318  ---
 318  L21:
 318  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 318  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 323  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 328  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 328  int_guard_value %i0
 330  goto L22
 333  ---
 333  L19:
 333  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 338  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 338  guard_class %r3 -> %i0
 341  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 346  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 346  switch %i0, <SwitchDictDescr 0:L28, 1:L29>
 350  unreachable
 351  ---
 351  L28:
 351  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 351  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 360  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 360  L30:
 360  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 365  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 370  goto L26
 373  ---
 373  L29:
 373  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 373  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 382  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 382  goto L30
 385  ---
 385  L16:
 385  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 385  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 394  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 394  goto L17
 397  ---
 397  L13:
 397  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 397  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 402  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 407  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 407  int_guard_value %i0
 409  goto L14
 412  ---
 412  L11:
 412  L31:
 412  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 417  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 417  guard_class %r3 -> %i0
 420  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 425  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 425  switch %i0, <SwitchDictDescr 0:L32, 1:L33>
 429  unreachable
 430  ---
 430  L32:
 430  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 430  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 439  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 439  L34:
 439  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 444  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 449  goto L18
 452  ---
 452  L33:
 452  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 452  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 461  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 461  goto L34
 464  ---
 464  L9:
 464  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 464  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 469  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 474  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 474  int_guard_value %i0
 476  goto L10
 479  ---
 479  L7:
 479  goto L31
 482  ---
 482  L5:
 482  -live- %r0, %r1, %r2, %r3, %r4, %r5
 482  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 487  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
 492  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 492  int_guard_value %i0
 494  goto L6
 497  ---
 497  L2:
 497  -live- %r0, %r1, %r2, %r3
 497  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 506  -live- %r0, %r1, %r2, %r3
 506  goto L3
