   0  -live- %r1
   0  goto_if_not_ptr_nonzero %r1, L1
   4  ref_copy %r1 -> %r0
   7  -live- %r0, %r1
   7  guard_class %r1 -> %i0
  10  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  15  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  20  -live- %i0, %r0
  20  goto_if_not %i0, L2
  24  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
  29  -live- %r0
  29  guard_class %r0 -> %i0
  32  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_base> -> %i0
  37  -live- %i0, %r0
  37  switch %i0, <SwitchDictDescr 0:L3, 1:L4, 2:L5, 3:L6>
  41  unreachable
  42  ---
  42  L3:
  42  -live- %r0
  42  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r0
  47  L7:
  47  -live- %r0
  47  goto_if_not_ptr_iszero %r0, L8
  51  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  53  ---
  53  L8:
  53  ref_return %r0
  55  ---
  55  L4:
  55  -live- %r0
  55  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr> -> %r0
  60  goto L7
  63  ---
  63  L5:
  63  -live-
  63  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  65  ---
  65  L6:
  65  -live- %r0
  65  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.concrete.ConcreteArrayWithBase.inst_orig_base> -> %r0
  70  goto L7
  73  ---
  73  L2:
  73  raise $<* struct object>
  75  ---
  75  L1:
  75  raise $<* struct object>
