   0  -live- %r0, %r1
   3  goto_if_not_ptr_nonzero %r0, L1
   7  ref_copy %r0 -> %r2
  10  -live- %r0, %r1, %r2
  13  guard_class %r2 -> %i1
  16  L2:
  16  -live- %i1, %r0, %r1
  19  goto_if_not_ptr_nonzero %r1, L3
  23  ref_copy %r1 -> %r2
  26  -live- %i1, %r0, %r1, %r2
  29  guard_class %r2 -> %i0
  32  L4:
  32  -live- %i0, %i1, %r0, %r1
  35  goto_if_not_int_eq %i1, %i0, L5
  40  -live- %r0, %r1
  43  guard_class %r0 -> %i0
  46  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_user_overridden_class> -> %i1
  51  -live- %i0, %i1, %r0, %r1
  54  goto_if_not %i1, L6
  58  L7:
  58  inline_call_ir_r <JitCode '_call_binop_impl____rshift_____rrshift__'>, I[$False], R[%r0, %r1, $<* struct rpy_string>, $<* struct rpy_string>] -> %r2
  69  -live- %r0, %r1, %r2
  72  goto_if_not_ptr_iszero %r2, L8
  76  inline_call_r_r <JitCode 'oefmt__unsupported_operand_type_s__for_______T__and___T__star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, %r0, %r1] -> %r1
  85  -live- %r1
  88  assert_not_none %r1
  90  -live- %r1
  93  guard_class %r1 -> %i0
  96  -live- %r1
  99  raise %r1
 101  ---
 101  L8:
 101  ref_return %r2
 103  ---
 103  L6:
 103  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___rshift__> -> %i0
 108  inline_call_ir_r <JitCode 'dispatcher_shortcut_'>, I[%i0], R[%r0, %r1] -> %r2
 117  -live- %r0, %r1, %r2
 120  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i0
 127  -live- %i0, %r0, %r1, %r2
 130  goto_if_not %i0, L9
 134  goto L7
 137  ---
 137  L9:
 137  ref_return %r2
 139  ---
 139  L5:
 139  goto L7
 142  ---
 142  L3:
 142  int_copy $<* struct object_vtable> -> %i0
 145  goto L4
 148  ---
 148  L1:
 148  int_copy $<* struct object_vtable> -> %i1
 151  goto L2
