   0  -live- %r0, %r1
   3  goto_if_not_ptr_iszero %r1, L1
   7  L2:
   7  -live- %r0
  10  guard_class %r0 -> %i0
  13  -live- %i0, %r0
  16  goto_if_not_int_eq %i0, $<* struct object_vtable>, L3
  21  ref_return %r0
  23  ---
  23  L3:
  23  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  28  -live- %r0, %r1
  31  guard_class %r1 -> %i0
  34  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  39  -live- %i0, %r0, %r1
  42  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  46  unreachable
  47  ---
  47  L4:
  47  -live- %r0, %r1
  50  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  55  L6:
  55  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i0
  61  -live- %i0, %r0
  64  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  69  -live- %i0, %r0, %r1
  72  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  78  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  83  -live- %i0, %r0, %r1, %r2
  86  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
  92  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
  97  int_mul %i0, %i1 -> %i1
 101  -live- %i1, %r0, %r1
 104  guard_class %r1 -> %i0
 107  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 112  -live- %i0, %i1, %r0, %r1
 115  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
 119  unreachable
 120  ---
 120  L7:
 120  -live- %i1, %r0, %r1
 123  ref_copy %r0 -> %r2
 126  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 131  L9:
 131  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 136  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i0
 141  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 146  -live- %i0, %i1, %r0, %r1, %r3
 149  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 155  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 160  residual_call_ir_r $<* fn from_shape_and_storage>, I[%i0, %i1, $0, $False, $True, $0], R[%r3, %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r0, $<* None>], <CallDescr(ririiirriri) EF=7> -> %r0
 178  -live- %r0
 181  ref_return %r0
 183  ---
 183  L8:
 183  -live- %i1, %r0, %r1
 186  ref_copy %r0 -> %r2
 189  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 194  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 199  -live- %i0, %i1, %r0, %r2, %r3
 202  int_guard_value %i0
 204  goto L9
 207  ---
 207  L5:
 207  -live- %r0, %r1
 210  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 215  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i0
 220  -live- %i0, %r0, %r1
 223  int_guard_value %i0
 225  goto L6
 228  ---
 228  L1:
 228  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 235  -live- %i0, %r0
 238  goto_if_not %i0, L10
 242  goto L2
 245  ---
 245  L10:
 245  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r1
 249  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 254  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 259  assert_not_none %r1
 261  -live- %r1
 264  raise %r1
