   0  instance_ptr_eq %r0, %r1 -> %i0
   4  -live- %i0, %r0, %r1, %r2
   7  goto_if_not %i0, L1
  11  int_return $True
  13  ---
  13  L1:
  13  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  21  -live- %i0, %r0, %r1, %r2
  24  goto_if_not %i0, L2
  28  int_return $True
  30  ---
  30  L2:
  30  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  38  -live- %i0, %r0, %r1, %r2
  41  goto_if_not %i0, L3
  45  inline_call_r_i <JitCode 'W_Dtype.eq'>, R[%r0, %r1] -> %i0
  52  -live- %i0
  55  int_return %i0
  57  ---
  57  L3:
  57  -live- %r0, %r1, %r2
  60  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  66  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
  71  -live- %r0, %r1, %r2, %r3
  74  guard_class %r3 -> %i0
  77  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
  82  -live- %i0, %r0, %r1, %r2
  85  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  91  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
  96  -live- %i0, %r0, %r1, %r2, %r3
  99  guard_class %r3 -> %i1
 102  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 107  -live- %i0, %i1, %r0, %r1, %r2
 110  goto_if_not_int_eq %i0, %i1, L4
 115  -live- %r0, %r1, %r2
 118  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 124  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r3
 129  -live- %r0, %r1, %r2, %r3
 132  goto_if_not_ptr_nonzero %r3, L5
 136  getfield_gc_i %r3, FieldDescr<dicttable.num_live_items> -> %i0
 141  -live- %i0, %r0, %r1, %r2
 144  goto_if_not_int_is_true %i0, L6
 148  -live- %r0, %r1, %r2
 151  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 157  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r3
 162  -live- %r0, %r1, %r2, %r3
 165  goto_if_not_ptr_nonzero %r3, L7
 169  getfield_gc_i %r3, FieldDescr<dicttable.num_live_items> -> %i0
 174  -live- %i0, %r0, %r1, %r2
 177  goto_if_not_int_is_true %i0, L8
 181  residual_call_r_i $<* fn can_cast_record>, R[%r0, %r1, %r2], <CallDescr(rrr) EF=7> -> %i0
 190  -live- %i0
 193  int_return %i0
 195  ---
 195  L8:
 195  int_return $False
 197  ---
 197  L7:
 197  int_return $False
 199  ---
 199  L6:
 199  L9:
 199  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 207  -live- %i0, %r0, %r1, %r2
 210  goto_if_not %i0, L10
 214  -live- %r0, %r1
 217  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 223  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 228  -live- %i0, %r1
 231  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 237  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 242  int_eq %i0, %i1 -> %i0
 246  int_return %i0
 248  ---
 248  L10:
 248  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 256  -live- %i0, %r0, %r1
 259  goto_if_not %i0, L11
 263  -live- %r0, %r1
 266  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 272  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 277  -live- %i0, %r1
 280  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 286  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 291  int_le %i0, %i1 -> %i0
 295  int_return %i0
 297  ---
 297  L11:
 297  int_return $True
 299  ---
 299  L5:
 299  goto L9
 302  ---
 302  L4:
 302  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 310  -live- %i0, %r0, %r1, %r2
 313  goto_if_not %i0, L12
 317  inline_call_r_i <JitCode 'can_cast_to'>, R[%r0, %r1] -> %i0
 324  -live- %i0, %r0, %r1
 327  goto_if_not %i0, L13
 331  int_return $True
 333  ---
 333  L13:
 333  -live- %r0, %r1
 336  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 342  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 347  -live- %r0, %r1, %r3
 350  guard_class %r3 -> %i0
 353  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 358  int_copy %i0 -> %i1
 361  ref_isvirtual $<* struct dicttable> -> %i2
 364  -live- %i0, %i1, %i2, %r0, %r1
 367  goto_if_not %i2, L14
 371  inline_call_ir_i <JitCode 'll_call_lookup_function__v2716___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 381  L15:
 381  -live- %i0, %r0, %r1
 384  goto_if_not_int_ge %i0, $0, L16
 389  -live- %r0, %r1
 392  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 398  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 403  -live- %r0, %r1, %r3
 406  guard_class %r3 -> %i0
 409  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 414  int_copy %i0 -> %i1
 417  ref_isvirtual $<* struct dicttable> -> %i2
 420  -live- %i0, %i1, %i2, %r0, %r1
 423  goto_if_not %i2, L17
 427  inline_call_ir_i <JitCode 'll_call_lookup_function__v2716___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 437  L18:
 437  -live- %i0, %r0, %r1
 440  goto_if_not_int_ge %i0, $0, L19
 445  -live- %r0, %r1
 448  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 454  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 459  -live- %r1, %r3
 462  guard_class %r3 -> %i0
 465  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 470  int_copy %i0 -> %i1
 473  ref_isvirtual $<* struct dicttable> -> %i2
 476  -live- %i0, %i1, %i2, %r1
 479  goto_if_not %i2, L20
 483  inline_call_ir_i <JitCode 'll_call_lookup_function__v2716___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 493  L21:
 493  -live- %i0, %r1
 496  goto_if_not_int_ge %i0, $0, L22
 501  getfield_gc_r $<* struct dicttable>, FieldDescr<dicttable.entries> -> %r3
 506  getinteriorfield_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x0000563a71634e20> -> %i1
 512  -live- %i1, %r1
 515  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 521  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 526  -live- %i1, %r3
 529  guard_class %r3 -> %i0
 532  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 537  int_copy %i0 -> %i2
 540  ref_isvirtual $<* struct dicttable> -> %i3
 543  -live- %i0, %i1, %i2, %i3
 546  goto_if_not %i3, L23
 550  inline_call_ir_i <JitCode 'll_call_lookup_function__v2716___simple_call__function_'>, I[%i0, %i2, $0], R[$<* struct dicttable>] -> %i0
 560  L24:
 560  -live- %i0, %i1
 563  goto_if_not_int_ge %i0, $0, L25
 568  getfield_gc_r $<* struct dicttable>, FieldDescr<dicttable.entries> -> %r3
 573  getinteriorfield_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x0000563a71634e20> -> %i0
 579  int_le %i1, %i0 -> %i0
 583  int_return %i0
 585  ---
 585  L25:
 585  raise $<* struct object>
 587  ---
 587  L23:
 587  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v2736___simple_call__function_>, I[%i0, %i2, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 598  -live- %i0, %i1
 601  goto L24
 604  ---
 604  L22:
 604  raise $<* struct object>
 606  ---
 606  L20:
 606  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v2736___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 617  -live- %i0, %r1
 620  goto L21
 623  ---
 623  L19:
 623  int_return $False
 625  ---
 625  L17:
 625  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v2736___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 636  -live- %i0, %r0, %r1
 639  goto L18
 642  ---
 642  L16:
 642  int_return $False
 644  ---
 644  L14:
 644  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v2736___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 655  -live- %i0, %r0, %r1
 658  goto L15
 661  ---
 661  L12:
 661  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 669  -live- %i0, %r0, %r1
 672  goto_if_not %i0, L26
 676  inline_call_r_i <JitCode 'can_cast_to'>, R[%r0, %r1] -> %i0
 683  -live- %i0
 686  int_return %i0
 688  ---
 688  L26:
 688  -live- %r0, %r1
 691  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 697  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 702  -live- %r0, %r1, %r3
 705  guard_class %r3 -> %i0
 708  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 713  -live- %i0, %r0, %r1
 716  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 722  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 727  -live- %i0, %r0, %r1, %r3
 730  guard_class %r3 -> %i1
 733  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 738  -live- %i0, %i1, %r0, %r1
 741  goto_if_not_int_eq %i0, %i1, L27
 746  -live- %r0, %r1
 749  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 755  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 760  -live- %i0, %r1
 763  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 769  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 774  int_eq %i0, %i1 -> %i0
 778  int_return %i0
 780  ---
 780  L27:
 780  int_return $False
