   0  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i1
   5  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r3
  10  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
  15  -live- %i0, %i1, %r0, %r1, %r3
  18  int_guard_value %i0
  20  int_copy $0 -> %i2
  23  L1:
  23  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7993c8b0> -> %i0
  28  -live- %i0, %i1, %i2, %r0, %r1, %r3
  31  goto_if_not_int_ge %i2, %i0, L2
  36  int_return %i1
  38  ---
  38  L2:
  38  int_copy %i2 -> %i0
  41  int_copy %i2 -> %i3
  44  ref_copy %r1 -> %r2
  47  int_add %i0, $1 -> %i2
  51  getarrayitem_gc_r %r2, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7993c8b0> -> %r4
  57  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
  60  guard_class %r4 -> %i0
  63  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
  66  goto_if_not_int_eq %i0, $<* struct object_vtable>, L3
  71  raise $<* struct object>
  73  ---
  73  L3:
  73  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
  76  guard_class %r4 -> %i0
  79  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
  82  int_guard_value %i0
  84  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
  87  guard_class %r4 -> %i0
  90  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  95  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
  98  switch %i0, <SwitchDictDescr 0:L4, 1:L5, 2:L6, 3:L7>
 102  unreachable
 103  ---
 103  L4:
 103  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
 106  guard_class %r4 -> %i0
 109  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 114  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
 117  int_guard_value %i0
 119  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4], <CallDescr(r) EF=2> -> %r2
 126  -live- %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 129  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 134  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 139  L8:
 139  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 146  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
 149  goto_if_not %i0, L9
 153  raise $<* struct object>
 155  ---
 155  L9:
 155  inline_call_r_i <JitCode 'index_w'>, R[%r4] -> %i4
 161  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 164  goto_if_not_int_lt %i4, $0, L10
 169  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 172  guard_class %r0 -> %i0
 175  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 180  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r3
 183  switch %i0, <SwitchDictDescr 0:L11, 1:L12>
 187  unreachable
 188  ---
 188  L11:
 188  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 191  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 196  L13:
 196  getarrayitem_gc_i %r2, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 202  int_add %i0, %i4 -> %i4
 206  L14:
 206  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 209  goto_if_not_int_lt %i4, $0, L15
 214  L16:
 214  -live- %i3, %i4, %r0
 217  guard_class %r0 -> %i0
 220  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 225  -live- %i0, %i3, %i4, %r0
 228  switch %i0, <SwitchDictDescr 0:L17, 1:L18>
 232  unreachable
 233  ---
 233  L17:
 233  -live- %i3, %i4, %r0
 236  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 241  L19:
 241  getarrayitem_gc_i %r2, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 247  inline_call_ir_r <JitCode 'oefmt__index__d_is_out_of_bounds_for_axis__d_with_size__d_star_3'>, I[%i4, %i3, %i0], R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>] -> %r2
 258  -live- %r2
 261  assert_not_none %r2
 263  -live- %r2
 266  guard_class %r2 -> %i0
 269  -live- %r2
 272  raise %r2
 274  ---
 274  L18:
 274  -live- %i3, %i4, %r0
 277  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 282  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 287  -live- %i0, %i3, %i4, %r2
 290  int_guard_value %i0
 292  goto L19
 295  ---
 295  L15:
 295  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 298  guard_class %r0 -> %i0
 301  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 306  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r3
 309  switch %i0, <SwitchDictDescr 0:L20, 1:L21>
 313  unreachable
 314  ---
 314  L20:
 314  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 317  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 322  L22:
 322  getarrayitem_gc_i %r2, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 328  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r3
 331  goto_if_not_int_ge %i4, %i0, L23
 336  goto L16
 339  ---
 339  L23:
 339  getarrayitem_gc_i %r3, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 345  int_mul %i4, %i0 -> %i0
 349  int_add %i1, %i0 -> %i1
 353  goto L1
 356  ---
 356  L21:
 356  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 359  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 364  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 369  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 372  int_guard_value %i0
 374  goto L22
 377  ---
 377  L12:
 377  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r3
 380  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 385  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 390  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 393  int_guard_value %i0
 395  goto L13
 398  ---
 398  L10:
 398  goto L14
 401  ---
 401  L5:
 401  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
 404  getfield_gc_r %r4, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r2
 409  -live- %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 412  ref_guard_value %r2
 414  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 419  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 424  goto L8
 427  ---
 427  L6:
 427  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
 430  getfield_gc_r %r4, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r2
 435  goto L8
 438  ---
 438  L7:
 438  -live- %i1, %i2, %i3, %r0, %r1, %r3, %r4
 441  guard_class %r4 -> %i0
 444  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r2
 449  goto L8
