   0  -live- %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  L2:
   4  -live- %r0
   4  guard_class %r0 -> %i0
   7  -live- %i0, %r0
   7  goto_if_not_int_eq %i0, $<* struct object_vtable>, L3
  12  ref_return %r0
  14  ---
  14  L3:
  14  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  19  -live- %r0, %r1
  19  guard_class %r1 -> %i0
  22  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  27  -live- %i0, %r0, %r1
  27  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  31  unreachable
  32  ---
  32  L4:
  32  -live- %r0, %r1
  32  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  37  L6:
  37  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i0
  43  -live- %i0, %r0
  43  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  48  -live- %i0, %r0, %r1
  48  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  54  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  59  -live- %i0, %r0, %r1, %r2
  59  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
  65  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
  70  int_mul %i0, %i1 -> %i1
  74  -live- %i1, %r0, %r1
  74  guard_class %r1 -> %i0
  77  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  82  -live- %i0, %i1, %r0, %r1
  82  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
  86  unreachable
  87  ---
  87  L7:
  87  -live- %i1, %r0, %r1
  87  ref_copy %r0 -> %r2
  90  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  95  L9:
  95  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 100  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i0
 105  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 110  -live- %i0, %i1, %r0, %r1, %r3
 110  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 116  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 121  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
 139  -live- %r0
 139  ref_return %r0
 141  ---
 141  L8:
 141  -live- %i1, %r0, %r1
 141  ref_copy %r0 -> %r2
 144  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 149  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 154  -live- %i0, %i1, %r0, %r2, %r3
 154  int_guard_value %i0
 156  goto L9
 159  ---
 159  L5:
 159  -live- %r0, %r1
 159  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 164  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 169  -live- %i0, %r0, %r1
 169  int_guard_value %i0
 171  goto L6
 174  ---
 174  L1:
 174  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 181  -live- %i0, %r0
 181  -live- %i0, %r0
 181  goto_if_not %i0, L10
 185  goto L2
 188  ---
 188  L10:
 188  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
 192  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 197  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 202  assert_not_none %r1
 204  -live- %r1
 204  guard_class %r1 -> %i0
 207  -live- %r1
 207  raise %r1
