   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 0x100951d8f90> -> %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  -live- %r3
  31  raise %r3
  33  ---
  33  L1:
  33  -live- %i0, %i1, %r0, %r1, %r2
  33  guard_class %r0 -> %i2
  36  -live- %i0, %i1, %i2, %r0, %r1, %r2
  36  int_guard_value %i2
  38  -live- %i0, %i1, %r0, %r1, %r2
  38  guard_class %r0 -> %i2
  41  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
  46  -live- %i0, %i1, %i2, %r0, %r1, %r2
  46  int_guard_value %i2
  48  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r3
  55  -live- %i0, %i1, %r0, %r1, %r2, %r3
  55  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
  62  -live- %i0, %i1, %i2, %r0, %r1, %r2
  62  -live- %i0, %i1, %i2, %r0, %r1, %r2
  62  goto_if_not %i2, L3
  66  goto L2
  69  ---
  69  L3:
  69  inline_call_r_r <JitCode 'decode_w_dtype'>, R[%r1] -> %r3
  75  -live- %i0, %i1, %r0, %r1, %r2, %r3
  75  -live- %i0, %i1, %r0, %r1, %r2, %r3
  75  goto_if_not_ptr_nonzero %r0, L4
  79  ref_copy %r0 -> %r4
  82  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
  82  guard_class %r4 -> %i2
  85  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
  90  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
  95  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
  95  goto_if_not %i2, L5
  99  L6:
  99  -live- %i0, %i1, %r0, %r2, %r3
  99  goto_if_not_ptr_nonzero %r0, L7
 103  ref_copy %r0 -> %r1
 106  -live- %i0, %i1, %r0, %r1, %r2, %r3
 106  guard_class %r1 -> %i2
 109  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 114  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 119  -live- %i0, %i1, %i2, %r0, %r2, %r3
 119  goto_if_not %i2, L8
 123  L9:
 123  -live- %i0, %i1, %r0, %r2, %r3
 123  goto_if_not_ptr_nonzero %r0, L10
 127  ref_copy %r0 -> %r1
 130  -live- %i0, %i1, %r0, %r1, %r2, %r3
 130  guard_class %r1 -> %i2
 133  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 138  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 143  -live- %i0, %i1, %i2, %r0, %r2, %r3
 143  goto_if_not %i2, L11
 147  inline_call_ir_i <JitCode 'order_converter'>, I[$-1], R[%r2] -> %i3
 155  -live- %i0, %i1, %i3, %r0, %r3
 155  -live- %i0, %i1, %i3, %r0, %r3
 155  goto_if_not_ptr_iszero %r3, L12
 159  L13:
 159  -live- %i0, %i1, %i3, %r0, %r3
 159  goto_if_not %i1, L14
 163  L15:
 163  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 168  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags> -> %i1
 173  -live- %i0, %i1, %i3, %r0
 173  goto_if_not_int_is_zero %i3, L16
 177  int_and %i1, $1 -> %i2
 181  -live- %i0, %i1, %i2, %i3, %r0
 181  goto_if_not_int_is_true %i2, L17
 185  int_copy $False -> %i2
 188  L18:
 188  int_or %i0, %i2 -> %i2
 192  int_is_true %i2 -> %i2
 195  -live- %i1, %i2, %i3, %r0
 195  goto_if_not_int_eq %i3, $1, L19
 200  int_and %i1, $2 -> %i1
 204  -live- %i1, %i2, %i3, %r0
 204  goto_if_not_int_is_true %i1, L20
 208  int_copy $False -> %i1
 211  L21:
 211  int_or %i2, %i1 -> %i2
 215  -live- %i2, %i3, %r0
 215  goto_if_not_int_is_true %i2, L22
 219  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x100951d1e10> -> %r3
 223  setfield_gc_i %r3, %i3, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 228  inline_call_r_r <JitCode 'W_NDimArray.descr_copy'>, R[%r0, %r3] -> %r0
 235  -live- %r0
 235  ref_return %r0
 237  ---
 237  L22:
 237  ref_return %r0
 239  ---
 239  L20:
 239  int_copy $True -> %i1
 242  goto L21
 245  ---
 245  L19:
 245  int_copy $False -> %i1
 248  goto L21
 251  ---
 251  L17:
 251  int_copy $True -> %i2
 254  goto L18
 257  ---
 257  L16:
 257  int_copy $False -> %i2
 260  goto L18
 263  ---
 263  L14:
 263  -live- %i0, %i3, %r0, %r3
 263  guard_class %r0 -> %i2
 266  -live- %i0, %i2, %i3, %r0, %r3
 266  goto_if_not_int_eq %i2, $<* struct object_vtable>, L23
 271  goto L15
 274  ---
 274  L23:
 274  L24:
 274  -live- %i0, %i3, %r0, %r3
 274  goto_if_not_ptr_iszero %r3, L25
 278  ref_copy %r0 -> %r2
 281  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 286  -live- %i0, %i3, %r2, %r3
 286  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 292  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 297  L26:
 297  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 302  -live- %i0, %i3, %r1, %r2, %r3
 302  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 308  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r0
 313  instance_ptr_eq %r3, %r0 -> %i2
 317  -live- %i0, %i2, %i3, %r1, %r2, %r3
 317  goto_if_not_int_is_zero %i2, L27
 321  L28:
 321  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 326  -live- %i3, %r0, %r2, %r3
 326  guard_class %r0 -> %i2
 329  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 334  -live- %i2, %i3, %r0, %r2, %r3
 334  switch %i2, <SwitchDictDescr 0:L29, 1:L30>
 338  unreachable
 339  ---
 339  L29:
 339  -live- %i3, %r0, %r2, %r3
 339  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 344  L31:
 344  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 349  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i2
 354  -live- %i2, %i3, %r1, %r2, %r3
 354  switch %i3, <SwitchDictDescr 0:L32, 1:L33>
 358  L34:
 358  inline_call_ir_r <JitCode 'from_shape'>, I[%i2, $True], R[%r1, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
 369  -live- %r0, %r1, %r2, %r3
 369  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
 375  -live- %i2, %r0, %r1, %r2, %r3
 375  -live- %i2, %r0, %r1, %r2, %r3
 375  goto_if_not_int_eq %i2, $1, L35
 380  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 385  -live- %r0, %r2, %r3
 385  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 391  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 396  -live- %r0, %r1, %r2, %r3
 396  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 402  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 407  -live- %r0, %r1, %r2, %r3, %r4
 407  guard_class %r4 -> %i2
 410  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i2
 415  -live- %i2, %r0, %r1, %r2, %r3, %r4
 415  int_guard_value %i2
 417  residual_call_ir_r %i2, <IndirectCallTargets>, I[$0, $0], R[%r4, %r2, %r1], <CallDescr(rriir) EF=5> -> %r2
 429  -live- %r0, %r2, %r3
 429  -live- %r0, %r2, %r3
 429  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 435  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
 440  -live- %r0, %r1, %r2, %r3
 440  guard_class %r1 -> %i2
 443  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i2
 448  -live- %i2, %r0, %r1, %r2, %r3
 448  int_guard_value %i2
 450  residual_call_r_r %i2, <IndirectCallTargets>, R[%r1, %r3, %r2], <CallDescr(rrr) EF=7> -> %r3
 459  -live- %r0, %r3
 459  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 464  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
 469  -live- %i2, %r0, %r2, %r3
 469  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 475  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 480  -live- %i2, %r0, %r1, %r2, %r3
 480  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 486  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 491  -live- %i2, %r0, %r1, %r2, %r3, %r4
 491  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 497  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i1
 502  int_eq %i1, $61 -> %i0
 506  int_eq %i1, $62 -> %i1
 510  int_or %i0, %i1 -> %i1
 514  -live- %i1, %i2, %r0, %r2, %r3, %r4
 514  guard_class %r4 -> %i0
 517  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i0
 522  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 522  int_guard_value %i0
 524  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i2, $0, %i1], R[%r4, %r2, %r3], <CallDescr(rriiri) EF=7>
 536  -live- %r0
 536  ref_return %r0
 538  ---
 538  L35:
 538  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 543  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 548  inline_call_r_r <JitCode 'setslice'>, R[%r1, %r3, %r2] -> %r3
 556  -live- %r0
 556  ref_return %r0
 558  ---
 558  L32:
 558  -live- %r1, %r2, %r3
 558  int_copy $0 -> %i2
 561  goto L34
 564  ---
 564  L33:
 564  -live- %r1, %r2, %r3
 564  int_copy $1 -> %i2
 567  goto L34
 570  ---
 570  L30:
 570  -live- %i3, %r0, %r2, %r3
 570  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 575  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i2
 580  -live- %i2, %i3, %r1, %r2, %r3
 580  int_guard_value %i2
 582  goto L31
 585  ---
 585  L27:
 585  -live- %i0, %i3, %r1, %r2, %r3
 585  goto_if_not %i0, L36
 589  goto L28
 592  ---
 592  L36:
 592  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r2] -> %i2
 598  -live- %i2, %r1, %r2, %r3
 598  -live- %i2, %r1, %r2, %r3
 598  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 604  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 609  int_mul %i2, %i1 -> %i1
 613  -live- %i1, %r1, %r2, %r3
 613  guard_class %r1 -> %i2
 616  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_base> -> %i2
 621  -live- %i1, %i2, %r1, %r2, %r3
 621  switch %i2, <SwitchDictDescr 0:L37, 1:L38, 2:L39, 3:L40>
 625  unreachable
 626  ---
 626  L37:
 626  -live- %i1, %r1, %r2, %r3
 626  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r0
 631  L41:
 631  -live- %i1, %r0, %r1, %r2, %r3
 631  goto_if_not_ptr_iszero %r0, L42
 635  ref_copy %r2 -> %r4
 638  L43:
 638  ref_copy %r4 -> %r2
 641  L44:
 641  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i0
 646  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 651  -live- %i0, %i1, %r0, %r1, %r3, %r4
 651  guard_class %r0 -> %i2
 654  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 659  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 659  switch %i2, <SwitchDictDescr 0:L45, 1:L46>
 663  unreachable
 664  ---
 664  L45:
 664  -live- %i0, %i1, %r0, %r1, %r3, %r4
 664  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 669  L47:
 669  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r0
 674  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
 679  residual_call_ir_r $<* fn from_shape_and_storage>, I[%i0, %i1, $0, $False, $True, %i2], R[%r2, %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r4, %r0], <CallDescr(ririiirriri) EF=7> -> %r0
 697  -live- %r0, %r1
 697  catch_exception L48
 700  -live- %r0, %r1
 700  ref_return %r0
 702  ---
 702  L48:
 702  last_exception -> %i2
 704  last_exc_value -> %r3
 706  -live- %r1, %r3
 706  -live- %r3
 706  raise %r3
 708  ---
 708  L46:
 708  -live- %i0, %i1, %r0, %r1, %r3, %r4
 708  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 713  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i2
 718  -live- %i0, %i1, %i2, %r1, %r2, %r3, %r4
 718  int_guard_value %i2
 720  goto L47
 723  ---
 723  L42:
 723  -live- %r1, %r2, %r3
 723  guard_class %r1 -> %i2
 726  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_base> -> %i2
 731  -live- %i2, %r1, %r2, %r3
 731  switch %i2, <SwitchDictDescr 0:L49, 1:L50, 2:L51, 3:L52>
 735  unreachable
 736  ---
 736  L49:
 736  -live- %r1, %r2, %r3
 736  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r4
 741  L53:
 741  -live- %r1, %r2, %r3, %r4
 741  goto_if_not_ptr_nonzero %r4, L54
 745  ref_copy %r4 -> %r0
 748  -live- %r0, %r1, %r2, %r3, %r4
 748  guard_class %r0 -> %i2
 751  -live- %i2, %r1, %r2, %r3, %r4
 751  goto_if_not_int_eq %i2, $<* struct object_vtable>, L55
 756  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r4] -> %i2
 762  -live- %i2, %r1, %r2, %r3, %r4
 762  -live- %i2, %r1, %r2, %r3, %r4
 762  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 768  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 773  int_mul %i2, %i1 -> %i1
 777  goto L44
 780  ---
 780  L55:
 780  L56:
 780  inline_call_r_r <JitCode 'call_method_opt__star_0'>, R[%r4, $<* struct rpy_string>] -> %r0
 787  -live- %r0, %r1, %r2, %r3, %r4
 787  -live- %r0, %r1, %r2, %r3, %r4
 787  guard_class %r0 -> %i2
 790  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int_w> -> %i2
 795  -live- %i2, %r0, %r1, %r2, %r3, %r4
 795  switch %i2, <SwitchDictDescr 0:L57, 1:L58, 2:L59>
 799  unreachable
 800  ---
 800  L57:
 800  -live- %r0, %r1, %r2, %r3, %r4
 800  -live- %r0, %r1, %r2, %r3, %r4
 800  guard_class %r0 -> %i2
 803  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int> -> %i2
 808  -live- %i2, %r0, %r1, %r2, %r3, %r4
 808  int_guard_value %i2
 810  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r0
 817  -live- %r0, %r1, %r2, %r3, %r4
 817  -live- %r0, %r1, %r2, %r3, %r4
 817  guard_class %r0 -> %i2
 820  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__int_w> -> %i2
 825  inline_call_ir_i <JitCode 'dispatcher'>, I[%i2], R[%r0] -> %i1
 833  -live- %i1, %r1, %r2, %r3, %r4
 833  goto L44
 836  ---
 836  L58:
 836  -live- %r0
 836  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
 845  -live- %r3
 845  -live- %r3
 845  guard_class %r3 -> %i2
 848  -live- %r3
 848  raise %r3
 850  ---
 850  L59:
 850  -live- %r0, %r1, %r2, %r3, %r4
 850  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i1
 855  goto L44
 858  ---
 858  L54:
 858  goto L56
 861  ---
 861  L50:
 861  -live- %r1, %r2, %r3
 861  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r4
 866  goto L53
 869  ---
 869  L51:
 869  -live- %r1, %r2, %r3
 869  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r4
 874  goto L53
 877  ---
 877  L52:
 877  -live- %r1, %r2, %r3
 877  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r4
 880  goto L56
 883  ---
 883  L38:
 883  -live- %i1, %r1, %r2, %r3
 883  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r0
 888  goto L41
 891  ---
 891  L39:
 891  -live- %i1, %r1, %r2, %r3
 891  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r0
 896  goto L41
 899  ---
 899  L40:
 899  -live- %i1, %r1, %r2, %r3
 899  ref_copy %r2 -> %r4
 902  goto L43
 905  ---
 905  L25:
 905  ref_copy %r0 -> %r2
 908  goto L26
 911  ---
 911  L12:
 911  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 916  -live- %i0, %i1, %i3, %r0, %r2, %r3
 916  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 922  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 927  instance_ptr_eq %r2, %r3 -> %i2
 931  -live- %i0, %i1, %i2, %i3, %r0, %r3
 931  goto_if_not %i2, L60
 935  goto L13
 938  ---
 938  L60:
 938  -live- %i0, %i1, %i3, %r0, %r3
 938  goto_if_not %i1, L61
 942  -live- %i0, %i3, %r0, %r3
 942  guard_class %r0 -> %i2
 945  -live- %i0, %i2, %i3, %r0, %r3
 945  goto_if_not_int_eq %i2, $<* struct object_vtable>, L62
 950  goto L24
 953  ---
 953  L62:
 953  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x100951d8f90> -> %r3
 957  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 962  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 967  -live- %r3
 967  raise %r3
 969  ---
 969  L61:
 969  goto L24
 972  ---
 972  L11:
 972  L63:
 972  inline_call_ir_i <JitCode 'order_converter'>, I[$0], R[%r2] -> %i1
 980  -live- %i1, %r0, %r3
 980  inline_call_r_r <JitCode 'find_shape_and_elems'>, R[%r0, %r3] -> %r2
 987  -live- %i1, %r0, %r2, %r3
 987  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r1
 992  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 997  -live- %i1, %r0, %r1, %r2, %r3
 997  goto_if_not_ptr_iszero %r3, L64
1001  -live- %i1, %r0, %r1, %r2
1001  guard_class %r0 -> %i2
1004  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
1009  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
1014  -live- %i1, %i2, %r0, %r1, %r2
1014  goto_if_not %i2, L65
1018  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1021  L66:
1021  -live- %i1, %r1, %r2, %r3
1021  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1027  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r0
1032  -live- %i1, %r0, %r1, %r2, %r3
1032  guard_class %r0 -> %i2
1035  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1040  -live- %i1, %i2, %r0, %r1, %r2, %r3
1040  goto_if_not_int_eq %i2, $18, L67
1045  L68:
1045  -live- %i1, %r1, %r2, %r3
1045  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
1051  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
1056  -live- %i1, %i2, %r1, %r2, %r3
1056  goto_if_not_int_lt %i2, $1, L69
1061  L70:
1061  residual_call_r_r $<* fn find_dtype_for_seq>, R[%r2, %r3], <CallDescr(rr) EF=7> -> %r3
1069  -live- %i1, %r1, %r2, %r3
1069  L71:
1069  inline_call_ir_r <JitCode 'from_shape'>, I[%i1, $True], R[%r1, %r3, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r0
1080  -live- %r0, %r1, %r2, %r3
1080  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
1086  -live- %i2, %r0, %r2, %r3
1086  -live- %i2, %r0, %r2, %r3
1086  goto_if_not_int_eq %i2, $1, L72
1091  getlistitem_gc_r %r2, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009f2142d0> -> %r2
1099  -live- %r0, %r2, %r3
1099  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1105  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
1110  -live- %r0, %r1, %r2, %r3
1110  guard_class %r1 -> %i2
1113  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i2
1118  -live- %i2, %r0, %r1, %r2, %r3
1118  int_guard_value %i2
1120  residual_call_r_r %i2, <IndirectCallTargets>, R[%r1, %r3, %r2], <CallDescr(rrr) EF=7> -> %r3
1129  -live- %r0, %r3
1129  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
1134  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i2
1139  -live- %i2, %r0, %r2, %r3
1139  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1145  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
1150  -live- %i2, %r0, %r1, %r2, %r3
1150  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1156  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
1161  -live- %i2, %r0, %r1, %r2, %r3, %r4
1161  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
1167  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i1
1172  int_eq %i1, $61 -> %i0
1176  int_eq %i1, $62 -> %i1
1180  int_or %i0, %i1 -> %i1
1184  -live- %i1, %i2, %r0, %r2, %r3, %r4
1184  guard_class %r4 -> %i0
1187  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i0
1192  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1192  int_guard_value %i0
1194  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i2, $0, %i1], R[%r4, %r2, %r3], <CallDescr(rriiri) EF=7>
1206  -live- %r0
1206  ref_return %r0
1208  ---
1208  L72:
1208  residual_call_r_v $<* fn assign>, R[%r0, %r2], <CallDescr(rr) EF=7>
1215  -live- %r0
1215  ref_return %r0
1217  ---
1217  L69:
1217  goto L71
1220  ---
1220  L67:
1220  -live- %i1, %r0, %r1, %r2, %r3
1220  guard_class %r0 -> %i2
1223  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i2
1228  -live- %i1, %i2, %r1, %r2, %r3
1228  goto_if_not_int_eq %i2, $19, L73
1233  goto L68
1236  ---
1236  L73:
1236  goto L71
1239  ---
1239  L65:
1239  -live- %i1, %r0, %r1, %r2
1239  guard_class %r0 -> %i2
1242  -live- %i1, %i2, %r0, %r1, %r2
1242  int_guard_value %i2
1244  -live- %i1, %r0, %r1, %r2
1244  guard_class %r0 -> %i2
1247  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i2
1252  -live- %i1, %i2, %r0, %r1, %r2
1252  int_guard_value %i2
1254  residual_call_r_r %i2, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r3
1261  -live- %i1, %r1, %r2, %r3
1261  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i2
1268  -live- %i1, %i2, %r1, %r2
1268  -live- %i1, %i2, %r1, %r2
1268  goto_if_not %i2, L74
1272  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1275  goto L66
1278  ---
1278  L74:
1278  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
1281  goto L70
1284  ---
1284  L64:
1284  -live- %i1, %r1, %r2, %r3
1284  goto_if_not_ptr_iszero %r3, L75
1288  goto L70
1291  ---
1291  L75:
1291  goto L66
1294  ---
1294  L10:
1294  goto L63
1297  ---
1297  L8:
1297  L76:
1297  residual_call_r_r $<* fn try_interface_method>, R[%r0], <CallDescr(r) EF=7> -> %r1
1304  -live- %i0, %i1, %r0, %r1, %r2, %r3
1304  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r4
1309  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i2
1314  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
1314  goto_if_not_ptr_iszero %r4, L77
1318  goto L9
1321  ---
1321  L77:
1321  int_copy %i2 -> %i0
1324  ref_copy %r4 -> %r0
1327  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1332  -live- %i0, %i1, %r0, %r2, %r3
1332  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1338  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1343  goto L9
1346  ---
1346  L7:
1346  goto L76
1349  ---
1349  L5:
1349  L78:
1349  inline_call_r_r <JitCode 'try_array_method'>, R[%r0, %r1] -> %r1
1356  -live- %i0, %i1, %r0, %r1, %r2, %r3
1356  -live- %i0, %i1, %r0, %r1, %r2, %r3
1356  goto_if_not_ptr_iszero %r1, L79
1360  goto L6
1363  ---
1363  L79:
1363  ref_copy %r1 -> %r0
1366  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
1371  -live- %i1, %r0, %r2, %r3
1371  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
1377  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
1382  int_copy $False -> %i0
1385  goto L6
1388  ---
1388  L4:
1388  goto L78
