   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> -> %r2
  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, %r2
  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, %r2], <CallDescr(rrii) EF=7> -> %r2
  94  -live- %i0, %r0, %r2
  94  -live- %i0, %r0, %r2
  94  goto_if_not %i0, L8
  98  ref_copy %r0 -> %r3
 101  -live- %r2, %r3
 101  guard_class %r3 -> %i1
 104  -live- %i1, %r2, %r3
 104  int_guard_value %i1
 106  -live- %r2, %r3
 106  guard_class %r3 -> %i1
 109  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 114  -live- %i1, %r2, %r3
 114  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11, 3:L12>
 118  unreachable
 119  ---
 119  L9:
 119  -live- %r2, %r3
 119  ref_copy %r3 -> %r0
 122  -live- %r0, %r2, %r3
 122  guard_class %r3 -> %i1
 125  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
 130  -live- %i1, %r0, %r2, %r3
 130  int_guard_value %i1
 132  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3], <CallDescr(r) EF=2> -> %r3
 139  -live- %r0, %r2, %r3
 139  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 144  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 149  L13:
 149  L14:
 149  inline_call_r_r <JitCode 'wrap_impl'>, R[%r3, %r0, %r2] -> %r3
 157  -live- %r3
 157  ref_return %r3
 159  ---
 159  L10:
 159  -live- %r2, %r3
 159  ref_copy %r3 -> %r0
 162  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r3
 167  -live- %r0, %r2, %r3
 167  ref_guard_value %r3
 169  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 174  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 179  goto L13
 182  ---
 182  L11:
 182  -live- %r2, %r3
 182  ref_copy %r3 -> %r0
 185  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r3
 190  goto L13
 193  ---
 193  L12:
 193  -live- %r2, %r3
 193  ref_copy %r3 -> %r0
 196  -live- %r0, %r2, %r3
 196  guard_class %r3 -> %i1
 199  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typedef> -> %i1
 204  getfield_raw_r %i1, FieldDescr<pbc.pbcinternal_memofield_getorbuild_0> -> %r3
 209  goto L13
 212  ---
 212  L8:
 212  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 215  goto L14
 218  ---
 218  L7:
 218  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 223  -live- %i0, %i2, %r0, %r2, %r3
 223  guard_class %r3 -> %i1
 226  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 231  -live- %i0, %i1, %i2, %r0, %r2, %r3
 231  switch %i1, <SwitchDictDescr 0:L15, 1:L16>
 235  unreachable
 236  ---
 236  L15:
 236  -live- %i0, %i2, %r0, %r2, %r3
 236  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 241  L17:
 241  -live- %i0, %i2, %r0, %r2, %r3
 241  goto_if_not %i0, L18
 245  L19:
 245  inline_call_ir_r <JitCode 'from_shape'>, I[%i2, $False], R[%r3, %r2, %r0] -> %r3
 256  -live- %r3
 256  ref_return %r3
 258  ---
 258  L18:
 258  ref_copy $<* struct pypy.module.micronumpy.base.W_NDimArray> -> %r0
 261  goto L19
 264  ---
 264  L16:
 264  -live- %i0, %i2, %r0, %r2, %r3
 264  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 269  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i1
 274  -live- %i0, %i1, %i2, %r0, %r2, %r3
 274  int_guard_value %i1
 276  goto L17
 279  ---
 279  L4:
 279  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i1
 286  -live- %i0, %i1, %i2, %r0, %r1
 286  -live- %i0, %i1, %i2, %r0, %r1
 286  goto_if_not %i1, L20
 290  goto L5
 293  ---
 293  L20:
 293  inline_call_r_r <JitCode 'call_function__star_1'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %r3
 300  -live- %i0, %i2, %r0, %r3
 300  inline_call_ir_r <JitCode 'interp_w__W_Dtype'>, I[$False], R[%r3] -> %r2
 308  -live- %i0, %i2, %r0, %r2
 308  -live- %i0, %i2, %r0, %r2
 308  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 314  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 319  -live- %i0, %i2, %r0, %r2, %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, %r2, %r3
 327  goto_if_not_int_eq %i1, $18, L21
 332  L22:
 332  -live- %i0, %i2, %r0, %r2
 332  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 338  getfield_gc_i_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i1
 343  -live- %i0, %i1, %i2, %r0, %r2
 343  goto_if_not_int_lt %i1, $1, L23
 348  -live- %i0, %i2, %r0, %r2
 348  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 354  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 359  -live- %i0, %i2, %r0, %r3
 359  guard_class %r3 -> %i1
 362  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_char> -> %i1
 367  newstr $1 -> %r3
 370  strsetitem %r3, $0, %i1
 374  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 382  -live- %i0, %i2, %r0, %r3
 382  inline_call_r_r <JitCode 'variable_dtype'>, R[%r3] -> %r2
 388  -live- %i0, %i2, %r0, %r2
 388  goto L6
 391  ---
 391  L23:
 391  goto L6
 394  ---
 394  L21:
 394  -live- %i0, %i2, %r0, %r2, %r3
 394  guard_class %r3 -> %i1
 397  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i1
 402  -live- %i0, %i1, %i2, %r0, %r2
 402  goto_if_not_int_eq %i1, $19, L24
 407  goto L22
 410  ---
 410  L24:
 410  goto L6
 413  ---
 413  L2:
 413  L25:
 413  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
 425  -live- %i0, %r0, %r1, %r2
 425  goto L3
 428  ---
 428  L1:
 428  goto L25
