   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 0x000002aabbb1b8a0> -> %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 0x000002aac55491a0> -> %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 -> %r1
 291  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 296  -live- %i0, %i3, %r1, %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 %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 312  -live- %i0, %i3, %r1, %r2, %r3
 312  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 318  getfield_gc_r_pure %r2, 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 %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 336  -live- %i3, %r0, %r1, %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, %r1, %r3
 344  switch %i2, <SwitchDictDescr 0:L29, 1:L30>
 348  unreachable
 349  ---
 349  L29:
 349  -live- %i3, %r0, %r1, %r3
 349  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 354  L31:
 354  getfield_gc_r %r1, 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[%r2, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
 379  -live- %r0, %r1, %r2, %r3
 379  inline_call_r_i <JitCode 'product'>, R[%r2] -> %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 %r1, 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, $62 -> %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 %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 558  inline_call_r_r <JitCode 'setslice'>, R[%r2, %r3, %r1] -> %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, %r1, %r3
 580  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 585  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %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[%r1] -> %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 %r2 -> %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  L41:
 636  ref_copy %r1 -> %r4
 639  L42:
 639  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i1
 644  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 649  -live- %i0, %i1, %r0, %r2, %r3, %r4
 649  guard_class %r0 -> %i2
 652  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 657  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 657  switch %i2, <SwitchDictDescr 0:L43, 1:L44>
 661  unreachable
 662  ---
 662  L43:
 662  -live- %i0, %i1, %r0, %r2, %r3, %r4
 662  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 667  L45:
 667  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r0
 672  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
 677  residual_call_ir_r $<* fn from_shape_and_storage>, I[%i1, %i0, $0, $False, $True, %i2], R[%r1, %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r4, %r0], <CallDescr(ririiirriri) EF=7> -> %r0
 695  -live- %r0, %r2
 695  catch_exception L46
 698  -live- %r0, %r2
 698  ref_return %r0
 700  ---
 700  L46:
 700  last_exception -> %i2
 702  last_exc_value -> %r3
 704  -live- %r2, %r3
 704  -live- %r3
 704  raise %r3
 706  ---
 706  L44:
 706  -live- %i0, %i1, %r0, %r2, %r3, %r4
 706  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 711  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i2
 716  -live- %i0, %i1, %i2, %r1, %r2, %r3, %r4
 716  int_guard_value %i2
 718  goto L45
 721  ---
 721  L38:
 721  -live- %i0, %r1, %r2, %r3
 721  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r0
 726  L47:
 726  -live- %i0, %r0, %r1, %r2, %r3
 726  goto_if_not_ptr_iszero %r0, L48
 730  goto L41
 733  ---
 733  L48:
 733  -live- %r1, %r2, %r3
 733  guard_class %r2 -> %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  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r4
 749  L53:
 749  inline_call_r_r <JitCode 'call_method_opt__star_0'>, R[%r4, $<* struct rpy_string>] -> %r0
 756  -live- %r0, %r1, %r2, %r3, %r4
 756  -live- %r0, %r1, %r2, %r3, %r4
 756  guard_class %r0 -> %i2
 759  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int_w> -> %i2
 764  -live- %i2, %r0, %r1, %r2, %r3, %r4
 764  switch %i2, <SwitchDictDescr 0:L54, 1:L55, 2:L56>
 768  unreachable
 769  ---
 769  L54:
 769  -live- %r0
 769  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
 778  -live- %r3
 778  assert_not_none %r3
 780  -live- %r3
 780  guard_class %r3 -> %i2
 783  -live- %r3
 783  raise %r3
 785  ---
 785  L55:
 785  -live- %r0, %r1, %r2, %r3, %r4
 785  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 790  goto L42
 793  ---
 793  L56:
 793  -live- %r0, %r1, %r2, %r3, %r4
 793  -live- %r0, %r1, %r2, %r3, %r4
 793  guard_class %r0 -> %i2
 796  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int> -> %i2
 801  -live- %i2, %r0, %r1, %r2, %r3, %r4
 801  int_guard_value %i2
 803  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r0
 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_w> -> %i2
 818  inline_call_ir_i <JitCode 'dispatcher'>, I[%i2], R[%r0] -> %i0
 826  -live- %i0, %r1, %r2, %r3, %r4
 826  goto L42
 829  ---
 829  L50:
 829  -live- %r1, %r2, %r3
 829  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r4
 834  L57:
 834  -live- %r1, %r2, %r3, %r4
 834  goto_if_not_ptr_nonzero %r4, L58
 838  ref_copy %r4 -> %r0
 841  -live- %r0, %r1, %r2, %r3, %r4
 841  guard_class %r0 -> %i2
 844  -live- %i2, %r1, %r2, %r3, %r4
 844  goto_if_not_int_eq %i2, $<* struct object_vtable>, L59
 849  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r4] -> %i2
 855  -live- %i2, %r1, %r2, %r3, %r4
 855  -live- %i2, %r1, %r2, %r3, %r4
 855  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 861  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 866  int_mul %i2, %i0 -> %i0
 870  goto L42
 873  ---
 873  L59:
 873  goto L53
 876  ---
 876  L58:
 876  goto L53
 879  ---
 879  L51:
 879  -live- %r1, %r2, %r3
 879  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r4
 884  goto L57
 887  ---
 887  L52:
 887  -live- %r1, %r2, %r3
 887  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r4
 892  goto L57
 895  ---
 895  L39:
 895  -live- %i0, %r1, %r2, %r3
 895  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r0
 900  goto L47
 903  ---
 903  L40:
 903  -live- %i0, %r1, %r2, %r3
 903  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r0
 908  goto L47
 911  ---
 911  L25:
 911  ref_copy %r0 -> %r1
 914  goto L26
 917  ---
 917  L12:
 917  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 922  -live- %i0, %i1, %i3, %r0, %r2, %r3
 922  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 928  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 933  instance_ptr_eq %r2, %r3 -> %i2
 937  -live- %i0, %i1, %i2, %i3, %r0, %r3
 937  goto_if_not %i2, L60
 941  goto L13
 944  ---
 944  L60:
 944  -live- %i0, %i1, %i3, %r0, %r3
 944  goto_if_not %i1, L61
 948  -live- %i0, %i3, %r0, %r3
 948  guard_class %r0 -> %i2
 951  -live- %i0, %i2, %i3, %r0, %r3
 951  goto_if_not_int_eq %i2, $<* struct object_vtable>, L62
 956  goto L24
 959  ---
 959  L62:
 959  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r3
 963  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 968  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 973  assert_not_none %r3
 975  -live- %r3
 975  guard_class %r3 -> %i2
 978  -live- %r3
 978  raise %r3
 980  ---
 980  L61:
 980  goto L24
 983  ---
 983  L11:
 983  L63:
 983  inline_call_ir_i <JitCode 'order_converter'>, I[$0], R[%r2] -> %i0
 991  -live- %i0, %r0, %r3
 991  inline_call_r_r <JitCode 'find_shape_and_elems'>, R[%r0, %r3] -> %r2
 998  -live- %i0, %r0, %r2, %r3
 998  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r1
1003  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
1008  -live- %i0, %r0, %r1, %r2, %r3
1008  goto_if_not_ptr_iszero %r3, L64
1012  -live- %i0, %r0, %r1, %r2
1012  guard_class %r0 -> %i2
1015  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1020  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1025  -live- %i0, %i2, %r0, %r1, %r2
1025  goto_if_not %i2, L65
1029  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1032  L66:
1032  -live- %i0, %r1, %r2, %r3
1032  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1038  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r0
1043  -live- %i0, %r0, %r1, %r2, %r3
1043  guard_class %r0 -> %i2
1046  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1051  -live- %i0, %i2, %r0, %r1, %r2, %r3
1051  goto_if_not_int_eq %i2, $18, L67
1056  L68:
1056  -live- %i0, %r1, %r2, %r3
1056  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
1062  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
1067  -live- %i0, %i2, %r1, %r2, %r3
1067  goto_if_not_int_lt %i2, $1, L69
1072  L70:
1072  residual_call_r_r $<* fn find_dtype_for_seq>, R[%r2, %r3], <CallDescr(rr) EF=7> -> %r3
1080  -live- %i0, %r1, %r2, %r3
1080  L71:
1080  inline_call_ir_r <JitCode 'from_shape'>, I[%i0, $True], R[%r1, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
1091  -live- %r0, %r1, %r2, %r3
1091  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
1097  -live- %i2, %r0, %r2, %r3
1097  -live- %i2, %r0, %r2, %r3
1097  goto_if_not_int_eq %i2, $1, L72
1102  getlistitem_gc_r %r2, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
1110  -live- %r0, %r2, %r3
1110  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1116  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
1121  -live- %r0, %r1, %r2, %r3
1121  guard_class %r1 -> %i2
1124  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i2
1129  -live- %i2, %r0, %r1, %r2, %r3
1129  int_guard_value %i2
1131  residual_call_r_r %i2, <IndirectCallTargets>, R[%r1, %r3, %r2], <CallDescr(rrr) EF=7> -> %r3
1140  -live- %r0, %r3
1140  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
1145  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
1150  -live- %i2, %r0, %r2, %r3
1150  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1156  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
1161  -live- %i2, %r0, %r1, %r2, %r3
1161  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1167  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
1172  -live- %i2, %r0, %r1, %r2, %r3, %r4
1172  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
1178  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i0
1183  int_eq %i0, $61 -> %i1
1187  int_eq %i0, $62 -> %i0
1191  int_or %i1, %i0 -> %i0
1195  -live- %i0, %i2, %r0, %r2, %r3, %r4
1195  guard_class %r4 -> %i1
1198  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i1
1203  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1203  int_guard_value %i1
1205  residual_call_ir_v %i1, <IndirectCallTargets>, I[%i2, $0, %i0], R[%r4, %r2, %r3], <CallDescr(rriiri) EF=7>
1217  -live- %r0
1217  ref_return %r0
1219  ---
1219  L72:
1219  residual_call_r_v $<* fn assign>, R[%r0, %r2], <CallDescr(rr) EF=7>
1226  -live- %r0
1226  ref_return %r0
1228  ---
1228  L69:
1228  goto L71
1231  ---
1231  L67:
1231  -live- %i0, %r0, %r1, %r2, %r3
1231  guard_class %r0 -> %i2
1234  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1239  -live- %i0, %i2, %r1, %r2, %r3
1239  goto_if_not_int_eq %i2, $19, L73
1244  goto L68
1247  ---
1247  L73:
1247  goto L71
1250  ---
1250  L65:
1250  -live- %i0, %r0, %r1, %r2
1250  guard_class %r0 -> %i2
1253  -live- %i0, %i2, %r0, %r1, %r2
1253  int_guard_value %i2
1255  -live- %i0, %r0, %r1, %r2
1255  guard_class %r0 -> %i2
1258  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1263  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1268  -live- %i0, %i2, %r0, %r1, %r2
1268  int_guard_value %i2
1270  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r3
1277  -live- %i0, %r1, %r2, %r3
1277  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1284  -live- %i0, %i2, %r1, %r2
1284  -live- %i0, %i2, %r1, %r2
1284  goto_if_not %i2, L74
1288  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1291  goto L66
1294  ---
1294  L74:
1294  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1297  goto L70
1300  ---
1300  L64:
1300  -live- %i0, %r1, %r2, %r3
1300  goto_if_not_ptr_iszero %r3, L75
1304  goto L70
1307  ---
1307  L75:
1307  goto L66
1310  ---
1310  L10:
1310  goto L63
1313  ---
1313  L8:
1313  L76:
1313  residual_call_ir_r $<* fn try_interface_method>, I[%i0], R[%r0], <CallDescr(ri) EF=7> -> %r1
1322  -live- %i0, %i1, %r0, %r1, %r2, %r3
1322  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r4
1327  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i2
1332  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1332  goto_if_not_ptr_iszero %r4, L77
1336  goto L9
1339  ---
1339  L77:
1339  int_copy %i2 -> %i0
1342  ref_copy %r4 -> %r0
1345  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1350  -live- %i0, %i1, %r0, %r2, %r3
1350  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1356  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1361  goto L9
1364  ---
1364  L7:
1364  goto L76
1367  ---
1367  L5:
1367  L78:
1367  inline_call_r_r <JitCode 'try_array_method'>, R[%r0, %r1] -> %r1
1374  -live- %i0, %i1, %r0, %r1, %r2, %r3
1374  -live- %i0, %i1, %r0, %r1, %r2, %r3
1374  goto_if_not_ptr_iszero %r1, L79
1378  -live- %i0, %i1, %r0, %r2, %r3
1378  guard_class %r0 -> %i2
1381  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1386  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1391  -live- %i0, %i1, %i2, %r0, %r2, %r3
1391  goto_if_not %i2, L80
1395  goto L6
1398  ---
1398  L80:
1398  -live- %i0, %i1, %r0, %r2, %r3
1398  guard_class %r0 -> %i2
1401  -live- %i0, %i1, %i2, %r0, %r2, %r3
1401  int_guard_value %i2
1403  -live- %i0, %i1, %r0, %r2, %r3
1403  guard_class %r0 -> %i2
1406  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1411  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1416  -live- %i0, %i1, %i2, %r0, %r2, %r3
1416  int_guard_value %i2
1418  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
1425  -live- %i0, %i1, %r0, %r1, %r2, %r3
1425  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1432  -live- %i0, %i1, %i2, %r0, %r2, %r3
1432  -live- %i0, %i1, %i2, %r0, %r2, %r3
1432  goto_if_not %i2, L81
1436  goto L6
1439  ---
1439  L81:
1439  -live- %i0, %i1, %r0, %r2, %r3
1439  guard_class %r0 -> %i2
1442  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1447  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1452  -live- %i0, %i1, %i2, %r0, %r2, %r3
1452  goto_if_not %i2, L82
1456  goto L6
1459  ---
1459  L82:
1459  -live- %i0, %i1, %r0, %r2, %r3
1459  guard_class %r0 -> %i2
1462  -live- %i0, %i1, %i2, %r0, %r2, %r3
1462  int_guard_value %i2
1464  -live- %i0, %i1, %r0, %r2, %r3
1464  guard_class %r0 -> %i2
1467  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1472  getfield_raw_i %i2, FieldDescr<specfunc.variant0> -> %i2
1477  -live- %i0, %i1, %i2, %r0, %r2, %r3
1477  int_guard_value %i2
1479  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
1486  -live- %i0, %i1, %r0, %r1, %r2, %r3
1486  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1493  -live- %i0, %i1, %i2, %r0, %r2, %r3
1493  -live- %i0, %i1, %i2, %r0, %r2, %r3
1493  goto_if_not %i2, L83
1497  goto L6
1500  ---
1500  L83:
1500  -live- %i0, %i1, %r0, %r2, %r3
1500  goto_if_not_ptr_nonzero %r0, L84
1504  ref_copy %r0 -> %r1
1507  -live- %i0, %i1, %r0, %r1, %r2, %r3
1507  guard_class %r1 -> %i2
1510  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1515  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1520  -live- %i0, %i1, %i2, %r0, %r2, %r3
1520  goto_if_not %i2, L85
1524  goto L6
1527  ---
1527  L85:
1527  L86:
1527  residual_call_r_r $<* fn _array_from_buffer_3118>, R[%r0, %r3], <CallDescr(rr) EF=7> -> %r0
1535  -live- %i0, %i1, %r0, %r2, %r3
1535  goto L6
1538  ---
1538  L84:
1538  goto L86
1541  ---
1541  L79:
1541  ref_copy %r1 -> %r0
1544  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1549  -live- %i1, %r0, %r2, %r3
1549  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1555  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1560  int_copy $False -> %i0
1563  goto L6
1566  ---
1566  L4:
1566  goto L78
