   0  -live- %r0, %r1, %r2, %r3
   0  goto_if_not_ptr_iszero %r3, L1
   4  L2:
   4  inline_call_r_i <JitCode 'searchside_converter'>, R[%r2] -> %i1
  10  -live- %i1, %r0, %r1
  10  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  15  -live- %i1, %r0, %r1, %r3
  15  guard_class %r3 -> %i0
  18  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  23  -live- %i0, %i1, %r0, %r1, %r3
  23  switch %i0, <SwitchDictDescr 0:L3, 1:L4>
  27  unreachable
  28  ---
  28  L3:
  28  -live- %i1, %r0, %r1, %r3
  28  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  33  L5:
  33  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
  38  -live- %i0, %i1, %r0, %r1
  38  goto_if_not_int_ne %i0, $1, L6
  43  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r3
  47  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  52  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  57  assert_not_none %r3
  59  -live- %r3
  59  guard_class %r3 -> %i0
  62  -live- %r3
  62  raise %r3
  64  ---
  64  L6:
  64  -live- %i1, %r0, %r1
  64  goto_if_not_ptr_nonzero %r1, L7
  68  ref_copy %r1 -> %r3
  71  -live- %i1, %r0, %r1, %r3
  71  guard_class %r3 -> %i0
  74  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  79  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  84  -live- %i0, %i1, %r0, %r1
  84  goto_if_not %i0, L8
  88  L9:
  88  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  93  -live- %i1, %r0, %r1, %r3
  93  guard_class %r3 -> %i0
  96  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 101  -live- %i0, %i1, %r0, %r1, %r3
 101  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 105  unreachable
 106  ---
 106  L10:
 106  -live- %i1, %r0, %r1, %r3
 106  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 111  L12:
 111  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r3
 122  -live- %i1, %r0, %r1, %r3
 122  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r3] -> %i0
 128  -live- %i0, %i1, %r0, %r1, %r3
 128  -live- %i0, %i1, %r0, %r1, %r3
 128  goto_if_not_int_lt %i0, $1, L13
 133  ref_return %r3
 135  ---
 135  L13:
 135  -live- %i1, %r0, %r1, %r3
 135  goto_if_not_int_is_zero %i1, L14
 139  inline_call_r_v <JitCode 'binsearch'>, R[%r0, %r1, %r3]
 146  -live- %r3
 146  L15:
 146  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 151  -live- %r2, %r3
 151  guard_class %r2 -> %i0
 154  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 159  -live- %i0, %r2, %r3
 159  switch %i0, <SwitchDictDescr 0:L16, 1:L17>
 163  unreachable
 164  ---
 164  L16:
 164  -live- %r2, %r3
 164  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 169  L18:
 169  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 174  -live- %i0, %r3
 174  goto_if_not_int_is_zero %i0, L19
 178  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r3] -> %r3
 184  -live- %r3
 184  ref_return %r3
 186  ---
 186  L19:
 186  ref_return %r3
 188  ---
 188  L17:
 188  -live- %r2, %r3
 188  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 193  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 198  -live- %i0, %r2, %r3
 198  int_guard_value %i0
 200  goto L18
 203  ---
 203  L14:
 203  inline_call_r_v <JitCode 'binsearch'>, R[%r0, %r1, %r3]
 210  -live- %r3
 210  goto L15
 213  ---
 213  L11:
 213  -live- %i1, %r0, %r1, %r3
 213  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 218  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 223  -live- %i0, %i1, %r0, %r1, %r3
 223  int_guard_value %i0
 225  goto L12
 228  ---
 228  L8:
 228  L20:
 228  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r1
 240  -live- %i1, %r0, %r1
 240  goto L9
 243  ---
 243  L7:
 243  goto L20
 246  ---
 246  L4:
 246  -live- %i1, %r0, %r1, %r3
 246  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 251  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 256  -live- %i0, %i1, %r0, %r1, %r3
 256  int_guard_value %i0
 258  goto L5
 261  ---
 261  L1:
 261  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r3] -> %i0
 268  -live- %i0, %r0, %r1, %r2
 268  -live- %i0, %r0, %r1, %r2
 268  goto_if_not %i0, L21
 272  goto L2
 275  ---
 275  L21:
 275  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r3
 279  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 284  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 289  assert_not_none %r3
 291  -live- %r3
 291  guard_class %r3 -> %i0
 294  -live- %r3
 294  raise %r3
