   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %r0, %r1, %r2
   5  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  11  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  16  -live- %r0, %r1, %r2
  16  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
  22  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
  27  -live- %r0, %r1, %r2
  27  goto_if_not_ptr_nonzero %r2, L1
  31  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
  36  -live- %i0, %r0, %r1
  36  goto_if_not_int_is_true %i0, L2
  40  -live- %r0, %r1
  40  guard_class %r1 -> %i0
  43  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  48  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  53  -live- %i0, %r0, %r1
  53  goto_if_not %i0, L3
  57  L4:
  57  -live- %r0, %r1
  57  guard_class %r1 -> %i0
  60  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
  65  -live- %i0, %r0, %r1
  65  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  69  unreachable
  70  ---
  70  L5:
  70  -live- %r0, %r1
  70  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r2
  76  -live- %r0, %r2
  76  L8:
  76  inline_call_r_r <JitCode 'W_NDimArray.getfield'>, R[%r0, %r2] -> %r2
  83  -live- %r2
  83  ref_return %r2
  85  ---
  85  L6:
  85  -live- %r0, %r1
  85  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
  90  goto L8
  93  ---
  93  L7:
  93  -live- %r1
  93  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r1] -> %r2
 102  -live- %r2
 102  assert_not_none %r2
 104  -live- %r2
 104  guard_class %r2 -> %i0
 107  -live- %r2
 107  raise %r2
 109  ---
 109  L3:
 109  -live- %r0, %r1
 109  guard_class %r1 -> %i0
 112  -live- %i0, %r0, %r1
 112  int_guard_value %i0
 114  -live- %r0, %r1
 114  guard_class %r1 -> %i0
 117  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 122  getfield_raw_i %i0, FieldDescr<specfunc.variant0> -> %i0
 127  -live- %i0, %r0, %r1
 127  int_guard_value %i0
 129  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r2
 136  -live- %r0, %r1, %r2
 136  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 143  -live- %i0, %r0, %r1
 143  -live- %i0, %r0, %r1
 143  goto_if_not %i0, L9
 147  goto L4
 150  ---
 150  L9:
 150  L10:
 150  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 157  -live- %i0, %r0, %r1
 157  -live- %i0, %r0, %r1
 157  goto_if_not %i0, L11
 161  -live- %r0
 161  guard_class %r0 -> %i0
 164  -live- %i0, %r0
 164  int_guard_value %i0
 166  -live- %r0
 166  guard_class %r0 -> %i0
 169  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 174  getfield_raw_i %i0, FieldDescr<specfunc.variant0> -> %i0
 179  -live- %i0, %r0
 179  int_guard_value %i0
 181  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r2
 188  -live- %r0, %r2
 188  residual_call_r_r $<* fn W_NDimArray.descr_view>, R[%r0, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rrr) EF=7> -> %r2
 197  -live- %r2
 197  ref_return %r2
 199  ---
 199  L11:
 199  -live- %r0, %r1
 199  goto_if_not_ptr_nonzero %r1, L12
 203  ref_copy %r1 -> %r2
 206  -live- %r0, %r1, %r2
 206  guard_class %r2 -> %i0
 209  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 214  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 219  -live- %i0, %r0, %r1
 219  goto_if_not %i0, L13
 223  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 228  -live- %r0, %r1, %r3
 228  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 234  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 239  -live- %r0, %r1, %r2, %r3
 239  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 245  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 250  -live- %r0, %r1, %r2, %r3
 250  guard_class %r2 -> %i0
 253  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 258  -live- %i0, %r0, %r1, %r3
 258  goto_if_not_int_eq %i0, $'b', L14
 263  -live- %r0, %r1, %r3
 263  guard_class %r3 -> %i0
 266  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 271  -live- %i0, %r0, %r1, %r3
 271  switch %i0, <SwitchDictDescr 0:L15, 1:L16>
 275  unreachable
 276  ---
 276  L15:
 276  -live- %r0, %r1, %r3
 276  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 281  L17:
 281  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 286  -live- %i0, %r0, %r1
 286  goto_if_not_int_gt %i0, $0, L18
 291  inline_call_ir_r <JitCode 'W_NDimArray.getitem_filter'>, I[$0], R[%r0, %r1] -> %r2
 300  -live- %r2
 300  L19:
 300  -live- %r2
 300  guard_class %r2 -> %i0
 303  -live- %i0, %r2
 303  goto_if_not_int_eq %i0, $<* struct object_vtable>, L20
 308  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.boxes.W_ObjectBox.inst_w_obj> -> %r2
 313  ref_return %r2
 315  ---
 315  L20:
 315  ref_return %r2
 317  ---
 317  L18:
 317  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r2
 321  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 326  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 331  assert_not_none %r2
 333  -live- %r2
 333  guard_class %r2 -> %i0
 336  -live- %r2
 336  raise %r2
 338  ---
 338  L16:
 338  -live- %r0, %r1, %r3
 338  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 343  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 348  -live- %i0, %r0, %r1, %r2
 348  int_guard_value %i0
 350  goto L17
 353  ---
 353  L14:
 353  L21:
 353  -live- %r0, %r1
 353  goto_if_not_ptr_nonzero %r1, L22
 357  ref_copy %r1 -> %r2
 360  -live- %r0, %r1, %r2
 360  guard_class %r2 -> %i0
 363  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 368  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 373  -live- %i0, %r0, %r1
 373  goto_if_not %i0, L23
 377  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 384  -live- %r0, %r1, %r2
 384  -live- %r0, %r1, %r2
 384  guard_class %r1 -> %i0
 387  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 392  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 397  -live- %i0, %r0, %r2
 397  goto_if_not %i0, L24
 401  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 406  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000017400ab10> -> %r1
 410  setfield_gc_i %r1, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 415  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 423  -live- %r2
 423  goto L19
 426  ---
 426  L24:
 426  goto L19
 429  ---
 429  L23:
 429  L25:
 429  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 434  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 442  -live- %r0, %r1, %r2
 442  catch_exception L26
 445  goto L19
 448  ---
 448  L26:
 448  goto_if_exception_mismatch $<* struct object_vtable>, L27
 452  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 459  -live- %r2
 459  goto L19
 462  ---
 462  L27:
 462  reraise
 463  ---
 463  L22:
 463  goto L25
 466  ---
 466  L13:
 466  goto L21
 469  ---
 469  L12:
 469  goto L21
 472  ---
 472  L2:
 472  goto L10
 475  ---
 475  L1:
 475  goto L10
