   0  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i0
   5  -live- %i0, %r0, %r1, %r3
   8  goto_if_not_int_gt %i0, $2, L1
  13  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i0
  18  -live- %i0, %r0, %r1, %r3
  21  goto_if_not_int_eq %i0, $3, L2
  26  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r4
  32  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r2
  38  getarrayitem_gc_r %r1, $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r1
  44  inline_call_r_r <JitCode 'out_converter'>, R[%r1] -> %r1
  50  L3:
  50  -live- %r0, %r1, %r2, %r3, %r4
  53  goto_if_not_ptr_nonzero %r2, L4
  57  ref_copy %r2 -> %r5
  60  -live- %r0, %r1, %r2, %r3, %r4, %r5
  63  guard_class %r5 -> %i0
  66  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  71  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  76  -live- %i0, %r0, %r1, %r2, %r3, %r4
  79  goto_if_not %i0, L5
  83  L6:
  83  inline_call_r_r <JitCode 'numpify'>, R[%r4] -> %r4
  89  -live- %r0, %r1, %r2, %r3, %r4
  92  inline_call_r_r <JitCode 'numpify'>, R[%r2] -> %r5
  98  -live- %r0, %r1, %r3, %r4, %r5
 101  guard_class %r4 -> %i0
 104  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.base.W_NumpyObject_vtable.cls_get_dtype> -> %i1
 109  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5
 112  switch %i1, <SwitchDictDescr 0:L7, 1:L8, 2:L9, 3:L10>
 116  unreachable
 117  ---
 117  L7:
 117  -live- %r0, %r1, %r3, %r4, %r5
 120  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 125  -live- %r0, %r1, %r2, %r3, %r4, %r5
 128  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 134  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
 139  L11:
 139  -live- %r0, %r1, %r3, %r4, %r5, %r6
 142  guard_class %r5 -> %i0
 145  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.base.W_NumpyObject_vtable.cls_get_dtype> -> %i1
 150  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6
 153  switch %i1, <SwitchDictDescr 0:L12, 1:L13, 2:L14, 3:L15>
 157  unreachable
 158  ---
 158  L12:
 158  -live- %r0, %r1, %r3, %r4, %r5, %r6
 161  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 166  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 169  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 175  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 180  L16:
 180  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 183  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 189  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 194  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 197  guard_class %r2 -> %i0
 200  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 205  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 208  goto_if_not_int_eq %i0, $17, L17
 213  L18:
 213  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 216  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 222  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 227  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 230  guard_class %r2 -> %i0
 233  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 238  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 241  goto_if_not_int_eq %i0, $17, L19
 246  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 249  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 255  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 260  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 263  goto_if_not_ptr_nonzero %r2, L20
 267  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 272  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 275  goto_if_not_int_is_true %i0, L21
 279  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 282  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 288  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 293  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 296  guard_class %r2 -> %i0
 299  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 304  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 307  goto_if_not_int_eq %i0, $17, L22
 312  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 315  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 321  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 326  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 329  goto_if_not_ptr_nonzero %r2, L23
 333  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 338  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 341  goto_if_not_int_is_true %i0, L24
 345  L25:
 345  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 348  guard_class %r4 -> %i0
 351  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 356  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 361  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 364  goto_if_not %i0, L26
 368  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 371  guard_class %r5 -> %i0
 374  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 379  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 384  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 387  goto_if_not %i0, L27
 391  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 394  goto_if_not_ptr_iszero %r1, L28
 398  inline_call_r_r <JitCode 'W_Ufunc2.call_scalar'>, R[%r0, %r4, %r5, %r3] -> %r1
 407  -live- %r1
 410  ref_return %r1
 412  ---
 412  L28:
 412  L29:
 412  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 415  guard_class %r4 -> %i0
 418  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 423  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 428  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 431  goto_if_not %i0, L30
 435  inline_call_r_r <JitCode 'from_scalar'>, R[%r4] -> %r4
 441  L31:
 441  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 444  guard_class %r5 -> %i0
 447  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 452  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 457  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 460  goto_if_not %i0, L32
 464  inline_call_r_r <JitCode 'from_scalar'>, R[%r5] -> %r5
 470  L33:
 470  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 473  inline_call_r_r <JitCode 'W_Ufunc2.find_specialization'>, R[%r0, %r6, %r7, %r1, %r3, %r4, %r5] -> %r2
 485  -live- %r0, %r1, %r2, %r4, %r5
 488  getfield_gc_r_pure %r2, FieldDescr<tuple3.item0> -> %r3
 493  getfield_gc_r_pure %r2, FieldDescr<tuple3.item1> -> %r6
 498  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 503  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 506  guard_class %r2 -> %i0
 509  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 514  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 517  switch %i0, <SwitchDictDescr 0:L34, 1:L35>
 521  unreachable
 522  ---
 522  L34:
 522  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 525  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 530  L36:
 530  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r2, %r5] -> %r2
 539  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 542  inline_call_ir_r <JitCode 'shape_agreement'>, I[$False], R[%r2, %r1] -> %r8
 551  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 554  inline_call_r_r <JitCode 'array_priority'>, R[%r4, %r5] -> %r2
 561  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 564  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r7
 569  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 574  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 577  goto_if_not_ptr_iszero %r1, L37
 581  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r8, %r6, %r2] -> %r1
 592  -live- %r0, %r1, %r3, %r4, %r5, %r7, %r8
 595  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r2
 598  L38:
 598  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_func> -> %i0
 603  inline_call_ir_r <JitCode 'call2'>, I[%i0], R[%r8, %r3, %r4, %r5, %r1] -> %r1
 615  -live- %r0, %r1, %r2, %r4, %r5, %r7
 618  goto_if_not_ptr_iszero %r2, L39
 622  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 627  -live- %r0, %r1, %r2, %r4, %r5, %r7
 630  guard_class %r2 -> %i0
 633  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 638  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r7
 641  switch %i0, <SwitchDictDescr 0:L40, 1:L41>
 645  unreachable
 646  ---
 646  L40:
 646  -live- %r0, %r1, %r2, %r4, %r5, %r7
 649  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 654  L42:
 654  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 659  -live- %i0, %r0, %r1, %r4, %r5, %r7
 662  goto_if_not_int_is_zero %i0, L43
 666  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r1] -> %r1
 672  -live- %r1
 675  ref_return %r1
 677  ---
 677  L43:
 677  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r2
 682  setarrayitem_gc_r %r2, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 688  setarrayitem_gc_r %r2, $1, %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 694  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r2] -> %r4
 700  -live- %r0, %r1, %r2, %r4, %r7
 703  catch_exception L44
 706  L45:
 706  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a76e65440> -> %r2
 710  setfield_gc_i %r2, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 715  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r3
 720  setarrayitem_gc_r %r3, $0, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 726  setarrayitem_gc_r %r3, $1, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 732  setarrayitem_gc_r %r3, $2, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30>
 738  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r2
 744  -live- %r1, %r2, %r3, %r7
 747  catch_exception L46
 750  L47:
 750  inline_call_r_r <JitCode 'call_method_opt__star_2'>, R[%r7, $<* struct rpy_string>, %r1, %r2] -> %r1
 759  -live- %r1
 762  ref_return %r1
 764  ---
 764  L46:
 764  goto_if_exception_mismatch $<* struct object_vtable>, L48
 768  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7739e090> -> %r2
 772  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 777  goto L47
 780  ---
 780  L48:
 780  reraise
 781  ---
 781  L44:
 781  goto_if_exception_mismatch $<* struct object_vtable>, L49
 785  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7739e090> -> %r4
 789  setfield_gc_r %r4, %r2, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 794  goto L45
 797  ---
 797  L49:
 797  reraise
 798  ---
 798  L41:
 798  -live- %r0, %r1, %r2, %r4, %r5, %r7
 801  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 806  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 811  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r7
 814  int_guard_value %i0
 816  goto L42
 819  ---
 819  L39:
 819  ref_return %r1
 821  ---
 821  L37:
 821  ref_copy %r1 -> %r2
 824  goto L38
 827  ---
 827  L35:
 827  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 830  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 835  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 840  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 843  int_guard_value %i0
 845  goto L36
 848  ---
 848  L32:
 848  goto L33
 851  ---
 851  L30:
 851  goto L31
 854  ---
 854  L27:
 854  goto L29
 857  ---
 857  L26:
 857  goto L29
 860  ---
 860  L24:
 860  L50:
 860  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 863  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 869  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 874  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 877  guard_class %r2 -> %i0
 880  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 885  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 888  goto_if_not_int_eq %i0, $17, L51
 893  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
 896  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 902  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 907  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 910  goto_if_not_ptr_nonzero %r2, L52
 914  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 919  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
 922  goto_if_not_int_is_true %i0, L53
 926  L54:
 926  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 931  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 939  -live- %i0, %r0, %r3
 942  goto_if_not %i0, L55
 946  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 948  ---
 948  L55:
 948  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 953  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 961  -live- %i0, %r0, %r3
 964  goto_if_not %i0, L56
 968  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 970  ---
 970  L56:
 970  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 975  inline_call_r_r <JitCode 'oefmt__ufunc___s__not_supported_for_the_input_types__and_the_inputs_could_not_be_safely_coerced_to_any_supported_types_accordin'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, %r2, %r3] -> %r2
 984  -live- %r2
 987  assert_not_none %r2
 989  -live- %r2
 992  guard_class %r2 -> %i0
 995  -live- %r2
 998  raise %r2
1000  ---
1000  L53:
1000  L57:
1000  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1003  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1009  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1014  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1017  guard_class %r2 -> %i0
1020  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1025  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1028  goto_if_not_int_eq %i0, $17, L58
1033  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1036  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
1042  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
1047  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1050  goto_if_not_ptr_nonzero %r2, L59
1054  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
1059  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1062  goto_if_not_int_is_true %i0, L60
1066  goto L54
1069  ---
1069  L60:
1069  goto L25
1072  ---
1072  L59:
1072  goto L25
1075  ---
1075  L58:
1075  goto L25
1078  ---
1078  L52:
1078  goto L57
1081  ---
1081  L51:
1081  goto L57
1084  ---
1084  L23:
1084  goto L50
1087  ---
1087  L22:
1087  goto L50
1090  ---
1090  L21:
1090  goto L50
1093  ---
1093  L20:
1093  goto L50
1096  ---
1096  L19:
1096  goto L50
1099  ---
1099  L17:
1099  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1102  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1108  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1113  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1116  guard_class %r2 -> %i1
1119  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
1124  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1127  goto_if_not_int_eq %i1, $17, L61
1132  goto L18
1135  ---
1135  L61:
1135  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1138  goto_if_not_int_eq %i0, $18, L62
1143  -live- %i1, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1146  goto_if_not_int_eq %i1, $18, L63
1151  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1156  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1159  goto_if_not %i0, L64
1163  goto L25
1166  ---
1166  L64:
1166  L65:
1166  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1169  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1175  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1180  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1183  guard_class %r2 -> %i0
1186  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1191  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1194  goto_if_not_int_eq %i0, $18, L66
1199  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1204  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1207  goto_if_not %i0, L67
1211  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1214  goto_if_not_ptr_iszero %r1, L68
1218  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1223  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1231  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1239  int_or %i0, %i1 -> %i0
1243  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1251  int_or %i0, %i1 -> %i0
1255  -live- %i0
1258  goto_if_not %i0, L69
1262  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1264  ---
1264  L69:
1264  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1266  ---
1266  L68:
1266  L70:
1266  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1269  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1275  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1280  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1283  guard_class %r2 -> %i0
1286  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1291  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1294  goto_if_not_int_eq %i0, $18, L71
1299  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1304  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1307  goto_if_not %i0, L72
1311  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1314  goto_if_not_ptr_iszero %r1, L73
1318  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1323  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1331  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1339  int_or %i0, %i1 -> %i0
1343  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1351  int_or %i0, %i1 -> %i0
1355  -live- %i0
1358  goto_if_not %i0, L74
1362  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1364  ---
1364  L74:
1364  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1366  ---
1366  L73:
1366  L75:
1366  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1369  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1375  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1380  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1383  guard_class %r2 -> %i0
1386  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1391  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1394  switch %i0, <SwitchDictDescr 18:L76, 19:L77, 20:L78>
1398  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1401  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1407  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1412  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
1415  guard_class %r2 -> %i0
1418  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1423  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1426  switch %i0, <SwitchDictDescr 18:L79, 19:L80, 20:L81>
1430  goto L25
1433  ---
1433  L79:
1433  L82:
1433  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1436  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1441  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1444  goto_if_not %i0, L83
1448  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1453  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1461  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1464  goto_if_not %i0, L84
1468  L85:
1468  inline_call_r_i <JitCode 'W_Dtype.eq'>, R[%r6, %r7] -> %i0
1475  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1478  goto_if_not %i0, L86
1482  goto L25
1485  ---
1485  L86:
1485  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1490  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1498  -live- %i0
1501  goto_if_not %i0, L87
1505  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1507  ---
1507  L87:
1507  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1509  ---
1509  L84:
1509  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1514  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1522  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7
1525  goto_if_not %i0, L88
1529  goto L85
1532  ---
1532  L88:
1532  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1534  ---
1534  L83:
1534  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r7] -> %r2
1540  -live- %r0, %r2, %r6
1543  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r6] -> %r4
1549  -live- %r0, %r2, %r4
1552  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r1
1557  inline_call_r_r <JitCode 'oefmt__unsupported_operand_dtypes__s_and__s_for___s__star_3'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, %r2, %r4, %r1] -> %r2
1567  -live- %r2
1570  assert_not_none %r2
1572  -live- %r2
1575  guard_class %r2 -> %i0
1578  -live- %r2
1581  raise %r2
1583  ---
1583  L80:
1583  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1586  goto L82
1589  ---
1589  L81:
1589  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1592  goto L82
1595  ---
1595  L76:
1595  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1598  goto L82
1601  ---
1601  L77:
1601  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1604  goto L82
1607  ---
1607  L78:
1607  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1610  goto L82
1613  ---
1613  L72:
1613  goto L75
1616  ---
1616  L71:
1616  goto L75
1619  ---
1619  L67:
1619  goto L70
1622  ---
1622  L66:
1622  goto L70
1625  ---
1625  L63:
1625  goto L65
1628  ---
1628  L62:
1628  goto L65
1631  ---
1631  L13:
1631  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
1634  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1639  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
1642  int_guard_value %i0
1644  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r7
1650  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1653  goto L16
1656  ---
1656  L14:
1656  -live- %r0, %r1, %r3, %r4, %r5, %r6
1659  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r7
1664  goto L16
1667  ---
1667  L15:
1667  -live- %r0, %r1, %r3, %r4, %r5, %r6
1670  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1675  strlen %r2 -> %i0
1678  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a71062c98> -> %r2
1682  int_mul %i0, $4 -> %i0
1686  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7c04eb10> -> %r7
1690  inline_call_ir_v <JitCode '__init__'>, I[$'=', %i0], R[%r7, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct list>, $<* struct dicttable>, $<* array [  ]>, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>]
1704  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7
1707  goto L16
1710  ---
1710  L8:
1710  -live- %i0, %r0, %r1, %r3, %r4, %r5
1713  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1718  -live- %i0, %r0, %r1, %r3, %r4, %r5
1721  int_guard_value %i0
1723  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r6
1729  -live- %r0, %r1, %r3, %r4, %r5, %r6
1732  goto L11
1735  ---
1735  L9:
1735  -live- %r0, %r1, %r3, %r4, %r5
1738  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r6
1743  goto L11
1746  ---
1746  L10:
1746  -live- %r0, %r1, %r3, %r4, %r5
1749  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1754  strlen %r2 -> %i0
1757  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a71062c98> -> %r2
1761  int_mul %i0, $4 -> %i0
1765  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7c04eb10> -> %r6
1769  inline_call_ir_v <JitCode '__init__'>, I[$'=', %i0], R[%r6, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct list>, $<* struct dicttable>, $<* array [  ]>, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>]
1783  -live- %r0, %r1, %r3, %r4, %r5, %r6
1786  goto L11
1789  ---
1789  L5:
1789  L89:
1789  inline_call_r_i <JitCode 'is_rhs_priority_higher'>, R[%r4, %r2] -> %i0
1796  -live- %i0, %r0, %r1, %r2, %r3, %r4
1799  goto_if_not %i0, L90
1803  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r5
1808  inline_call_r_i <JitCode '_has_reflected_op'>, R[%r2, %r5] -> %i0
1815  -live- %i0, %r0, %r1, %r2, %r3, %r4
1818  goto_if_not %i0, L91
1822  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1824  ---
1824  L91:
1824  goto L6
1827  ---
1827  L90:
1827  goto L6
1830  ---
1830  L4:
1830  goto L89
1833  ---
1833  L2:
1833  raise $<* struct object>
1835  ---
1835  L1:
1835  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i0
1840  -live- %i0, %r0, %r1, %r3
1843  goto_if_not_int_eq %i0, $2, L92
1848  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r4
1854  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %r2
1860  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r1
1863  goto L3
1866  ---
1866  L92:
1866  raise $<* struct object>
