   0  residual_call_r_r $<* fn W_NDimArray._prepare_array_index>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r2
   8  -live- %r0, %r1, %r2
  11  getfield_gc_r_pure %r2, FieldDescr<tuple4.item0> -> %r4
  16  getfield_gc_r_pure %r2, FieldDescr<tuple4.item1> -> %r3
  21  getfield_gc_r_pure %r2, FieldDescr<tuple4.item2> -> %r5
  26  getfield_gc_r_pure %r2, FieldDescr<tuple4.item3> -> %r2
  31  -live- %r0, %r1, %r2, %r3, %r4, %r5
  34  goto_if_not_ptr_iszero %r5, L1
  38  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  43  inline_call_r_r <JitCode 'BaseConcreteArray._prepare_slice_args'>, R[%r2, %r1] -> %r1
  50  -live- %r0, %r1
  53  getlistitem_gc_r %r1, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4e394950> -> %r2
  61  -live- %r0, %r1, %r2
  64  guard_class %r2 -> %i0
  67  -live- %i0, %r0, %r1
  70  goto_if_not_int_eq %i0, $<* struct object_vtable>, L2
  75  int_copy $True -> %i0
  78  L3:
  78  residual_call_r_r $<* fn new_view>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r1
  86  -live- %i0, %r1
  89  goto_if_not %i0, L4
  93  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  98  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i0
 103  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab3c0185d0> -> %r2
 107  setfield_gc_i %r2, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 112  inline_call_r_r <JitCode 'W_NDimArray.descr_copy'>, R[%r1, %r2] -> %r1
 119  -live- %r1
 122  ref_return %r1
 124  ---
 124  L4:
 124  ref_return %r1
 126  ---
 126  L2:
 126  int_copy $False -> %i0
 129  goto L3
 132  ---
 132  L1:
 132  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 137  -live- %r0, %r1, %r2, %r3, %r4, %r5
 140  guard_class %r1 -> %i0
 143  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 148  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 151  switch %i0, <SwitchDictDescr 0:L5, 1:L6>
 155  unreachable
 156  ---
 156  L5:
 156  -live- %r0, %r1, %r2, %r3, %r4, %r5
 159  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 164  L7:
 164  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4e394950> -> %i0
 169  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i1
 174  int_sub %i1, %i0 -> %i1
 178  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r1
 183  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i0, $0, %i1], R[%r6, %r1], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 194  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r1
 201  -live- %r0, %r1, %r2, %r4, %r5
 204  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 209  -live- %r0, %r1, %r2, %r3, %r4, %r5
 212  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 218  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
 223  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i0
 228  inline_call_ir_r <JitCode 'from_shape'>, I[%i0, $True], R[%r1, %r6, %r0] -> %r1
 239  -live- %r0, %r1, %r2, %r4, %r5
 242  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r1] -> %i0
 248  -live- %i0, %r0, %r1, %r2, %r4, %r5
 251  goto_if_not_int_is_true %i0, L8
 255  inline_call_r_r <JitCode 'getitem_array_int'>, R[%r0, %r1, %r5, %r2, %r4] -> %r1
 265  -live- %r1
 268  ref_return %r1
 270  ---
 270  L8:
 270  ref_return %r1
 272  ---
 272  L6:
 272  -live- %r0, %r1, %r2, %r3, %r4, %r5
 275  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r6
 280  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i0
 285  -live- %i0, %r0, %r2, %r3, %r4, %r5, %r6
 288  int_guard_value %i0
 290  goto L7
