   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
   5  -live- %i0, %i1, %i2, %r0, %r1
   8  guard_class %r1 -> %i3
  11  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
  16  -live- %i0, %i1, %i2, %i3, %r0, %r1
  19  switch %i3, <SwitchDictDescr 0:L1, 1:L2>
  23  unreachable
  24  ---
  24  L1:
  24  -live- %i0, %i1, %i2, %r0, %r1
  27  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  32  L3:
  32  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
  37  -live- %i0, %i1, %i2, %i3, %r0
  40  goto_if_not_int_lt %i3, $2, L4
  45  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00005609330fe8a8> -> %r1
  49  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  54  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  59  assert_not_none %r1
  61  -live- %r1
  64  raise %r1
  66  ---
  66  L4:
  66  -live- %i0, %i1, %i2, %r0
  69  goto_if_not_int_lt %i1, $0, L5
  74  L6:
  74  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  79  -live- %i1, %i2, %r1
  82  guard_class %r1 -> %i3
  85  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
  90  -live- %i1, %i2, %i3, %r1
  93  switch %i3, <SwitchDictDescr 0:L7, 1:L8>
  97  unreachable
  98  ---
  98  L7:
  98  -live- %i1, %i2, %r1
 101  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 106  L9:
 106  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 111  inline_call_ir_r <JitCode 'oefmt__axis1___d__and_axis2___d__must_be_within_range__ndim__d__star_3'>, I[%i1, %i2, %i3], R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>] -> %r1
 122  -live- %r1
 125  assert_not_none %r1
 127  -live- %r1
 130  guard_class %r1 -> %i3
 133  -live- %r1
 136  raise %r1
 138  ---
 138  L8:
 138  -live- %i1, %i2, %r1
 141  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 146  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 151  -live- %i1, %i2, %i3, %r1
 154  int_guard_value %i3
 156  goto L9
 159  ---
 159  L5:
 159  -live- %i0, %i1, %i2, %r0
 162  goto_if_not_int_lt %i2, $0, L10
 167  goto L6
 170  ---
 170  L10:
 170  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 175  -live- %i0, %i1, %i2, %r0, %r1
 178  guard_class %r1 -> %i3
 181  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
 186  -live- %i0, %i1, %i2, %i3, %r0, %r1
 189  switch %i3, <SwitchDictDescr 0:L11, 1:L12>
 193  unreachable
 194  ---
 194  L11:
 194  -live- %i0, %i1, %i2, %r0, %r1
 197  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 202  L13:
 202  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 207  -live- %i0, %i1, %i2, %i3, %r0
 210  goto_if_not_int_ge %i1, %i3, L14
 215  goto L6
 218  ---
 218  L14:
 218  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 223  -live- %i0, %i1, %i2, %r0, %r1
 226  guard_class %r1 -> %i3
 229  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
 234  -live- %i0, %i1, %i2, %i3, %r0, %r1
 237  switch %i3, <SwitchDictDescr 0:L15, 1:L16>
 241  unreachable
 242  ---
 242  L15:
 242  -live- %i0, %i1, %i2, %r0, %r1
 245  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 250  L17:
 250  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 255  -live- %i0, %i1, %i2, %i3, %r0
 258  goto_if_not_int_ge %i2, %i3, L18
 263  goto L6
 266  ---
 266  L18:
 266  -live- %i0, %i1, %i2, %r0
 269  goto_if_not_int_eq %i1, %i2, L19
 274  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00005609330fe8a8> -> %r1
 278  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 283  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 288  assert_not_none %r1
 290  -live- %r1
 293  raise %r1
 295  ---
 295  L19:
 295  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 300  inline_call_ir_r <JitCode 'diagonal'>, I[%i0, %i1, %i2], R[%r1] -> %r1
 310  -live- %r1
 313  ref_return %r1
 315  ---
 315  L16:
 315  -live- %i0, %i1, %i2, %r0, %r1
 318  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 323  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 328  -live- %i0, %i1, %i2, %i3, %r0, %r1
 331  int_guard_value %i3
 333  goto L17
 336  ---
 336  L12:
 336  -live- %i0, %i1, %i2, %r0, %r1
 339  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 344  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 349  -live- %i0, %i1, %i2, %i3, %r0, %r1
 352  int_guard_value %i3
 354  goto L13
 357  ---
 357  L2:
 357  -live- %i0, %i1, %i2, %r0, %r1
 360  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 365  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i3
 370  -live- %i0, %i1, %i2, %i3, %r0, %r1
 373  int_guard_value %i3
 375  goto L3
