   0  -live- %i0, %i1, %r0, %r1, %r2
   0  guard_class %r0 -> %i2
   3  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
   8  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
  13  -live- %i0, %i1, %i2, %r0, %r1, %r2
  13  goto_if_not %i2, L1
  17  L2:
  17  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff713b8960> -> %r3
  21  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  26  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  31  assert_not_none %r3
  33  -live- %r3
  33  guard_class %r3 -> %i2
  36  -live- %r3
  36  raise %r3
  38  ---
  38  L1:
  38  -live- %i0, %i1, %r0, %r1, %r2
  38  guard_class %r0 -> %i2
  41  -live- %i0, %i1, %i2, %r0, %r1, %r2
  41  int_guard_value %i2
  43  -live- %i0, %i1, %r0, %r1, %r2
  43  guard_class %r0 -> %i2
  46  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
  51  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
  56  -live- %i0, %i1, %i2, %r0, %r1, %r2
  56  int_guard_value %i2
  58  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r3
  65  -live- %i0, %i1, %r0, %r1, %r2, %r3
  65  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
  72  -live- %i0, %i1, %i2, %r0, %r1, %r2
  72  -live- %i0, %i1, %i2, %r0, %r1, %r2
  72  goto_if_not %i2, L3
  76  goto L2
  79  ---
  79  L3:
  79  inline_call_r_r <JitCode 'decode_w_dtype'>, R[%r1] -> %r3
  85  -live- %i0, %i1, %r0, %r1, %r2, %r3
  85  -live- %i0, %i1, %r0, %r1, %r2, %r3
  85  goto_if_not_ptr_nonzero %r0, L4
  89  ref_copy %r0 -> %r4
  92  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
  92  guard_class %r4 -> %i2
  95  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 100  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 105  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 105  goto_if_not %i2, L5
 109  L6:
 109  -live- %i0, %i1, %r0, %r2, %r3
 109  goto_if_not_ptr_nonzero %r0, L7
 113  ref_copy %r0 -> %r1
 116  -live- %i0, %i1, %r0, %r1, %r2, %r3
 116  guard_class %r1 -> %i2
 119  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 124  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 129  -live- %i0, %i1, %i2, %r0, %r2, %r3
 129  goto_if_not %i2, L8
 133  L9:
 133  -live- %i0, %i1, %r0, %r2, %r3
 133  goto_if_not_ptr_nonzero %r0, L10
 137  ref_copy %r0 -> %r1
 140  -live- %i0, %i1, %r0, %r1, %r2, %r3
 140  guard_class %r1 -> %i2
 143  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 148  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 153  -live- %i0, %i1, %i2, %r0, %r2, %r3
 153  goto_if_not %i2, L11
 157  inline_call_ir_i <JitCode 'order_converter'>, I[$-1], R[%r2] -> %i3
 165  -live- %i0, %i1, %i3, %r0, %r3
 165  -live- %i0, %i1, %i3, %r0, %r3
 165  goto_if_not_ptr_iszero %r3, L12
 169  L13:
 169  -live- %i0, %i1, %i3, %r0, %r3
 169  goto_if_not %i1, L14
 173  L15:
 173  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 178  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags> -> %i1
 183  -live- %i0, %i1, %i3, %r0
 183  goto_if_not_int_is_zero %i3, L16
 187  int_and %i1, $1 -> %i2
 191  -live- %i0, %i1, %i2, %i3, %r0
 191  goto_if_not_int_is_true %i2, L17
 195  int_copy $False -> %i2
 198  L18:
 198  int_or %i0, %i2 -> %i2
 202  int_is_true %i2 -> %i2
 205  -live- %i1, %i2, %i3, %r0
 205  goto_if_not_int_eq %i3, $1, L19
 210  int_and %i1, $2 -> %i0
 214  -live- %i0, %i2, %i3, %r0
 214  goto_if_not_int_is_true %i0, L20
 218  int_copy $False -> %i0
 221  L21:
 221  int_or %i2, %i0 -> %i2
 225  -live- %i2, %i3, %r0
 225  goto_if_not_int_is_true %i2, L22
 229  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff5768f2d0> -> %r3
 233  setfield_gc_i %r3, %i3, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 238  inline_call_r_r <JitCode 'W_NDimArray.descr_copy'>, R[%r0, %r3] -> %r0
 245  -live- %r0
 245  ref_return %r0
 247  ---
 247  L22:
 247  ref_return %r0
 249  ---
 249  L20:
 249  int_copy $True -> %i0
 252  goto L21
 255  ---
 255  L19:
 255  int_copy $False -> %i0
 258  goto L21
 261  ---
 261  L17:
 261  int_copy $True -> %i2
 264  goto L18
 267  ---
 267  L16:
 267  int_copy $False -> %i2
 270  goto L18
 273  ---
 273  L14:
 273  -live- %i0, %i3, %r0, %r3
 273  guard_class %r0 -> %i2
 276  -live- %i0, %i2, %i3, %r0, %r3
 276  goto_if_not_int_eq %i2, $<* struct object_vtable>, L23
 281  goto L15
 284  ---
 284  L23:
 284  L24:
 284  -live- %i0, %i3, %r0, %r3
 284  goto_if_not_ptr_iszero %r3, L25
 288  ref_copy %r0 -> %r2
 291  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 296  -live- %i0, %i3, %r2, %r3
 296  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 302  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 307  L26:
 307  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 312  -live- %i0, %i3, %r1, %r2, %r3
 312  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 318  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 323  instance_ptr_eq %r3, %r0 -> %i2
 327  -live- %i0, %i2, %i3, %r1, %r2, %r3
 327  goto_if_not_int_is_zero %i2, L27
 331  L28:
 331  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 336  -live- %i3, %r0, %r2, %r3
 336  guard_class %r0 -> %i2
 339  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 344  -live- %i2, %i3, %r0, %r2, %r3
 344  switch %i2, <SwitchDictDescr 0:L29, 1:L30>
 348  unreachable
 349  ---
 349  L29:
 349  -live- %i3, %r0, %r2, %r3
 349  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 354  L31:
 354  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 359  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i2
 364  -live- %i2, %i3, %r1, %r2, %r3
 364  switch %i3, <SwitchDictDescr 0:L32, 1:L33>
 368  L34:
 368  inline_call_ir_r <JitCode 'from_shape'>, I[%i2, $True], R[%r1, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
 379  -live- %r0, %r1, %r2, %r3
 379  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
 385  -live- %i2, %r0, %r1, %r2, %r3
 385  -live- %i2, %r0, %r1, %r2, %r3
 385  goto_if_not_int_eq %i2, $1, L35
 390  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 395  -live- %r0, %r2, %r3
 395  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 401  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 406  -live- %r0, %r1, %r2, %r3
 406  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 412  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 417  -live- %r0, %r1, %r2, %r3, %r4
 417  guard_class %r4 -> %i2
 420  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 425  -live- %i2, %r0, %r1, %r2, %r3, %r4
 425  int_guard_value %i2
 427  residual_call_ir_r %i2, <IndirectCallTargets>, I[$0, $0], R[%r4, %r2, %r1], <CallDescr(rriir) EF=5> -> %r2
 439  -live- %r0, %r2, %r3
 439  -live- %r0, %r2, %r3
 439  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 445  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
 450  -live- %r0, %r1, %r2, %r3
 450  guard_class %r1 -> %i2
 453  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i2
 458  -live- %i2, %r0, %r1, %r2, %r3
 458  int_guard_value %i2
 460  residual_call_r_r %i2, <IndirectCallTargets>, R[%r1, %r3, %r2], <CallDescr(rrr) EF=7> -> %r3
 469  -live- %r0, %r3
 469  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 474  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
 479  -live- %i2, %r0, %r2, %r3
 479  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 485  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 490  -live- %i2, %r0, %r1, %r2, %r3
 490  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 496  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 501  -live- %i2, %r0, %r1, %r2, %r3, %r4
 501  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 507  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i0
 512  int_eq %i0, $61 -> %i1
 516  int_eq %i0, $60 -> %i0
 520  int_or %i1, %i0 -> %i0
 524  -live- %i0, %i2, %r0, %r2, %r3, %r4
 524  guard_class %r4 -> %i1
 527  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i1
 532  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 532  int_guard_value %i1
 534  residual_call_ir_v %i1, <IndirectCallTargets>, I[%i2, $0, %i0], R[%r4, %r2, %r3], <CallDescr(rriiri) EF=7>
 546  -live- %r0
 546  ref_return %r0
 548  ---
 548  L35:
 548  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 553  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 558  inline_call_r_r <JitCode 'setslice'>, R[%r1, %r3, %r2] -> %r3
 566  -live- %r0
 566  ref_return %r0
 568  ---
 568  L32:
 568  -live- %r1, %r2, %r3
 568  int_copy $0 -> %i2
 571  goto L34
 574  ---
 574  L33:
 574  -live- %r1, %r2, %r3
 574  int_copy $1 -> %i2
 577  goto L34
 580  ---
 580  L30:
 580  -live- %i3, %r0, %r2, %r3
 580  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 585  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4f852550> -> %i2
 590  -live- %i2, %i3, %r1, %r2, %r3
 590  int_guard_value %i2
 592  goto L31
 595  ---
 595  L27:
 595  -live- %i0, %i3, %r1, %r2, %r3
 595  goto_if_not %i0, L36
 599  goto L28
 602  ---
 602  L36:
 602  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r2] -> %i2
 608  -live- %i2, %r1, %r2, %r3
 608  -live- %i2, %r1, %r2, %r3
 608  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 614  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 619  int_mul %i2, %i0 -> %i0
 623  -live- %i0, %r1, %r2, %r3
 623  guard_class %r1 -> %i2
 626  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_base> -> %i2
 631  -live- %i0, %i2, %r1, %r2, %r3
 631  switch %i2, <SwitchDictDescr 0:L37, 1:L38, 2:L39, 3:L40>
 635  unreachable
 636  ---
 636  L37:
 636  -live- %i0, %r1, %r2, %r3
 636  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r0
 641  L41:
 641  -live- %i0, %r0, %r1, %r2, %r3
 641  goto_if_not_ptr_iszero %r0, L42
 645  ref_copy %r2 -> %r4
 648  L43:
 648  ref_copy %r4 -> %r2
 651  L44:
 651  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i1
 656  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 661  -live- %i0, %i1, %r0, %r1, %r3, %r4
 661  guard_class %r0 -> %i2
 664  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 669  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 669  switch %i2, <SwitchDictDescr 0:L45, 1:L46>
 673  unreachable
 674  ---
 674  L45:
 674  -live- %i0, %i1, %r0, %r1, %r3, %r4
 674  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 679  L47:
 679  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r0
 684  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
 689  residual_call_ir_r $<* fn from_shape_and_storage>, I[%i1, %i0, $0, $False, $True, %i2], R[%r2, %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r4, %r0], <CallDescr(ririiirriri) EF=7> -> %r0
 707  -live- %r0, %r1
 707  catch_exception L48
 710  -live- %r0, %r1
 710  ref_return %r0
 712  ---
 712  L48:
 712  last_exception -> %i2
 714  last_exc_value -> %r3
 716  -live- %r1, %r3
 716  -live- %r3
 716  raise %r3
 718  ---
 718  L46:
 718  -live- %i0, %i1, %r0, %r1, %r3, %r4
 718  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 723  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4f852550> -> %i2
 728  -live- %i0, %i1, %i2, %r1, %r2, %r3, %r4
 728  int_guard_value %i2
 730  goto L47
 733  ---
 733  L42:
 733  -live- %r1, %r2, %r3
 733  guard_class %r1 -> %i2
 736  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_base> -> %i2
 741  -live- %i2, %r1, %r2, %r3
 741  switch %i2, <SwitchDictDescr 0:L49, 1:L50, 2:L51, 3:L52>
 745  unreachable
 746  ---
 746  L49:
 746  -live- %r1, %r2, %r3
 746  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r4
 751  L53:
 751  -live- %r1, %r2, %r3, %r4
 751  goto_if_not_ptr_nonzero %r4, L54
 755  ref_copy %r4 -> %r0
 758  -live- %r0, %r1, %r2, %r3, %r4
 758  guard_class %r0 -> %i2
 761  -live- %i2, %r1, %r2, %r3, %r4
 761  goto_if_not_int_eq %i2, $<* struct object_vtable>, L55
 766  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r4] -> %i2
 772  -live- %i2, %r1, %r2, %r3, %r4
 772  -live- %i2, %r1, %r2, %r3, %r4
 772  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 778  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 783  int_mul %i2, %i0 -> %i0
 787  goto L44
 790  ---
 790  L55:
 790  L56:
 790  inline_call_r_r <JitCode 'call_method_opt__star_0'>, R[%r4, $<* struct rpy_string>] -> %r0
 797  -live- %r0, %r1, %r2, %r3, %r4
 797  -live- %r0, %r1, %r2, %r3, %r4
 797  guard_class %r0 -> %i2
 800  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int_w> -> %i2
 805  -live- %i2, %r0, %r1, %r2, %r3, %r4
 805  switch %i2, <SwitchDictDescr 0:L57, 1:L58, 2:L59>
 809  unreachable
 810  ---
 810  L57:
 810  -live- %r0, %r1, %r2, %r3, %r4
 810  -live- %r0, %r1, %r2, %r3, %r4
 810  guard_class %r0 -> %i2
 813  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int> -> %i2
 818  -live- %i2, %r0, %r1, %r2, %r3, %r4
 818  int_guard_value %i2
 820  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r0
 827  -live- %r0, %r1, %r2, %r3, %r4
 827  -live- %r0, %r1, %r2, %r3, %r4
 827  guard_class %r0 -> %i2
 830  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__int_w> -> %i2
 835  inline_call_ir_i <JitCode 'dispatcher'>, I[%i2], R[%r0] -> %i0
 843  -live- %i0, %r1, %r2, %r3, %r4
 843  goto L44
 846  ---
 846  L58:
 846  -live- %r0, %r1, %r2, %r3, %r4
 846  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 851  goto L44
 854  ---
 854  L59:
 854  -live- %r0
 854  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>, %r0] -> %r3
 863  -live- %r3
 863  assert_not_none %r3
 865  -live- %r3
 865  guard_class %r3 -> %i2
 868  -live- %r3
 868  raise %r3
 870  ---
 870  L54:
 870  goto L56
 873  ---
 873  L50:
 873  -live- %r1, %r2, %r3
 873  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r4
 878  goto L53
 881  ---
 881  L51:
 881  -live- %r1, %r2, %r3
 881  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r4
 886  goto L53
 889  ---
 889  L52:
 889  -live- %r1, %r2, %r3
 889  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r4
 892  goto L56
 895  ---
 895  L38:
 895  -live- %i0, %r1, %r2, %r3
 895  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r0
 900  goto L41
 903  ---
 903  L39:
 903  -live- %i0, %r1, %r2, %r3
 903  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r0
 908  goto L41
 911  ---
 911  L40:
 911  -live- %i0, %r1, %r2, %r3
 911  ref_copy %r2 -> %r4
 914  goto L43
 917  ---
 917  L25:
 917  ref_copy %r0 -> %r2
 920  goto L26
 923  ---
 923  L12:
 923  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 928  -live- %i0, %i1, %i3, %r0, %r2, %r3
 928  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 934  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 939  instance_ptr_eq %r2, %r3 -> %i2
 943  -live- %i0, %i1, %i2, %i3, %r0, %r3
 943  goto_if_not %i2, L60
 947  goto L13
 950  ---
 950  L60:
 950  -live- %i0, %i1, %i3, %r0, %r3
 950  goto_if_not %i1, L61
 954  -live- %i0, %i3, %r0, %r3
 954  guard_class %r0 -> %i2
 957  -live- %i0, %i2, %i3, %r0, %r3
 957  goto_if_not_int_eq %i2, $<* struct object_vtable>, L62
 962  goto L24
 965  ---
 965  L62:
 965  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff713b8960> -> %r3
 969  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 974  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 979  assert_not_none %r3
 981  -live- %r3
 981  guard_class %r3 -> %i2
 984  -live- %r3
 984  raise %r3
 986  ---
 986  L61:
 986  goto L24
 989  ---
 989  L11:
 989  L63:
 989  inline_call_ir_i <JitCode 'order_converter'>, I[$0], R[%r2] -> %i0
 997  -live- %i0, %r0, %r3
 997  inline_call_r_r <JitCode 'find_shape_and_elems'>, R[%r0, %r3] -> %r2
1004  -live- %i0, %r0, %r2, %r3
1004  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r1
1009  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
1014  -live- %i0, %r0, %r1, %r2, %r3
1014  goto_if_not_ptr_iszero %r3, L64
1018  -live- %i0, %r0, %r1, %r2
1018  guard_class %r0 -> %i2
1021  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1026  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1031  -live- %i0, %i2, %r0, %r1, %r2
1031  goto_if_not %i2, L65
1035  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1038  L66:
1038  -live- %i0, %r1, %r2, %r3
1038  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1044  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r0
1049  -live- %i0, %r0, %r1, %r2, %r3
1049  guard_class %r0 -> %i2
1052  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1057  -live- %i0, %i2, %r0, %r1, %r2, %r3
1057  goto_if_not_int_eq %i2, $18, L67
1062  L68:
1062  -live- %i0, %r1, %r2, %r3
1062  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
1068  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
1073  -live- %i0, %i2, %r1, %r2, %r3
1073  goto_if_not_int_lt %i2, $1, L69
1078  L70:
1078  residual_call_r_r $<* fn find_dtype_for_seq>, R[%r2, %r3], <CallDescr(rr) EF=7> -> %r3
1086  -live- %i0, %r1, %r2, %r3
1086  L71:
1086  inline_call_ir_r <JitCode 'from_shape'>, I[%i0, $True], R[%r1, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
1097  -live- %r0, %r1, %r2, %r3
1097  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
1103  -live- %i2, %r0, %r2, %r3
1103  -live- %i2, %r0, %r2, %r3
1103  goto_if_not_int_eq %i2, $1, L72
1108  getlistitem_gc_r %r2, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4aeca780> -> %r2
1116  -live- %r0, %r2, %r3
1116  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1122  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
1127  -live- %r0, %r1, %r2, %r3
1127  guard_class %r1 -> %i2
1130  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i2
1135  -live- %i2, %r0, %r1, %r2, %r3
1135  int_guard_value %i2
1137  residual_call_r_r %i2, <IndirectCallTargets>, R[%r1, %r3, %r2], <CallDescr(rrr) EF=7> -> %r3
1146  -live- %r0, %r3
1146  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
1151  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
1156  -live- %i2, %r0, %r2, %r3
1156  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1162  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
1167  -live- %i2, %r0, %r1, %r2, %r3
1167  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1173  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
1178  -live- %i2, %r0, %r1, %r2, %r3, %r4
1178  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
1184  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i0
1189  int_eq %i0, $61 -> %i1
1193  int_eq %i0, $60 -> %i0
1197  int_or %i1, %i0 -> %i0
1201  -live- %i0, %i2, %r0, %r2, %r3, %r4
1201  guard_class %r4 -> %i1
1204  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i1
1209  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1209  int_guard_value %i1
1211  residual_call_ir_v %i1, <IndirectCallTargets>, I[%i2, $0, %i0], R[%r4, %r2, %r3], <CallDescr(rriiri) EF=7>
1223  -live- %r0
1223  ref_return %r0
1225  ---
1225  L72:
1225  residual_call_r_v $<* fn assign>, R[%r0, %r2], <CallDescr(rr) EF=7>
1232  -live- %r0
1232  ref_return %r0
1234  ---
1234  L69:
1234  goto L71
1237  ---
1237  L67:
1237  -live- %i0, %r0, %r1, %r2, %r3
1237  guard_class %r0 -> %i2
1240  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1245  -live- %i0, %i2, %r1, %r2, %r3
1245  goto_if_not_int_eq %i2, $19, L73
1250  goto L68
1253  ---
1253  L73:
1253  goto L71
1256  ---
1256  L65:
1256  -live- %i0, %r0, %r1, %r2
1256  guard_class %r0 -> %i2
1259  -live- %i0, %i2, %r0, %r1, %r2
1259  int_guard_value %i2
1261  -live- %i0, %r0, %r1, %r2
1261  guard_class %r0 -> %i2
1264  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1269  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1274  -live- %i0, %i2, %r0, %r1, %r2
1274  int_guard_value %i2
1276  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r3
1283  -live- %i0, %r1, %r2, %r3
1283  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1290  -live- %i0, %i2, %r1, %r2
1290  -live- %i0, %i2, %r1, %r2
1290  goto_if_not %i2, L74
1294  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1297  goto L66
1300  ---
1300  L74:
1300  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1303  goto L70
1306  ---
1306  L64:
1306  -live- %i0, %r1, %r2, %r3
1306  goto_if_not_ptr_iszero %r3, L75
1310  goto L70
1313  ---
1313  L75:
1313  goto L66
1316  ---
1316  L10:
1316  goto L63
1319  ---
1319  L8:
1319  L76:
1319  residual_call_ir_r $<* fn try_interface_method>, I[%i0], R[%r0], <CallDescr(ri) EF=7> -> %r1
1328  -live- %i0, %i1, %r0, %r1, %r2, %r3
1328  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r4
1333  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i2
1338  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1338  goto_if_not_ptr_iszero %r4, L77
1342  goto L9
1345  ---
1345  L77:
1345  int_copy %i2 -> %i0
1348  ref_copy %r4 -> %r0
1351  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1356  -live- %i0, %i1, %r0, %r2, %r3
1356  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1362  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1367  goto L9
1370  ---
1370  L7:
1370  goto L76
1373  ---
1373  L5:
1373  L78:
1373  inline_call_r_r <JitCode 'try_array_method'>, R[%r0, %r1] -> %r1
1380  -live- %i0, %i1, %r0, %r1, %r2, %r3
1380  -live- %i0, %i1, %r0, %r1, %r2, %r3
1380  goto_if_not_ptr_iszero %r1, L79
1384  -live- %i0, %i1, %r0, %r2, %r3
1384  guard_class %r0 -> %i2
1387  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1392  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1397  -live- %i0, %i1, %i2, %r0, %r2, %r3
1397  goto_if_not %i2, L80
1401  goto L6
1404  ---
1404  L80:
1404  -live- %i0, %i1, %r0, %r2, %r3
1404  guard_class %r0 -> %i2
1407  -live- %i0, %i1, %i2, %r0, %r2, %r3
1407  int_guard_value %i2
1409  -live- %i0, %i1, %r0, %r2, %r3
1409  guard_class %r0 -> %i2
1412  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1417  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1422  -live- %i0, %i1, %i2, %r0, %r2, %r3
1422  int_guard_value %i2
1424  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
1431  -live- %i0, %i1, %r0, %r1, %r2, %r3
1431  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1438  -live- %i0, %i1, %i2, %r0, %r2, %r3
1438  -live- %i0, %i1, %i2, %r0, %r2, %r3
1438  goto_if_not %i2, L81
1442  goto L6
1445  ---
1445  L81:
1445  -live- %i0, %i1, %r0, %r2, %r3
1445  guard_class %r0 -> %i2
1448  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1453  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1458  -live- %i0, %i1, %i2, %r0, %r2, %r3
1458  goto_if_not %i2, L82
1462  goto L6
1465  ---
1465  L82:
1465  -live- %i0, %i1, %r0, %r2, %r3
1465  guard_class %r0 -> %i2
1468  -live- %i0, %i1, %i2, %r0, %r2, %r3
1468  int_guard_value %i2
1470  -live- %i0, %i1, %r0, %r2, %r3
1470  guard_class %r0 -> %i2
1473  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1478  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1483  -live- %i0, %i1, %i2, %r0, %r2, %r3
1483  int_guard_value %i2
1485  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
1492  -live- %i0, %i1, %r0, %r1, %r2, %r3
1492  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1499  -live- %i0, %i1, %i2, %r0, %r2, %r3
1499  -live- %i0, %i1, %i2, %r0, %r2, %r3
1499  goto_if_not %i2, L83
1503  goto L6
1506  ---
1506  L83:
1506  -live- %i0, %i1, %r0, %r2, %r3
1506  goto_if_not_ptr_nonzero %r0, L84
1510  ref_copy %r0 -> %r1
1513  -live- %i0, %i1, %r0, %r1, %r2, %r3
1513  guard_class %r1 -> %i2
1516  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1521  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1526  -live- %i0, %i1, %i2, %r0, %r2, %r3
1526  goto_if_not %i2, L85
1530  goto L6
1533  ---
1533  L85:
1533  L86:
1533  residual_call_r_r $<* fn _array_from_buffer_3118>, R[%r0, %r3], <CallDescr(rr) EF=7> -> %r0
1541  -live- %i0, %i1, %r0, %r2, %r3
1541  goto L6
1544  ---
1544  L84:
1544  goto L86
1547  ---
1547  L79:
1547  ref_copy %r1 -> %r0
1550  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1555  -live- %i1, %r0, %r2, %r3
1555  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1561  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1566  int_copy $False -> %i0
1569  goto L6
1572  ---
1572  L4:
1572  goto L78
