   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  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
  65  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  65  int_guard_value %i0
  67  L6:
  67  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i1
  72  -live- %i1, %r0, %r1, %r2, %r4, %r5
  72  goto_if_not_int_gt %i1, $1, L7
  77  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  82  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
  82  guard_class %r3 -> %i0
  85  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  90  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  90  switch %i0, <SwitchDictDescr 0:L8, 1:L9>
  94  unreachable
  95  ---
  95  L8:
  95  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
  95  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 100  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
 105  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 105  int_guard_value %i0
 107  L10:
 107  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
 112  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 112  goto_if_not_int_lt %i0, $2, L11
 117  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 122  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 122  guard_class %r3 -> %i0
 125  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 130  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 130  switch %i0, <SwitchDictDescr 0:L12, 1:L13>
 134  unreachable
 135  ---
 135  L12:
 135  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 135  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 140  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
 145  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 145  int_guard_value %i0
 147  L14:
 147  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 152  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 152  guard_class %r3 -> %i0
 155  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 160  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 160  switch %i0, <SwitchDictDescr 0:L15, 1:L16>
 164  unreachable
 165  ---
 165  L15:
 165  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 165  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 174  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 174  L17:
 174  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 179  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 184  L18:
 184  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r2] -> %i0
 190  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 190  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 190  goto_if_not_int_eq %i0, $1, L19
 195  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 200  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 200  guard_class %r3 -> %i0
 203  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 208  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 208  switch %i0, <SwitchDictDescr 0:L20, 1:L21>
 212  unreachable
 213  ---
 213  L20:
 213  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 213  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 218  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i0
 223  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 223  int_guard_value %i0
 225  L22:
 225  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 230  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 230  guard_class %r2 -> %i0
 233  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 238  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 238  switch %i0, <SwitchDictDescr 0:L23, 1:L24>
 242  unreachable
 243  ---
 243  L23:
 243  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 243  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 252  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 252  L25:
 252  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 257  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 262  L26:
 262  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 267  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 267  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 273  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 278  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 283  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 283  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 289  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 294  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i0
 299  getfield_gc_i_pure %r7, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i2
 304  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 304  goto_if_not_int_ge %i0, %i2, L27
 309  void_return
 310  ---
 310  L27:
 310  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 310  int_guard_value %i1
 312  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 312  ref_guard_value %r0
 314  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 314  ref_guard_value %r1
 316  recursive_call_v $47, I[%i1], R[%r0, %r1], F[], I[], R[%r3, %r4, %r2, %r6, %r7, %r5], F[]
 333  -live-
 333  void_return
 334  ---
 334  L24:
 334  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 334  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, %r3] -> %r3
 343  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 343  goto L25
 346  ---
 346  L21:
 346  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 346  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 351  goto L22
 354  ---
 354  L19:
 354  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 359  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 359  guard_class %r3 -> %i0
 362  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 367  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 367  switch %i0, <SwitchDictDescr 0:L28, 1:L29>
 371  unreachable
 372  ---
 372  L28:
 372  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 372  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 381  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 381  L30:
 381  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 386  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 391  goto L26
 394  ---
 394  L29:
 394  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 394  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 403  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 403  goto L30
 406  ---
 406  L16:
 406  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 406  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$True], R[%r3, %r6] -> %r3
 415  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 415  goto L17
 418  ---
 418  L13:
 418  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 418  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 423  goto L14
 426  ---
 426  L11:
 426  L31:
 426  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 431  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 431  guard_class %r3 -> %i0
 434  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
 439  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 439  switch %i0, <SwitchDictDescr 0:L32, 1:L33>
 443  unreachable
 444  ---
 444  L32:
 444  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 444  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 453  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 453  L34:
 453  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r7
 458  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r6
 463  goto L18
 466  ---
 466  L33:
 466  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 466  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r3, $<* None>] -> %r3
 475  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 475  goto L34
 478  ---
 478  L9:
 478  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 478  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 483  goto L10
 486  ---
 486  L7:
 486  goto L31
 489  ---
 489  L5:
 489  -live- %r0, %r1, %r2, %r3, %r4, %r5
 489  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 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
