   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  L2:
   4  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   9  -live- %i0, %r0, %r2
   9  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  15  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  20  -live- %i0, %r0, %r1, %r2
  20  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  26  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
  31  -live- %i0, %r0, %r1, %r2
  31  guard_class %r1 -> %i1
  34  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i1
  39  -live- %i0, %i1, %r0, %r2
  39  goto_if_not_int_eq %i1, $'b', L3
  44  -live- %i0, %r0, %r2
  44  guard_class %r2 -> %i1
  47  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  52  -live- %i0, %i1, %r0, %r2
  52  switch %i1, <SwitchDictDescr 0:L4, 1:L5>
  56  unreachable
  57  ---
  57  L4:
  57  -live- %i0, %r0, %r2
  57  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
  62  L6:
  62  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r1, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r2
  73  -live- %i0, %r0, %r2
  73  L7:
  73  new_array_clear $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r3
  78  setarrayitem_gc_r %r3, $0, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
  84  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  89  -live- %i0, %r0, %r1, %r2, %r3
  89  guard_class %r1 -> %i1
  92  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  97  -live- %i0, %i1, %r0, %r1, %r2, %r3
  97  switch %i1, <SwitchDictDescr 0:L8, 1:L9>
 101  unreachable
 102  ---
 102  L8:
 102  -live- %i0, %r0, %r1, %r2, %r3
 102  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 107  L10:
 107  inline_call_r_r <JitCode 'dtype_agreement'>, R[%r3, %r1, %r2] -> %r2
 115  -live- %i0, %r0, %r2
 115  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 120  -live- %i0, %r0, %r1, %r2
 120  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 126  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 131  -live- %i0, %r0, %r1, %r2
 131  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 137  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
 142  -live- %i0, %r0, %r1, %r2
 142  guard_class %r1 -> %i1
 145  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i1
 150  -live- %i0, %i1, %r0, %r2
 150  goto_if_not_int_eq %i1, $'b', L11
 155  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 160  -live- %i0, %r0, %r1, %r2
 160  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 166  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 171  -live- %i0, %r0, %r1, %r2
 171  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 177  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r1
 182  -live- %i0, %r0, %r1, %r2
 182  guard_class %r1 -> %i1
 185  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i1
 190  -live- %i0, %i1, %r0, %r2
 190  goto_if_not_int_eq %i1, $'b', L12
 195  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
 198  L13:
 198  -live- %i0, %r0, %r2, %r3
 198  goto_if_not_int_is_zero %i0, L14
 202  -live- %i0, %r0, %r2, %r3
 202  guard_class %r0 -> %i1
 205  -live- %i0, %i1, %r0, %r2, %r3
 205  int_guard_value %i1
 207  -live- %i0, %r0, %r2, %r3
 207  guard_class %r0 -> %i1
 210  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 215  getfield_raw_i %i1, FieldDescr<specfunc.variant0> -> %i1
 220  -live- %i0, %i1, %r0, %r2, %r3
 220  int_guard_value %i1
 222  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
 229  -live- %i0, %r0, %r1, %r2, %r3
 229  residual_call_r_r $<* fn W_NDimArray.descr_view>, R[%r2, %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rrr) EF=7> -> %r2
 238  -live- %i0, %r0, %r2, %r3
 238  L15:
 238  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 243  -live- %i0, %r0, %r1, %r2, %r3
 243  guard_class %r1 -> %i1
 246  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 251  -live- %i0, %i1, %r0, %r1, %r2, %r3
 251  switch %i1, <SwitchDictDescr 0:L16, 1:L17>
 255  unreachable
 256  ---
 256  L16:
 256  -live- %i0, %r0, %r1, %r2, %r3
 256  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 261  L18:
 261  inline_call_ir_v <JitCode 'round'>, I[%i0], R[%r0, %r3, %r1, %r2]
 271  -live- %r2
 271  ref_return %r2
 273  ---
 273  L17:
 273  -live- %i0, %r0, %r1, %r2, %r3
 273  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 278  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i1
 283  -live- %i0, %i1, %r0, %r1, %r2, %r3
 283  int_guard_value %i1
 285  goto L18
 288  ---
 288  L14:
 288  goto L15
 291  ---
 291  L12:
 291  L19:
 291  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
 296  -live- %i0, %r0, %r1, %r2
 296  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 302  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 307  goto L13
 310  ---
 310  L11:
 310  goto L19
 313  ---
 313  L9:
 313  -live- %i0, %r0, %r1, %r2, %r3
 313  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 318  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i1
 323  -live- %i0, %i1, %r0, %r1, %r2, %r3
 323  int_guard_value %i1
 325  goto L10
 328  ---
 328  L5:
 328  -live- %i0, %r0, %r2
 328  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r1
 333  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i1
 338  -live- %i0, %i1, %r0, %r1
 338  int_guard_value %i1
 340  goto L6
 343  ---
 343  L3:
 343  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r2
 346  goto L7
 349  ---
 349  L1:
 349  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i1
 356  -live- %i0, %i1, %r0, %r1
 356  -live- %i0, %i1, %r0, %r1
 356  goto_if_not %i1, L20
 360  goto L2
 363  ---
 363  L20:
 363  -live- %i0, %r0, %r1
 363  goto_if_not_ptr_nonzero %r1, L21
 367  ref_copy %r1 -> %r2
 370  -live- %i0, %r0, %r1, %r2
 370  guard_class %r1 -> %i1
 373  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
 378  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
 383  -live- %i0, %i1, %r0, %r2
 383  goto_if_not %i1, L22
 387  goto L7
 390  ---
 390  L22:
 390  L23:
 390  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
 394  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 399  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 404  assert_not_none %r1
 406  -live- %r1
 406  guard_class %r1 -> %i1
 409  -live- %r1
 409  raise %r1
 411  ---
 411  L21:
 411  goto L23
