   0  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i1
   5  -live- %i0, %i1, %r0, %r1, %r2
   5  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
   9  L3:
   9  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size> -> %i0
  14  -live- %i0, %i1, %r0, %r1, %r2
  14  goto_if_not_int_is_zero %i0, L4
  18  -live- %i1, %r0, %r1, %r2
  18  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  24  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  29  inline_call_ir_r <JitCode 'calc_strides'>, I[%i1], R[%r2, %r3] -> %r3
  38  -live- %r0, %r1, %r2, %r3
  38  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r5
  43  L5:
  43  -live- %r0, %r1, %r2, %r5
  43  goto_if_not_ptr_iszero %r5, L6
  47  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
  49  ---
  49  L6:
  49  inline_call_r_r <JitCode 'calc_backstrides'>, R[%r5, %r2] -> %r4
  56  -live- %r0, %r1, %r2, %r4, %r5
  56  -live- %r0, %r1, %r2, %r4, %r5
  56  goto_if_not_ptr_nonzero %r1, L7
  60  ref_copy %r1 -> %r3
  63  -live- %r0, %r1, %r2, %r3, %r4, %r5
  63  guard_class %r3 -> %i0
  66  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  71  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  76  -live- %i0, %r0, %r1, %r2, %r4, %r5
  76  goto_if_not %i0, L8
  80  L9:
  80  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i0
  85  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018d630f70> -> %r3
  89  setfield_gc_i %r3, $0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags>
  94  setfield_gc_i %r3, $0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start>
  99  inline_call_ir_v <JitCode 'SliceArray.__init__'>, I[%i0], R[%r3, %r5, %r4, %r2, %r0, %r1, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>]
 112  -live- %r3
 112  ref_return %r3
 114  ---
 114  L8:
 114  goto L9
 117  ---
 117  L7:
 117  goto L9
 120  ---
 120  L4:
 120  -live- %i1, %r0, %r1, %r2
 120  guard_class %r0 -> %i0
 123  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 128  -live- %i0, %i1, %r0, %r1, %r2
 128  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 132  unreachable
 133  ---
 133  L10:
 133  -live- %i1, %r0, %r1, %r2
 133  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 138  L12:
 138  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 143  -live- %i0, %i1, %r0, %r1, %r2
 143  goto_if_not_int_is_zero %i0, L13
 147  -live- %r0, %r1, %r2
 147  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 153  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 158  -live- %r0, %r1, %r2, %r3
 158  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 164  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 169  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 174  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_SignedLlT_Signed_Signed'>, I[%i1, %i0], R[] -> %r5
 182  -live- %r0, %r1, %r2, %r5
 182  goto L5
 185  ---
 185  L13:
 185  -live- %i1, %r0, %r1, %r2
 185  guard_class %r0 -> %i0
 188  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 193  -live- %i0, %i1, %r0, %r1, %r2
 193  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 197  unreachable
 198  ---
 198  L14:
 198  -live- %i1, %r0, %r1, %r2
 198  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 203  L16:
 203  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r3
 208  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 213  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 213  int_guard_value %i0
 215  residual_call_ir_r $<* fn calc_new_strides>, I[%i1], R[%r2, %r4, %r3], <CallDescr(rrri) EF=5> -> %r5
 226  -live- %r0, %r1, %r2, %r5
 226  -live- %r0, %r1, %r2, %r5
 226  goto_if_not_ptr_iszero %r5, L17
 230  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
 232  ---
 232  L17:
 232  arraylen_gc %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 237  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 242  -live- %i0, %i1, %r0, %r1, %r2, %r5
 242  goto_if_not_int_ne %i0, %i1, L18
 247  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
 249  ---
 249  L18:
 249  goto L5
 252  ---
 252  L15:
 252  -live- %i1, %r0, %r1, %r2
 252  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 257  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 262  -live- %i0, %i1, %r0, %r1, %r2, %r4
 262  int_guard_value %i0
 264  goto L16
 267  ---
 267  L11:
 267  -live- %i1, %r0, %r1, %r2
 267  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 272  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i0
 277  -live- %i0, %i1, %r0, %r1, %r2, %r3
 277  int_guard_value %i0
 279  goto L12
 282  ---
 282  L1:
 282  -live- %r0, %r1, %r2
 282  int_copy $0 -> %i1
 285  goto L3
 288  ---
 288  L2:
 288  -live- %r0, %r1, %r2
 288  int_copy $1 -> %i1
 291  goto L3
