   0  getfield_gc_i_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_flag_heaptype> -> %i1
   5  -live- %i0, %i1, %r0, %r1, %r2, %r3
   5  goto_if_not %i1, L1
   9  -live- %i0, %r0, %r1, %r2, %r3
   9  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst__version_tag>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate__version_tag>
  15  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst__version_tag> -> %r4
  20  L2:
  20  -live- %i0, %r0, %r1, %r2, %r3, %r4
  20  goto_if_not_ptr_iszero %r4, L3
  24  void_return
  25  ---
  25  L3:
  25  -live- %i0, %r0, %r1, %r2, %r3, %r4
  25  guard_class %r2 -> %i1
  28  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
  33  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
  33  int_guard_value %i1
  35  residual_call_r_r %i1, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r5
  42  -live- %i0, %r0, %r1, %r3, %r4, %r5
  42  -live- %i0, %r0, %r1, %r3, %r4, %r5
  42  goto_if_not_ptr_iszero %r5, L4
  46  void_return
  47  ---
  47  L4:
  47  getfield_gc_r_pure %r5, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
  52  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  52  goto_if_not_ptr_nonzero %r2, L5
  56  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  56  guard_class %r2 -> %i1
  59  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5
  59  goto_if_not_int_eq %i1, $<* struct object_vtable>, L6
  64  void_return
  65  ---
  65  L6:
  65  L7:
  65  residual_call_r_r $<* fn W_TypeObject._pure_lookup_where_with_method_cache>, R[%r3, %r1, %r4], <CallDescr(rrr) EF=4> -> %r2
  74  -live- %i0, %r0, %r2, %r4, %r5
  74  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
  79  -live- %i0, %r0, %r2, %r4, %r5
  79  goto_if_not_ptr_iszero %r2, L8
  83  void_return
  84  ---
  84  L8:
  84  -live- %i0, %r0, %r2, %r4, %r5
  84  guard_class %r2 -> %i1
  87  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  92  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  97  -live- %i0, %i1, %r0, %r2, %r4, %r5
  97  goto_if_not %i1, L9
 101  void_return
 102  ---
 102  L9:
 102  residual_call_ir_v $<* fn _fill_cache>, I[%i0, $-1], R[%r0, %r5, %r4, %r2], <CallDescr(rirrir) EF=5>
 114  -live-
 114  void_return
 115  ---
 115  L5:
 115  goto L7
 118  ---
 118  L1:
 118  -live- %i0, %r0, %r1, %r2, %r3
 118  ref_guard_value %r3
 120  residual_call_r_r $<* fn _pure_version_tag>, R[%r3], <CallDescr(r) EF=0> -> %r4
 127  goto L2
