   0  -live- %i0, %r0, %r1, %r2
   3  goto_if_not_ptr_nonzero %r0, L1
   7  ref_copy %r0 -> %r3
  10  -live- %i0, %r0, %r1, %r2, %r3
  13  guard_class %r3 -> %i1
  16  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  21  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  26  -live- %i0, %i1, %r0, %r1, %r2
  29  goto_if_not %i1, L2
  33  L3:
  33  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  38  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i1
  43  inline_call_ir_i <JitCode 'order_converter'>, I[%i1], R[%r2] -> %i2
  51  -live- %i0, %i2, %r0, %r1
  54  goto_if_not_ptr_iszero %r1, L4
  58  L5:
  58  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  63  -live- %i0, %i2, %r0, %r3
  66  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  72  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  77  L6:
  77  int_eq %i2, $2 -> %i1
  81  int_eq %i2, $-1 -> %i3
  85  int_or %i1, %i3 -> %i1
  89  -live- %i0, %i1, %i2, %r0, %r2
  92  goto_if_not %i1, L7
  96  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 101  residual_call_ir_r $<* fn BaseConcreteArray.astype>, I[$2, $True], R[%r3, %r2], <CallDescr(rrii) EF=7> -> %r2
 112  -live- %i0, %r0, %r2
 115  goto_if_not %i0, L8
 119  ref_copy %r0 -> %r3
 122  -live- %r2, %r3
 125  guard_class %r3 -> %i1
 128  -live- %i1, %r2, %r3
 131  int_guard_value %i1
 133  -live- %r2, %r3
 136  guard_class %r3 -> %i1
 139  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 144  -live- %i1, %r2, %r3
 147  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11, 3:L12>
 151  unreachable
 152  ---
 152  L9:
 152  -live- %r2, %r3
 155  ref_copy %r3 -> %r0
 158  -live- %r0, %r2, %r3
 161  guard_class %r3 -> %i1
 164  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
 169  -live- %i1, %r0, %r2, %r3
 172  int_guard_value %i1
 174  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3], <CallDescr(r) EF=2> -> %r3
 181  -live- %r0, %r2, %r3
 184  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 189  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 194  L13:
 194  L14:
 194  inline_call_r_r <JitCode 'wrap_impl'>, R[%r3, %r0, %r2] -> %r3
 202  -live- %r3
 205  ref_return %r3
 207  ---
 207  L10:
 207  -live- %r2, %r3
 210  ref_copy %r3 -> %r0
 213  getfield_gc_r %r3, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r3
 218  -live- %r0, %r2, %r3
 221  ref_guard_value %r3
 223  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 228  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 233  goto L13
 236  ---
 236  L11:
 236  -live- %r2, %r3
 239  ref_copy %r3 -> %r0
 242  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r3
 247  goto L13
 250  ---
 250  L12:
 250  -live- %r2, %r3
 253  ref_copy %r3 -> %r0
 256  -live- %r0, %r2, %r3
 259  guard_class %r3 -> %i1
 262  getfield_raw_r %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r3
 267  goto L13
 270  ---
 270  L8:
 270  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 273  goto L14
 276  ---
 276  L7:
 276  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 281  -live- %i0, %i2, %r0, %r2, %r3
 284  guard_class %r3 -> %i1
 287  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 292  -live- %i0, %i1, %i2, %r0, %r2, %r3
 295  switch %i1, <SwitchDictDescr 0:L15, 1:L16>
 299  unreachable
 300  ---
 300  L15:
 300  -live- %i0, %i2, %r0, %r2, %r3
 303  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 308  L17:
 308  -live- %i0, %i2, %r0, %r2, %r3
 311  goto_if_not %i0, L18
 315  L19:
 315  inline_call_ir_r <JitCode 'from_shape'>, I[%i2, $False], R[%r3, %r2, %r0] -> %r3
 326  -live- %r3
 329  ref_return %r3
 331  ---
 331  L18:
 331  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r0
 334  goto L19
 337  ---
 337  L16:
 337  -live- %i0, %i2, %r0, %r2, %r3
 340  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 345  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i1
 350  -live- %i0, %i1, %i2, %r0, %r2, %r3
 353  int_guard_value %i1
 355  goto L17
 358  ---
 358  L4:
 358  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i1
 365  -live- %i0, %i1, %i2, %r0, %r1
 368  goto_if_not %i1, L20
 372  goto L5
 375  ---
 375  L20:
 375  inline_call_r_r <JitCode 'call_function__star_1'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %r2
 382  -live- %i0, %i2, %r0, %r2
 385  goto_if_not_ptr_nonzero %r2, L21
 389  ref_copy %r2 -> %r3
 392  -live- %i0, %i2, %r0, %r2, %r3
 395  guard_class %r3 -> %i1
 398  -live- %i0, %i1, %i2, %r0, %r2
 401  goto_if_not_int_eq %i1, $<* struct object_vtable>, L22
 406  -live- %i0, %i2, %r0, %r2
 409  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 415  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 420  -live- %i0, %i2, %r0, %r2, %r3
 423  guard_class %r3 -> %i1
 426  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 431  -live- %i0, %i1, %i2, %r0, %r2
 434  switch %i1, <SwitchDictDescr 18:L23, 19:L24>
 438  goto L6
 441  ---
 441  L23:
 441  L25:
 441  -live- %i0, %i2, %r0, %r2
 444  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 450  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 455  -live- %i0, %i1, %i2, %r0, %r2
 458  goto_if_not_int_lt %i1, $1, L26
 463  -live- %i0, %i2, %r0, %r2
 466  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 472  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 477  -live- %i0, %i2, %r0, %r3
 480  guard_class %r3 -> %i1
 483  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_char> -> %i1
 488  newstr $1 -> %r3
 491  strsetitem %r3, $0, %i1
 495  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 503  -live- %i0, %i2, %r0, %r3
 506  inline_call_r_r <JitCode 'variable_dtype'>, R[%r3] -> %r2
 512  -live- %i0, %i2, %r0, %r2
 515  goto L6
 518  ---
 518  L26:
 518  goto L6
 521  ---
 521  L24:
 521  -live- %i0, %i2, %r0, %r2
 524  goto L25
 527  ---
 527  L22:
 527  L27:
 527  inline_call_r_r <JitCode 'oefmt____s__object_expected__got___T__instead_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r2] -> %r3
 536  -live- %r3
 539  assert_not_none %r3
 541  -live- %r3
 544  guard_class %r3 -> %i1
 547  -live- %r3
 550  raise %r3
 552  ---
 552  L21:
 552  goto L27
 555  ---
 555  L2:
 555  L28:
 555  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
 567  -live- %i0, %r0, %r1, %r2
 570  goto L3
 573  ---
 573  L1:
 573  goto L28
