   0  -live- %i0, %r0, %r1, %r2
   0  goto_if_not_ptr_nonzero %r0, L1
   4  ref_copy %r0 -> %r3
   7  -live- %i0, %r0, %r1, %r2, %r3
   7  guard_class %r3 -> %i1
  10  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  15  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  20  -live- %i0, %i1, %r0, %r1, %r2
  20  goto_if_not %i1, L2
  24  L3:
  24  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  29  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i1
  34  inline_call_ir_i <JitCode 'order_converter'>, I[%i1], R[%r2] -> %i2
  42  -live- %i0, %i2, %r0, %r1
  42  -live- %i0, %i2, %r0, %r1
  42  goto_if_not_ptr_iszero %r1, L4
  46  L5:
  46  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  51  -live- %i0, %i2, %r0, %r3
  51  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  57  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  62  L6:
  62  int_eq %i2, $2 -> %i1
  66  int_eq %i2, $-1 -> %i3
  70  int_or %i1, %i3 -> %i1
  74  -live- %i0, %i1, %i2, %r0, %r1
  74  goto_if_not %i1, L7
  78  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  83  residual_call_ir_r $<* fn BaseConcreteArray.astype>, I[$2, $True], R[%r3, %r1], <CallDescr(rrii) EF=7> -> %r3
  94  -live- %i0, %r0, %r3
  94  -live- %i0, %r0, %r3
  94  goto_if_not %i0, L8
  98  -live- %r0, %r3
  98  guard_class %r0 -> %i1
 101  -live- %i1, %r0, %r3
 101  int_guard_value %i1
 103  -live- %r0, %r3
 103  guard_class %r0 -> %i1
 106  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 111  -live- %i1, %r0, %r3
 111  int_guard_value %i1
 113  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
 120  -live- %r0, %r1, %r3
 120  L9:
 120  inline_call_r_r <JitCode 'wrap_impl'>, R[%r1, %r0, %r3] -> %r3
 128  -live- %r3
 128  ref_return %r3
 130  ---
 130  L8:
 130  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r1
 133  goto L9
 136  ---
 136  L7:
 136  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 141  -live- %i0, %i2, %r0, %r1, %r3
 141  guard_class %r3 -> %i1
 144  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 149  -live- %i0, %i1, %i2, %r0, %r1, %r3
 149  switch %i1, <SwitchDictDescr 0:L10, 1:L11>
 153  unreachable
 154  ---
 154  L10:
 154  -live- %i0, %i2, %r0, %r1, %r3
 154  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 159  L12:
 159  -live- %i0, %i2, %r0, %r1, %r3
 159  goto_if_not %i0, L13
 163  L14:
 163  inline_call_ir_r <JitCode 'from_shape'>, I[%i2, $False], R[%r3, %r1, %r0] -> %r3
 174  -live- %r3
 174  ref_return %r3
 176  ---
 176  L13:
 176  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r0
 179  goto L14
 182  ---
 182  L11:
 182  -live- %i0, %i2, %r0, %r1, %r3
 182  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 187  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i1
 192  -live- %i0, %i1, %i2, %r0, %r1, %r3
 192  int_guard_value %i1
 194  goto L12
 197  ---
 197  L4:
 197  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i1
 204  -live- %i0, %i1, %i2, %r0, %r1
 204  -live- %i0, %i1, %i2, %r0, %r1
 204  goto_if_not %i1, L15
 208  goto L5
 211  ---
 211  L15:
 211  inline_call_r_r <JitCode 'call_function__star_1'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %r1
 218  -live- %i0, %i2, %r0, %r1
 218  -live- %i0, %i2, %r0, %r1
 218  goto_if_not_ptr_nonzero %r1, L16
 222  ref_copy %r1 -> %r3
 225  -live- %i0, %i2, %r0, %r1, %r3
 225  guard_class %r3 -> %i1
 228  -live- %i0, %i1, %i2, %r0, %r1
 228  goto_if_not_int_eq %i1, $<* struct object_vtable>, L17
 233  -live- %i0, %i2, %r0, %r1
 233  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 239  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 244  -live- %i0, %i2, %r0, %r1, %r3
 244  guard_class %r3 -> %i1
 247  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 252  -live- %i0, %i1, %i2, %r0, %r1, %r3
 252  goto_if_not_int_eq %i1, $18, L18
 257  L19:
 257  -live- %i0, %i2, %r0, %r1
 257  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 263  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 268  -live- %i0, %i1, %i2, %r0, %r1
 268  goto_if_not_int_lt %i1, $1, L20
 273  -live- %i0, %i2, %r0, %r1
 273  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 279  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 284  -live- %i0, %i2, %r0, %r3
 284  guard_class %r3 -> %i1
 287  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_char> -> %i1
 292  newstr $1 -> %r3
 295  strsetitem %r3, $0, %i1
 299  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 307  -live- %i0, %i2, %r0, %r3
 307  inline_call_r_r <JitCode 'variable_dtype'>, R[%r3] -> %r1
 313  -live- %i0, %i2, %r0, %r1
 313  goto L6
 316  ---
 316  L20:
 316  goto L6
 319  ---
 319  L18:
 319  -live- %i0, %i2, %r0, %r1, %r3
 319  guard_class %r3 -> %i1
 322  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 327  -live- %i0, %i1, %i2, %r0, %r1
 327  goto_if_not_int_eq %i1, $19, L21
 332  goto L19
 335  ---
 335  L21:
 335  goto L6
 338  ---
 338  L17:
 338  L22:
 338  -live- %r1
 338  guard_class %r1 -> %i1
 341  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 346  -live- %i1, %r1
 346  int_guard_value %i1
 348  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r3
 355  -live- %r3
 355  inline_call_r_r <JitCode 'oefmt____s__object_expected__got___N__instead_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r3] -> %r3
 364  -live- %r3
 364  -live- %r3
 364  guard_class %r3 -> %i1
 367  -live- %r3
 367  raise %r3
 369  ---
 369  L16:
 369  goto L22
 372  ---
 372  L2:
 372  L23:
 372  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r0
 384  -live- %i0, %r0, %r1, %r2
 384  goto L3
 387  ---
 387  L1:
 387  goto L23
