   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   8  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  14  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  19  -live- %r0, %r1, %r2, %r3, %r4
  22  guard_class %r3 -> %i0
  25  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  30  -live- %i0, %r0, %r1, %r2, %r3, %r4
  33  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  37  unreachable
  38  ---
  38  L1:
  38  -live- %r0, %r1, %r2, %r3, %r4
  41  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  46  L3:
  46  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i0
  51  -live- %i0, %r0, %r1, %r2, %r4
  54  goto_if_not_int_is_zero %i0, L4
  58  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r0] -> %r3
  64  -live- %r1, %r2, %r3, %r4
  67  inline_call_r_i <JitCode 'can_cast_scalar'>, R[%r4, %r3, %r1, %r2] -> %i0
  76  -live- %i0
  79  int_return %i0
  81  ---
  81  L4:
  81  inline_call_r_i <JitCode 'can_cast_type'>, R[%r4, %r1, %r2] -> %i0
  89  -live- %i0
  92  int_return %i0
  94  ---
  94  L2:
  94  -live- %r0, %r1, %r2, %r3, %r4
  97  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 102  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i0
 107  -live- %i0, %r0, %r1, %r2, %r3, %r4
 110  int_guard_value %i0
 112  goto L3
