   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   8  guard_class %r3 -> %i0
  11  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  16  -live- %i0, %r0, %r1, %r2, %r3
  19  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  23  unreachable
  24  ---
  24  L1:
  24  -live- %r0, %r1, %r2, %r3
  27  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
  36  L3:
  36  -live- %r0, %r1, %r2, %r3
  39  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r5
  44  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r4
  49  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  54  -live- %r0, %r1, %r2, %r3, %r4, %r5
  57  guard_class %r3 -> %i0
  60  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  65  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  68  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  72  unreachable
  73  ---
  73  L4:
  73  -live- %r0, %r1, %r2, %r3, %r4, %r5
  76  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  81  L6:
  81  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
  86  -live- %i1, %r0, %r1, %r2, %r4, %r5
  89  goto_if_not_int_gt %i1, $1, L7
  94  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  99  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 102  guard_class %r3 -> %i0
 105  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 110  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 113  switch %i0, <SwitchDictDescr 0:L8, 1:L9>
 117  unreachable
 118  ---
 118  L8:
 118  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 121  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 126  L10:
 126  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 131  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 134  goto_if_not_int_lt %i0, $2, L11
 139  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 144  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 147  guard_class %r3 -> %i0
 150  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 155  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 158  switch %i0, <SwitchDictDescr 0:L12, 1:L13>
 162  unreachable
 163  ---
 163  L12:
 163  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 166  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 171  L14:
 171  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 176  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 179  guard_class %r3 -> %i0
 182  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 187  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 190  switch %i0, <SwitchDictDescr 0:L15, 1:L16>
 194  unreachable
 195  ---
 195  L15:
 195  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 198  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 207  L17:
 207  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 210  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 215  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 220  L18:
 220  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r2] -> %i0
 226  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 229  goto_if_not_int_eq %i0, $1, L19
 234  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 239  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 242  guard_class %r3 -> %i0
 245  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 250  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 253  switch %i0, <SwitchDictDescr 0:L20, 1:L21>
 257  unreachable
 258  ---
 258  L20:
 258  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 261  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 266  L22:
 266  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 271  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 274  guard_class %r2 -> %i0
 277  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 282  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 285  switch %i0, <SwitchDictDescr 0:L23, 1:L24>
 289  unreachable
 290  ---
 290  L23:
 290  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 293  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 302  L25:
 302  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 305  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 310  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 315  L26:
 315  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 320  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 323  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 329  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 334  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 339  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 342  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 348  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 353  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 358  getfield_gc_i_pure %r7, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 363  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 366  goto_if_not_int_ge %i0, %i2, L27
 371  void_return
 372  ---
 372  L27:
 372  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 375  int_guard_value %i1
 377  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 380  ref_guard_value %r0
 382  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 385  ref_guard_value %r1
 387  recursive_call_v $41, I[%i1], R[%r0, %r1], F[], I[], R[%r3, %r2, %r6, %r7, %r4, %r5], F[]
 404  -live-
 407  void_return
 408  ---
 408  L24:
 408  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 411  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 420  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 423  goto L25
 426  ---
 426  L21:
 426  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 429  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 434  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 439  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 442  int_guard_value %i0
 444  goto L22
 447  ---
 447  L19:
 447  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 452  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 455  guard_class %r3 -> %i0
 458  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 463  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 466  switch %i0, <SwitchDictDescr 0:L28, 1:L29>
 470  unreachable
 471  ---
 471  L28:
 471  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 474  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 483  L30:
 483  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 486  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 491  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 496  goto L26
 499  ---
 499  L29:
 499  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 502  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 511  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 514  goto L30
 517  ---
 517  L16:
 517  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 520  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 529  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 532  goto L17
 535  ---
 535  L13:
 535  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 538  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 543  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 548  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 551  int_guard_value %i0
 553  goto L14
 556  ---
 556  L11:
 556  L31:
 556  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 561  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 564  guard_class %r3 -> %i0
 567  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 572  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 575  switch %i0, <SwitchDictDescr 0:L32, 1:L33>
 579  unreachable
 580  ---
 580  L32:
 580  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 583  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 592  L34:
 592  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 595  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 600  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 605  goto L18
 608  ---
 608  L33:
 608  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 611  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 620  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 623  goto L34
 626  ---
 626  L9:
 626  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 629  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 634  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 639  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 642  int_guard_value %i0
 644  goto L10
 647  ---
 647  L7:
 647  goto L31
 650  ---
 650  L5:
 650  -live- %r0, %r1, %r2, %r3, %r4, %r5
 653  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 658  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 663  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 666  int_guard_value %i0
 668  goto L6
 671  ---
 671  L2:
 671  -live- %r0, %r1, %r2, %r3
 674  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 683  -live- %r0, %r1, %r2, %r3
 686  goto L3
