   0  instance_ptr_eq %r0, %r1 -> %i0
   4  -live- %i0, %r0, %r1, %r2
   4  goto_if_not %i0, L1
   8  int_return $True
  10  ---
  10  L1:
  10  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  18  -live- %i0, %r0, %r1, %r2
  18  goto_if_not %i0, L2
  22  int_return $True
  24  ---
  24  L2:
  24  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  32  -live- %i0, %r0, %r1, %r2
  32  goto_if_not %i0, L3
  36  inline_call_r_i <JitCode 'W_Dtype.eq'>, R[%r0, %r1] -> %i0
  43  -live- %i0
  43  int_return %i0
  45  ---
  45  L3:
  45  -live- %r0, %r1, %r2
  45  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  51  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
  56  -live- %r0, %r1, %r2, %r3
  56  guard_class %r3 -> %i0
  59  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
  64  -live- %i0, %r0, %r1, %r2
  64  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  70  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
  75  -live- %i0, %r0, %r1, %r2, %r3
  75  guard_class %r3 -> %i1
  78  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
  83  -live- %i0, %i1, %r0, %r1, %r2
  83  goto_if_not_int_eq %i0, %i1, L4
  88  -live- %r0, %r1, %r2
  88  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
  94  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r3
  99  -live- %r0, %r1, %r2, %r3
  99  goto_if_not_ptr_nonzero %r3, L5
 103  getfield_gc_i %r3, FieldDescr<dicttable.num_live_items> -> %i0
 108  -live- %i0, %r0, %r1, %r2
 108  goto_if_not_int_is_true %i0, L6
 112  -live- %r0, %r1, %r2
 112  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
 118  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r3
 123  -live- %r0, %r1, %r2, %r3
 123  goto_if_not_ptr_nonzero %r3, L7
 127  getfield_gc_i %r3, FieldDescr<dicttable.num_live_items> -> %i0
 132  -live- %i0, %r0, %r1, %r2
 132  goto_if_not_int_is_true %i0, L8
 136  residual_call_r_i $<* fn can_cast_record>, R[%r0, %r1, %r2], <CallDescr(rrr) EF=7> -> %i0
 145  -live- %i0
 145  int_return %i0
 147  ---
 147  L8:
 147  int_return $False
 149  ---
 149  L7:
 149  int_return $False
 151  ---
 151  L6:
 151  L9:
 151  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 159  -live- %i0, %r0, %r1, %r2
 159  goto_if_not %i0, L10
 163  -live- %r0, %r1
 163  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 169  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 174  -live- %i0, %r1
 174  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 180  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 185  int_eq %i0, %i1 -> %i0
 189  int_return %i0
 191  ---
 191  L10:
 191  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 199  -live- %i0, %r0, %r1
 199  goto_if_not %i0, L11
 203  -live- %r0, %r1
 203  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 209  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 214  -live- %i0, %r1
 214  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 220  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 225  int_le %i0, %i1 -> %i0
 229  int_return %i0
 231  ---
 231  L11:
 231  int_return $True
 233  ---
 233  L5:
 233  goto L9
 236  ---
 236  L4:
 236  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 244  -live- %i0, %r0, %r1, %r2
 244  goto_if_not %i0, L12
 248  inline_call_r_i <JitCode 'can_cast_to'>, R[%r0, %r1] -> %i0
 255  -live- %i0, %r0, %r1
 255  -live- %i0, %r0, %r1
 255  goto_if_not %i0, L13
 259  int_return $True
 261  ---
 261  L13:
 261  -live- %r0, %r1
 261  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 267  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 272  -live- %r0, %r1, %r3
 272  guard_class %r3 -> %i0
 275  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 280  int_copy %i0 -> %i1
 283  ref_isvirtual $<* struct dicttable> -> %i2
 286  -live- %i0, %i1, %i2, %r0, %r1
 286  goto_if_not %i2, L14
 290  inline_call_ir_i <JitCode 'll_call_lookup_function__v1967___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 300  -live- %i0, %r0, %r1
 300  L15:
 300  -live- %i0, %r0, %r1
 300  goto_if_not_int_ge %i0, $0, L16
 305  -live- %r0, %r1
 305  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 311  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 316  -live- %r0, %r1, %r3
 316  guard_class %r3 -> %i0
 319  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 324  int_copy %i0 -> %i1
 327  ref_isvirtual $<* struct dicttable> -> %i2
 330  -live- %i0, %i1, %i2, %r0, %r1
 330  goto_if_not %i2, L17
 334  inline_call_ir_i <JitCode 'll_call_lookup_function__v1967___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 344  -live- %i0, %r0, %r1
 344  L18:
 344  -live- %i0, %r0, %r1
 344  goto_if_not_int_ge %i0, $0, L19
 349  -live- %r0, %r1
 349  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 355  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 360  -live- %r1, %r3
 360  guard_class %r3 -> %i0
 363  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 368  int_copy %i0 -> %i1
 371  ref_isvirtual $<* struct dicttable> -> %i2
 374  -live- %i0, %i1, %i2, %r1
 374  goto_if_not %i2, L20
 378  inline_call_ir_i <JitCode 'll_call_lookup_function__v1967___simple_call__function_'>, I[%i0, %i1, $0], R[$<* struct dicttable>] -> %i0
 388  -live- %i0, %r1
 388  L21:
 388  -live- %i0, %r1
 388  goto_if_not_int_ge %i0, $0, L22
 393  getfield_gc_r $<* struct dicttable>, FieldDescr<dicttable.entries> -> %r3
 398  getinteriorfield_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10093b8bb50> -> %i1
 404  -live- %i1, %r1
 404  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 410  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 415  -live- %i1, %r3
 415  guard_class %r3 -> %i0
 418  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 423  int_copy %i0 -> %i2
 426  ref_isvirtual $<* struct dicttable> -> %i3
 429  -live- %i0, %i1, %i2, %i3
 429  goto_if_not %i3, L23
 433  inline_call_ir_i <JitCode 'll_call_lookup_function__v1967___simple_call__function_'>, I[%i0, %i2, $0], R[$<* struct dicttable>] -> %i0
 443  -live- %i0, %i1
 443  L24:
 443  -live- %i0, %i1
 443  goto_if_not_int_ge %i0, $0, L25
 448  getfield_gc_r $<* struct dicttable>, FieldDescr<dicttable.entries> -> %r3
 453  getinteriorfield_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10093b8bb50> -> %i0
 459  int_le %i1, %i0 -> %i0
 463  int_return %i0
 465  ---
 465  L25:
 465  raise $<* struct object>
 467  ---
 467  L23:
 467  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1975___simple_call__function_>, I[%i0, %i2, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 478  -live- %i0, %i1
 478  goto L24
 481  ---
 481  L22:
 481  raise $<* struct object>
 483  ---
 483  L20:
 483  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1975___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 494  -live- %i0, %r1
 494  goto L21
 497  ---
 497  L19:
 497  int_return $False
 499  ---
 499  L17:
 499  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1975___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 510  -live- %i0, %r0, %r1
 510  goto L18
 513  ---
 513  L16:
 513  int_return $False
 515  ---
 515  L14:
 515  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1975___simple_call__function_>, I[%i0, %i1, $0], R[$<* struct dicttable>], <CallDescr(riii) EF=5 OS_DICT_LOOKUP> -> %i0
 526  -live- %i0, %r0, %r1
 526  goto L15
 529  ---
 529  L12:
 529  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 537  -live- %i0, %r0, %r1
 537  goto_if_not %i0, L26
 541  inline_call_r_i <JitCode 'can_cast_to'>, R[%r0, %r1] -> %i0
 548  -live- %i0
 548  int_return %i0
 550  ---
 550  L26:
 550  -live- %r0, %r1
 550  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 556  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 561  -live- %r0, %r1, %r3
 561  guard_class %r3 -> %i0
 564  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 569  -live- %i0, %r0, %r1
 569  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 575  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 580  -live- %i0, %r0, %r1, %r3
 580  guard_class %r3 -> %i1
 583  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 588  -live- %i0, %i1, %r0, %r1
 588  goto_if_not_int_eq %i0, %i1, L27
 593  -live- %r0, %r1
 593  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 599  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 604  -live- %i0, %r1
 604  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 610  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 615  int_eq %i0, %i1 -> %i0
 619  int_return %i0
 621  ---
 621  L27:
 621  int_return $False
