   0  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %i0
   5  -live- %i0, %r0, %r1, %r3
   5  goto_if_not_int_gt %i0, $2, L1
  10  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %i0
  15  -live- %i0, %r0, %r1, %r3
  15  goto_if_not_int_eq %i0, $3, L2
  20  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r4
  26  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
  32  getarrayitem_gc_r %r1, $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r1
  38  inline_call_r_r <JitCode 'out_converter'>, R[%r1] -> %r1
  44  -live- %r0, %r1, %r2, %r3, %r4
  44  L3:
  44  -live- %r0, %r1, %r2, %r3, %r4
  44  goto_if_not_ptr_nonzero %r2, L4
  48  ref_copy %r2 -> %r5
  51  -live- %r0, %r1, %r2, %r3, %r4, %r5
  51  guard_class %r5 -> %i0
  54  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  59  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  64  -live- %i0, %r0, %r1, %r2, %r3, %r4
  64  goto_if_not %i0, L5
  68  L6:
  68  inline_call_r_r <JitCode 'numpify'>, R[%r4] -> %r4
  74  -live- %r0, %r1, %r2, %r3, %r4
  74  inline_call_r_r <JitCode 'numpify'>, R[%r2] -> %r5
  80  -live- %r0, %r1, %r3, %r4, %r5
  80  -live- %r0, %r1, %r3, %r4, %r5
  80  guard_class %r4 -> %i0
  83  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.base.W_NumpyObject_vtable.cls_get_dtype> -> %i0
  88  -live- %i0, %r0, %r1, %r3, %r4, %r5
  88  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9, 3:L10>
  92  unreachable
  93  ---
  93  L7:
  93  -live- %r0, %r1, %r3, %r4, %r5
  93  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  98  -live- %r0, %r1, %r2, %r3, %r4, %r5
  98  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 104  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
 109  L11:
 109  -live- %r0, %r1, %r3, %r4, %r5, %r6
 109  guard_class %r5 -> %i0
 112  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.base.W_NumpyObject_vtable.cls_get_dtype> -> %i0
 117  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
 117  switch %i0, <SwitchDictDescr 0:L12, 1:L13, 2:L14, 3:L15>
 121  unreachable
 122  ---
 122  L12:
 122  -live- %r0, %r1, %r3, %r4, %r5, %r6
 122  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 127  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 127  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 133  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r8
 138  L16:
 138  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 138  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 144  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 149  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 149  guard_class %r2 -> %i0
 152  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 157  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 157  goto_if_not_int_eq %i0, $17, L17
 162  L18:
 162  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 162  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 168  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 173  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 173  guard_class %r2 -> %i0
 176  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 181  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 181  goto_if_not_int_eq %i0, $17, L19
 186  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 186  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 192  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 197  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 197  goto_if_not_ptr_nonzero %r2, L20
 201  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 206  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 206  goto_if_not_int_is_true %i0, L21
 210  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 210  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 216  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 221  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 221  guard_class %r2 -> %i0
 224  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 229  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 229  goto_if_not_int_eq %i0, $17, L22
 234  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 234  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 240  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 245  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 245  goto_if_not_ptr_nonzero %r2, L23
 249  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 254  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 254  goto_if_not_int_is_true %i0, L24
 258  L25:
 258  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 258  guard_class %r4 -> %i0
 261  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 266  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 271  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 271  goto_if_not %i0, L26
 275  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 275  guard_class %r5 -> %i0
 278  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 283  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 288  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 288  goto_if_not %i0, L27
 292  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 292  goto_if_not_ptr_iszero %r1, L28
 296  inline_call_r_r <JitCode 'W_Ufunc2.call_scalar'>, R[%r0, %r4, %r5, %r3] -> %r1
 305  -live- %r1
 305  ref_return %r1
 307  ---
 307  L28:
 307  L29:
 307  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 307  guard_class %r4 -> %i0
 310  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 315  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 320  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 320  goto_if_not %i0, L30
 324  inline_call_r_r <JitCode 'from_scalar'>, R[%r4] -> %r4
 330  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 330  L31:
 330  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 330  guard_class %r5 -> %i0
 333  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 338  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 343  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 343  goto_if_not %i0, L32
 347  inline_call_r_r <JitCode 'from_scalar'>, R[%r5] -> %r5
 353  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 353  L33:
 353  inline_call_r_r <JitCode 'W_Ufunc2.find_specialization'>, R[%r0, %r6, %r8, %r1, %r3, %r4, %r5] -> %r2
 365  -live- %r0, %r1, %r2, %r4, %r5
 365  getfield_gc_r_pure %r2, FieldDescr<tuple3.item0> -> %r3
 370  getfield_gc_r_pure %r2, FieldDescr<tuple3.item1> -> %r6
 375  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 380  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 380  guard_class %r2 -> %i0
 383  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 388  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 388  switch %i0, <SwitchDictDescr 0:L34, 1:L35>
 392  unreachable
 393  ---
 393  L34:
 393  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 393  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 398  L36:
 398  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r2, %r5] -> %r2
 407  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 407  inline_call_ir_r <JitCode 'shape_agreement'>, I[$False], R[%r2, %r1] -> %r8
 416  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 416  inline_call_r_r <JitCode 'array_priority'>, R[%r4, %r5] -> %r2
 423  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 423  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r7
 428  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 433  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 433  goto_if_not_ptr_iszero %r1, L37
 437  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r8, %r6, %r2] -> %r1
 448  -live- %r0, %r1, %r3, %r4, %r5, %r7, %r8
 448  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r2
 451  L38:
 451  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_func> -> %i0
 456  inline_call_ir_r <JitCode 'call2'>, I[%i0], R[%r8, %r3, %r4, %r5, %r1] -> %r1
 468  -live- %r0, %r1, %r2, %r4, %r5, %r7
 468  -live- %r0, %r1, %r2, %r4, %r5, %r7
 468  goto_if_not_ptr_iszero %r2, L39
 472  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 477  -live- %r0, %r1, %r2, %r4, %r5, %r7
 477  guard_class %r2 -> %i0
 480  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 485  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r7
 485  switch %i0, <SwitchDictDescr 0:L40, 1:L41>
 489  unreachable
 490  ---
 490  L40:
 490  -live- %r0, %r1, %r2, %r4, %r5, %r7
 490  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 495  L42:
 495  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 500  -live- %i0, %r0, %r1, %r4, %r5, %r7
 500  goto_if_not_int_is_zero %i0, L43
 504  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r1] -> %r1
 510  -live- %r1
 510  ref_return %r1
 512  ---
 512  L43:
 512  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
 517  setarrayitem_gc_r %r2, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 523  setarrayitem_gc_r %r2, $1, %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 529  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r2] -> %r4
 535  -live- %r0, %r1, %r2, %r4, %r7
 535  catch_exception L44
 538  L45:
 538  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r2
 542  setfield_gc_i %r2, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 547  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r3
 552  setarrayitem_gc_r %r3, $0, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 558  setarrayitem_gc_r %r3, $1, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 564  setarrayitem_gc_r %r3, $2, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 570  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r2
 576  -live- %r1, %r2, %r3, %r7
 576  catch_exception L46
 579  L47:
 579  inline_call_r_r <JitCode 'call_method_opt__star_2'>, R[%r7, $<* struct rpy_string>, %r1, %r2] -> %r1
 588  -live- %r1
 588  ref_return %r1
 590  ---
 590  L46:
 590  goto_if_exception_mismatch $<* struct object_vtable>, L48
 594  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac58e10c0> -> %r2
 598  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 603  goto L47
 606  ---
 606  L48:
 606  reraise
 607  ---
 607  L44:
 607  goto_if_exception_mismatch $<* struct object_vtable>, L49
 611  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac58e10c0> -> %r4
 615  setfield_gc_r %r4, %r2, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 620  goto L45
 623  ---
 623  L49:
 623  reraise
 624  ---
 624  L41:
 624  -live- %r0, %r1, %r2, %r4, %r5, %r7
 624  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 629  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 634  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r7
 634  int_guard_value %i0
 636  goto L42
 639  ---
 639  L39:
 639  ref_return %r1
 641  ---
 641  L37:
 641  ref_copy %r1 -> %r2
 644  goto L38
 647  ---
 647  L35:
 647  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 647  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 652  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 657  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 657  int_guard_value %i0
 659  goto L36
 662  ---
 662  L32:
 662  goto L33
 665  ---
 665  L30:
 665  goto L31
 668  ---
 668  L27:
 668  goto L29
 671  ---
 671  L26:
 671  goto L29
 674  ---
 674  L24:
 674  L50:
 674  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 674  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 680  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 685  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 685  guard_class %r2 -> %i0
 688  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 693  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 693  goto_if_not_int_eq %i0, $17, L51
 698  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 698  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 704  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 709  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 709  goto_if_not_ptr_nonzero %r2, L52
 713  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 718  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 718  goto_if_not_int_is_true %i0, L53
 722  L54:
 722  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 727  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 735  -live- %i0, %r0, %r3
 735  goto_if_not %i0, L55
 739  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 741  ---
 741  L55:
 741  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 746  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 754  -live- %i0, %r0, %r3
 754  goto_if_not %i0, L56
 758  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 760  ---
 760  L56:
 760  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 765  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
 774  -live- %r2
 774  assert_not_none %r2
 776  -live- %r2
 776  guard_class %r2 -> %i0
 779  -live- %r2
 779  raise %r2
 781  ---
 781  L53:
 781  L57:
 781  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 781  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 787  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 792  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 792  guard_class %r2 -> %i0
 795  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 800  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 800  goto_if_not_int_eq %i0, $17, L58
 805  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 805  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 811  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
 816  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 816  goto_if_not_ptr_nonzero %r2, L59
 820  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
 825  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 825  goto_if_not_int_is_true %i0, L60
 829  goto L54
 832  ---
 832  L60:
 832  goto L25
 835  ---
 835  L59:
 835  goto L25
 838  ---
 838  L58:
 838  goto L25
 841  ---
 841  L52:
 841  goto L57
 844  ---
 844  L51:
 844  goto L57
 847  ---
 847  L23:
 847  goto L50
 850  ---
 850  L22:
 850  goto L50
 853  ---
 853  L21:
 853  goto L50
 856  ---
 856  L20:
 856  goto L50
 859  ---
 859  L19:
 859  goto L50
 862  ---
 862  L17:
 862  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 862  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 868  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r7
 873  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 873  guard_class %r7 -> %i0
 876  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 881  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 881  goto_if_not_int_eq %i0, $17, L61
 886  goto L18
 889  ---
 889  L61:
 889  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 889  guard_class %r2 -> %i0
 892  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 897  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r7, %r8
 897  goto_if_not_int_eq %i0, $18, L62
 902  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r7, %r8
 902  guard_class %r7 -> %i0
 905  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 910  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 910  goto_if_not_int_eq %i0, $18, L63
 915  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
 920  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 920  goto_if_not %i0, L64
 924  goto L25
 927  ---
 927  L64:
 927  L65:
 927  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 927  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 933  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 938  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
 938  guard_class %r2 -> %i0
 941  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 946  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 946  goto_if_not_int_eq %i0, $18, L66
 951  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
 956  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
 956  goto_if_not %i0, L67
 960  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
 960  goto_if_not_ptr_iszero %r1, L68
 964  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
 969  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 977  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 985  int_or %i0, %i1 -> %i0
 989  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 997  int_or %i0, %i1 -> %i0
1001  -live- %i0
1001  goto_if_not %i0, L69
1005  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1007  ---
1007  L69:
1007  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1009  ---
1009  L68:
1009  L70:
1009  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1009  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1015  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1020  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1020  guard_class %r2 -> %i0
1023  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1028  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1028  goto_if_not_int_eq %i0, $18, L71
1033  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1038  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1038  goto_if_not %i0, L72
1042  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1042  goto_if_not_ptr_iszero %r1, L73
1046  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1051  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1059  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1067  int_or %i0, %i1 -> %i0
1071  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
1079  int_or %i0, %i1 -> %i0
1083  -live- %i0
1083  goto_if_not %i0, L74
1087  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1089  ---
1089  L74:
1089  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1091  ---
1091  L73:
1091  L75:
1091  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1091  record_quasiimmut_field %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1097  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1102  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1102  guard_class %r2 -> %i0
1105  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1110  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1110  goto_if_not_int_eq %i0, $18, L76
1115  L77:
1115  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc2.inst_bool_result> -> %i0
1120  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1120  goto_if_not %i0, L78
1124  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1129  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1137  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1137  goto_if_not %i0, L79
1141  L80:
1141  inline_call_r_i <JitCode 'W_Dtype.eq'>, R[%r6, %r8] -> %i0
1148  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1148  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1148  goto_if_not %i0, L81
1152  goto L25
1155  ---
1155  L81:
1155  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1160  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1168  -live- %i0
1168  goto_if_not %i0, L82
1172  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1174  ---
1174  L82:
1174  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1176  ---
1176  L79:
1176  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r2
1181  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
1189  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1189  goto_if_not %i0, L83
1193  goto L80
1196  ---
1196  L83:
1196  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1198  ---
1198  L78:
1198  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r8] -> %r2
1204  -live- %r0, %r2, %r6
1204  inline_call_r_r <JitCode 'W_Dtype.get_name'>, R[%r6] -> %r4
1210  -live- %r0, %r2, %r4
1210  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r1
1215  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
1225  -live- %r2
1225  assert_not_none %r2
1227  -live- %r2
1227  guard_class %r2 -> %i0
1230  -live- %r2
1230  raise %r2
1232  ---
1232  L76:
1232  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1232  guard_class %r2 -> %i0
1235  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1240  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1240  goto_if_not_int_eq %i0, $19, L84
1245  goto L77
1248  ---
1248  L84:
1248  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1248  guard_class %r2 -> %i0
1251  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1256  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1256  goto_if_not_int_eq %i0, $20, L85
1261  goto L77
1264  ---
1264  L85:
1264  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1264  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
1270  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
1275  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1275  guard_class %r2 -> %i0
1278  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1283  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1283  goto_if_not_int_eq %i0, $18, L86
1288  goto L77
1291  ---
1291  L86:
1291  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1291  guard_class %r2 -> %i0
1294  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1299  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1299  goto_if_not_int_eq %i0, $19, L87
1304  goto L77
1307  ---
1307  L87:
1307  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8
1307  guard_class %r2 -> %i0
1310  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
1315  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6, %r8
1315  goto_if_not_int_eq %i0, $20, L88
1320  goto L77
1323  ---
1323  L88:
1323  goto L25
1326  ---
1326  L72:
1326  goto L75
1329  ---
1329  L71:
1329  goto L75
1332  ---
1332  L67:
1332  goto L70
1335  ---
1335  L66:
1335  goto L70
1338  ---
1338  L63:
1338  goto L65
1341  ---
1341  L62:
1341  goto L65
1344  ---
1344  L13:
1344  -live- %r0, %r1, %r3, %r4, %r5, %r6
1344  -live- %r0, %r1, %r3, %r4, %r5, %r6
1344  guard_class %r5 -> %i0
1347  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1352  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
1352  int_guard_value %i0
1354  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r8
1360  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1360  goto L16
1363  ---
1363  L14:
1363  -live- %r0, %r1, %r3, %r4, %r5, %r6
1363  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r8
1368  goto L16
1371  ---
1371  L15:
1371  -live- %r0, %r1, %r3, %r4, %r5, %r6
1371  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1376  strlen %r2 -> %i0
1379  inline_call_ir_r <JitCode 'new_unicode_dtype'>, I[%i0], R[] -> %r8
1386  -live- %r0, %r1, %r3, %r4, %r5, %r6, %r8
1386  goto L16
1389  ---
1389  L8:
1389  -live- %r0, %r1, %r3, %r4, %r5
1389  -live- %r0, %r1, %r3, %r4, %r5
1389  guard_class %r4 -> %i0
1392  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
1397  -live- %i0, %r0, %r1, %r3, %r4, %r5
1397  int_guard_value %i0
1399  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r6
1405  -live- %r0, %r1, %r3, %r4, %r5, %r6
1405  goto L11
1408  ---
1408  L9:
1408  -live- %r0, %r1, %r3, %r4, %r5
1408  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r6
1413  goto L11
1416  ---
1416  L10:
1416  -live- %r0, %r1, %r3, %r4, %r5
1416  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r2
1421  strlen %r2 -> %i0
1424  inline_call_ir_r <JitCode 'new_unicode_dtype'>, I[%i0], R[] -> %r6
1431  -live- %r0, %r1, %r3, %r4, %r5, %r6
1431  goto L11
1434  ---
1434  L5:
1434  L89:
1434  inline_call_r_i <JitCode 'is_rhs_priority_higher'>, R[%r4, %r2] -> %i0
1441  -live- %i0, %r0, %r1, %r2, %r3, %r4
1441  -live- %i0, %r0, %r1, %r2, %r3, %r4
1441  goto_if_not %i0, L90
1445  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.ufuncs.W_Ufunc.inst_name> -> %r5
1450  inline_call_r_i <JitCode '_has_reflected_op'>, R[%r2, %r5] -> %i0
1457  -live- %i0, %r0, %r1, %r2, %r3, %r4
1457  -live- %i0, %r0, %r1, %r2, %r3, %r4
1457  goto_if_not %i0, L91
1461  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
1463  ---
1463  L91:
1463  goto L6
1466  ---
1466  L90:
1466  goto L6
1469  ---
1469  L4:
1469  goto L89
1472  ---
1472  L2:
1472  raise $<* struct object>
1474  ---
1474  L1:
1474  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %i0
1479  -live- %i0, %r0, %r1, %r3
1479  goto_if_not_int_eq %i0, $2, L92
1484  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r4
1490  getarrayitem_gc_r %r1, $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
1496  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r1
1499  goto L3
1502  ---
1502  L92:
1502  raise $<* struct object>
