   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
   5  -live- %i0, %i1, %i2, %r0, %r1
   5  guard_class %r1 -> %i3
   8  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
  13  -live- %i0, %i1, %i2, %i3, %r0, %r1
  13  switch %i3, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %i0, %i1, %i2, %r0, %r1
  18  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  23  L3:
  23  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
  28  -live- %i0, %i1, %i2, %i3, %r0
  28  goto_if_not_int_lt %i3, $2, L4
  33  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
  37  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  42  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  47  assert_not_none %r1
  49  -live- %r1
  49  guard_class %r1 -> %i3
  52  -live- %r1
  52  raise %r1
  54  ---
  54  L4:
  54  -live- %i0, %i1, %i2, %r0
  54  goto_if_not_int_lt %i1, $0, L5
  59  L6:
  59  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  64  -live- %i1, %i2, %r1
  64  guard_class %r1 -> %i3
  67  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
  72  -live- %i1, %i2, %i3, %r1
  72  switch %i3, <SwitchDictDescr 0:L7, 1:L8>
  76  unreachable
  77  ---
  77  L7:
  77  -live- %i1, %i2, %r1
  77  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  82  L9:
  82  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
  87  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
  98  -live- %r1
  98  assert_not_none %r1
 100  -live- %r1
 100  guard_class %r1 -> %i3
 103  -live- %r1
 103  raise %r1
 105  ---
 105  L8:
 105  -live- %i1, %i2, %r1
 105  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 110  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 115  -live- %i1, %i2, %i3, %r1
 115  int_guard_value %i3
 117  goto L9
 120  ---
 120  L5:
 120  -live- %i0, %i1, %i2, %r0
 120  goto_if_not_int_lt %i2, $0, L10
 125  goto L6
 128  ---
 128  L10:
 128  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 133  -live- %i0, %i1, %i2, %r0, %r1
 133  guard_class %r1 -> %i3
 136  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
 141  -live- %i0, %i1, %i2, %i3, %r0, %r1
 141  switch %i3, <SwitchDictDescr 0:L11, 1:L12>
 145  unreachable
 146  ---
 146  L11:
 146  -live- %i0, %i1, %i2, %r0, %r1
 146  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 151  L13:
 151  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 156  -live- %i0, %i1, %i2, %i3, %r0
 156  goto_if_not_int_ge %i1, %i3, L14
 161  goto L6
 164  ---
 164  L14:
 164  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 169  -live- %i0, %i1, %i2, %r0, %r1
 169  guard_class %r1 -> %i3
 172  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
 177  -live- %i0, %i1, %i2, %i3, %r0, %r1
 177  switch %i3, <SwitchDictDescr 0:L15, 1:L16>
 181  unreachable
 182  ---
 182  L15:
 182  -live- %i0, %i1, %i2, %r0, %r1
 182  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 187  L17:
 187  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 192  -live- %i0, %i1, %i2, %i3, %r0
 192  goto_if_not_int_ge %i2, %i3, L18
 197  goto L6
 200  ---
 200  L18:
 200  -live- %i0, %i1, %i2, %r0
 200  goto_if_not_int_eq %i1, %i2, L19
 205  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
 209  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 214  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 219  assert_not_none %r1
 221  -live- %r1
 221  guard_class %r1 -> %i3
 224  -live- %r1
 224  raise %r1
 226  ---
 226  L19:
 226  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 231  inline_call_ir_r <JitCode 'diagonal'>, I[%i0, %i1, %i2], R[%r1] -> %r1
 241  -live- %r1
 241  ref_return %r1
 243  ---
 243  L16:
 243  -live- %i0, %i1, %i2, %r0, %r1
 243  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 248  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 253  -live- %i0, %i1, %i2, %i3, %r0, %r1
 253  int_guard_value %i3
 255  goto L17
 258  ---
 258  L12:
 258  -live- %i0, %i1, %i2, %r0, %r1
 258  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 263  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 268  -live- %i0, %i1, %i2, %i3, %r0, %r1
 268  int_guard_value %i3
 270  goto L13
 273  ---
 273  L2:
 273  -live- %i0, %i1, %i2, %r0, %r1
 273  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 278  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i3
 283  -live- %i0, %i1, %i2, %i3, %r0, %r1
 283  int_guard_value %i3
 285  goto L3
