   0  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %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 0x0000aaaba2011d38> -> %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 0x0000aaaba2011d38> -> %r4
  32  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %r2
  38  getarrayitem_gc_r %r1, $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %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> -> %i0
 109  -live- %i0, %r0, %r1, %r3, %r4, %r5
 112  switch %i0, <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> -> %i0
 150  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
 153  switch %i0, <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> -> %r8
 180  L16:
 180  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 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, %r2, %r3, %r4, %r5, %r6, %r8
 208  goto_if_not_int_eq %i0, $17, L17
 213  L18:
 213  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 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, %r8
 241  goto_if_not_int_eq %i0, $17, L19
 246  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 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, %r8
 275  goto_if_not_int_is_true %i0, L21
 279  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 282  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 288  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 293  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 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, %r8
 307  goto_if_not_int_eq %i0, $17, L22
 312  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 315  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 321  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 326  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 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, %r8
 341  goto_if_not_int_is_true %i0, L24
 345  L25:
 345  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 364  goto_if_not %i0, L26
 368  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 387  goto_if_not %i0, L27
 391  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 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, %r8
 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, %r8
 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, %r8
 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, %r8
 473  inline_call_r_r <JitCode 'W_Ufunc2.find_specialization'>, R[%r0, %r6, %r8, %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 0x0000aaaba0e020c8> -> %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 0x0000aaaba2011d38> -> %r2
 682  setarrayitem_gc_r %r2, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38>
 688  setarrayitem_gc_r %r2, $1, %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38>
 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 0x0000aaaba4460640> -> %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 0x0000aaaba2011d38> -> %r3
 720  setarrayitem_gc_r %r3, $0, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38>
 726  setarrayitem_gc_r %r3, $1, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38>
 732  setarrayitem_gc_r %r3, $2, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38>
 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 0x0000aaaba2c6e800> -> %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 0x0000aaaba2c6e800> -> %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 0x0000aaaba0e020c8> -> %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 0x0000aaaba0e020c8> -> %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, %r8
 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, %r8
 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, %r8
 888  goto_if_not_int_eq %i0, $17, L51
 893  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 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, %r8
 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, %r8
 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, %r8
1003  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1009  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1014  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
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, %r8
1028  goto_if_not_int_eq %i0, $17, L58
1033  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1036  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
1042  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
1047  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
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, %r8
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- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1102  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1108  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r7
1113  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
1116  guard_class %r7 -> %i0
1119  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1124  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
1127  goto_if_not_int_eq %i0, $17, L61
1132  goto L18
1135  ---
1135  L61:
1135  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
1138  guard_class %r2 -> %i0
1141  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1146  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7, %r8
1149  goto_if_not_int_eq %i0, $18, L62
1154  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7, %r8
1157  guard_class %r7 -> %i0
1160  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1165  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1168  goto_if_not_int_eq %i0, $18, L63
1173  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1178  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1181  goto_if_not %i0, L64
1185  goto L25
1188  ---
1188  L64:
1188  L65:
1188  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1191  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1197  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1202  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1205  guard_class %r2 -> %i0
1208  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1213  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1216  goto_if_not_int_eq %i0, $18, L66
1221  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1226  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1229  goto_if_not %i0, L67
1233  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1236  goto_if_not_ptr_iszero %r1, L68
1240  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1245  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1253  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1261  int_or %i0, %i1 -> %i0
1265  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1273  int_or %i0, %i1 -> %i0
1277  -live- %i0
1280  goto_if_not %i0, L69
1284  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1286  ---
1286  L69:
1286  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1288  ---
1288  L68:
1288  L70:
1288  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1291  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1297  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1302  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1305  guard_class %r2 -> %i0
1308  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1313  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1316  goto_if_not_int_eq %i0, $18, L71
1321  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1326  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1329  goto_if_not %i0, L72
1333  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1336  goto_if_not_ptr_iszero %r1, L73
1340  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1345  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1353  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1361  int_or %i0, %i1 -> %i0
1365  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1373  int_or %i0, %i1 -> %i0
1377  -live- %i0
1380  goto_if_not %i0, L74
1384  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1386  ---
1386  L74:
1386  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1388  ---
1388  L73:
1388  L75:
1388  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1391  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1397  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1402  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1405  guard_class %r2 -> %i0
1408  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1413  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1416  goto_if_not_int_eq %i0, $18, L76
1421  L77:
1421  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1426  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1429  goto_if_not %i0, L78
1433  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1438  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1446  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1449  goto_if_not %i0, L79
1453  L80:
1453  inline_call_r_i <JitCode 'W_Dtype.eq'>, R[%r6, %r8] -> %i0
1460  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1463  goto_if_not %i0, L81
1467  goto L25
1470  ---
1470  L81:
1470  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1475  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1483  -live- %i0
1486  goto_if_not %i0, L82
1490  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1492  ---
1492  L82:
1492  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1494  ---
1494  L79:
1494  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1499  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1507  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1510  goto_if_not %i0, L83
1514  goto L80
1517  ---
1517  L83:
1517  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1519  ---
1519  L78:
1519  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r8] -> %r2
1525  -live- %r0, %r2, %r6
1528  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r6] -> %r4
1534  -live- %r0, %r2, %r4
1537  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r1
1542  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
1552  -live- %r2
1555  assert_not_none %r2
1557  -live- %r2
1560  guard_class %r2 -> %i0
1563  -live- %r2
1566  raise %r2
1568  ---
1568  L76:
1568  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1571  guard_class %r2 -> %i0
1574  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1579  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1582  goto_if_not_int_eq %i0, $19, L84
1587  goto L77
1590  ---
1590  L84:
1590  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1593  guard_class %r2 -> %i0
1596  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1601  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1604  goto_if_not_int_eq %i0, $20, L85
1609  goto L77
1612  ---
1612  L85:
1612  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1615  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1621  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1626  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1629  guard_class %r2 -> %i0
1632  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1637  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1640  goto_if_not_int_eq %i0, $18, L86
1645  goto L77
1648  ---
1648  L86:
1648  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1651  guard_class %r2 -> %i0
1654  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1659  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1662  goto_if_not_int_eq %i0, $19, L87
1667  goto L77
1670  ---
1670  L87:
1670  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1673  guard_class %r2 -> %i0
1676  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1681  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1684  goto_if_not_int_eq %i0, $20, L88
1689  goto L77
1692  ---
1692  L88:
1692  goto L25
1695  ---
1695  L72:
1695  goto L75
1698  ---
1698  L71:
1698  goto L75
1701  ---
1701  L67:
1701  goto L70
1704  ---
1704  L66:
1704  goto L70
1707  ---
1707  L63:
1707  goto L65
1710  ---
1710  L62:
1710  goto L65
1713  ---
1713  L13:
1713  -live- %r0, %r1, %r3, %r4, %r5, %r6
1716  guard_class %r5 -> %i0
1719  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1724  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
1727  int_guard_value %i0
1729  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r8
1735  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1738  goto L16
1741  ---
1741  L14:
1741  -live- %r0, %r1, %r3, %r4, %r5, %r6
1744  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r8
1749  goto L16
1752  ---
1752  L15:
1752  -live- %r0, %r1, %r3, %r4, %r5, %r6
1755  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1760  strlen %r2 -> %i0
1763  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaba75bd8d8> -> %r2
1767  int_mul %i0, $4 -> %i0
1771  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaba3c51c58> -> %r8
1775  inline_call_ir_v <JitCode '__init__'>, I[$'=', %i0], R[%r8, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct list>, $<* struct dicttable>, $<* array [  ]>, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>]
1789  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1792  goto L16
1795  ---
1795  L8:
1795  -live- %r0, %r1, %r3, %r4, %r5
1798  guard_class %r4 -> %i0
1801  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1806  -live- %i0, %r0, %r1, %r3, %r4, %r5
1809  int_guard_value %i0
1811  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r6
1817  -live- %r0, %r1, %r3, %r4, %r5, %r6
1820  goto L11
1823  ---
1823  L9:
1823  -live- %r0, %r1, %r3, %r4, %r5
1826  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r6
1831  goto L11
1834  ---
1834  L10:
1834  -live- %r0, %r1, %r3, %r4, %r5
1837  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1842  strlen %r2 -> %i0
1845  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaba75bd8d8> -> %r2
1849  int_mul %i0, $4 -> %i0
1853  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaba3c51c58> -> %r6
1857  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>]
1871  -live- %r0, %r1, %r3, %r4, %r5, %r6
1874  goto L11
1877  ---
1877  L5:
1877  L89:
1877  inline_call_r_i <JitCode 'is_rhs_priority_higher'>, R[%r4, %r2] -> %i0
1884  -live- %i0, %r0, %r1, %r2, %r3, %r4
1887  goto_if_not %i0, L90
1891  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r5
1896  inline_call_r_i <JitCode '_has_reflected_op'>, R[%r2, %r5] -> %i0
1903  -live- %i0, %r0, %r1, %r2, %r3, %r4
1906  goto_if_not %i0, L91
1910  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1912  ---
1912  L91:
1912  goto L6
1915  ---
1915  L90:
1915  goto L6
1918  ---
1918  L4:
1918  goto L89
1921  ---
1921  L2:
1921  raise $<* struct object>
1923  ---
1923  L1:
1923  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %i0
1928  -live- %i0, %r0, %r1, %r3
1931  goto_if_not_int_eq %i0, $2, L92
1936  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %r4
1942  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaba2011d38> -> %r2
1948  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r1
1951  goto L3
1954  ---
1954  L92:
1954  raise $<* struct object>
