   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %i0, %r0, %r1, %r2
   5  guard_class %r2 -> %i1
   8  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  13  -live- %i0, %i1, %r0, %r1, %r2
  13  switch %i1, <SwitchDictDescr 0:L1, 1:L2>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %i0, %r0, %r1, %r2
  18  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  23  L3:
  23  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  28  -live- %i0, %r0, %r1, %r2, %r3
  28  guard_class %r2 -> %i1
  31  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  36  -live- %i0, %i1, %r0, %r1, %r2, %r3
  36  switch %i1, <SwitchDictDescr 0:L4, 1:L5>
  40  unreachable
  41  ---
  41  L4:
  41  -live- %i0, %r0, %r1, %r2, %r3
  41  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
  46  L6:
  46  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
  51  -live- %i0, %i1, %r0, %r1, %r3
  51  goto_if_not_int_gt %i1, $1, L7
  56  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  61  -live- %i0, %r0, %r1, %r2, %r3
  61  guard_class %r2 -> %i1
  64  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  69  -live- %i0, %i1, %r0, %r1, %r2, %r3
  69  switch %i1, <SwitchDictDescr 0:L8, 1:L9>
  73  unreachable
  74  ---
  74  L8:
  74  -live- %i0, %r0, %r1, %r2, %r3
  74  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
  79  L10:
  79  ref_isvirtual %r2 -> %i1
  82  -live- %i0, %i1, %r0, %r1, %r2, %r3
  82  goto_if_not %i1, L11
  86  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
  91  -live- %i0, %i1, %r0, %r1, %r2, %r3
  91  goto_if_not_int_lt %i1, $10, L12
  96  L13:
  96  inline_call_r_i <JitCode 'll_listeq__v1355___simple_call__function_'>, R[%r2, %r3] -> %i1
 103  -live- %i0, %i1, %r0, %r1, %r3
 103  L14:
 103  -live- %i0, %i1, %r0, %r1, %r3
 103  goto_if_not_int_is_zero %i1, L15
 107  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000001006a8b8410> -> %r2
 111  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 116  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 121  assert_not_none %r2
 123  -live- %r2
 123  guard_class %r2 -> %i1
 126  -live- %r2
 126  raise %r2
 128  ---
 128  L15:
 128  L16:
 128  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r1] -> %i1
 134  -live- %i0, %i1, %r0, %r1, %r3
 134  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r0] -> %i2
 140  -live- %i0, %i1, %i2, %r0, %r1, %r3
 140  -live- %i0, %i1, %i2, %r0, %r1, %r3
 140  goto_if_not_int_gt %i1, %i2, L17
 145  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000001006a8b8410> -> %r2
 149  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 154  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 159  assert_not_none %r2
 161  -live- %r2
 161  guard_class %r2 -> %i1
 164  -live- %r2
 164  raise %r2
 166  ---
 166  L17:
 166  inline_call_r_i <JitCode 'count_all_true'>, R[%r1] -> %i2
 172  -live- %i0, %i2, %r0, %r1, %r3
 172  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 177  -live- %i0, %i2, %r0, %r1, %r2, %r3
 177  guard_class %r2 -> %i1
 180  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 185  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 185  switch %i1, <SwitchDictDescr 0:L18, 1:L19>
 189  unreachable
 190  ---
 190  L18:
 190  -live- %i0, %i2, %r0, %r1, %r2, %r3
 190  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 195  L20:
 195  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 200  -live- %i0, %i1, %i2, %r0, %r1, %r3
 200  goto_if_not_int_eq %i1, $1, L21
 205  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 210  -live- %i0, %i2, %r0, %r1, %r2, %r3
 210  guard_class %r2 -> %i1
 213  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 218  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 218  switch %i1, <SwitchDictDescr 0:L22, 1:L23>
 222  unreachable
 223  ---
 223  L22:
 223  -live- %i0, %i2, %r0, %r1, %r2, %r3
 223  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 228  L24:
 228  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 233  -live- %i0, %i1, %i2, %r0, %r1, %r3
 233  goto_if_not_int_gt %i1, $1, L25
 238  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 243  -live- %i0, %i2, %r0, %r1, %r2, %r3
 243  guard_class %r2 -> %i1
 246  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 251  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 251  switch %i1, <SwitchDictDescr 0:L26, 1:L27>
 255  unreachable
 256  ---
 256  L26:
 256  -live- %i0, %i2, %r0, %r1, %r2, %r3
 256  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 261  L28:
 261  getarrayitem_gc_i %r2, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 267  getarrayitem_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i3
 273  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3
 273  goto_if_not_int_ne %i1, %i3, L29
 278  getarrayitem_gc_i %r3, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i3
 284  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 289  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3
 289  guard_class %r2 -> %i1
 292  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 297  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
 297  switch %i1, <SwitchDictDescr 0:L30, 1:L31>
 301  unreachable
 302  ---
 302  L30:
 302  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3
 302  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 307  L32:
 307  getarrayitem_gc_i %r2, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 313  new_array_clear $6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0> -> %r4
 318  setarrayitem_gc_r %r4, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 324  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i0], R[], <CallDescr(i) EF=3> -> %r2
 332  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 332  setarrayitem_gc_r %r4, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 338  setarrayitem_gc_r %r4, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 344  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i3], R[], <CallDescr(i) EF=3> -> %r2
 352  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 352  setarrayitem_gc_r %r4, $3, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 358  setarrayitem_gc_r %r4, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 364  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i1], R[], <CallDescr(i) EF=3> -> %r2
 372  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4
 372  setarrayitem_gc_r %r4, $5, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
 378  ref_isvirtual %r4 -> %i1
 381  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 381  goto_if_not %i1, L33
 385  inline_call_ir_r <JitCode 'll_join_strs__v1095___simple_call__function_'>, I[$6], R[%r4] -> %r4
 393  -live- %i0, %i2, %r0, %r1, %r3, %r4
 393  L34:
 393  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a804c528> -> %r2
 397  setfield_gc_r %r2, %r4, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 402  inline_call_ir_v <JitCode 'ObjSpace.warn'>, I[$2], R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 410  -live- %i0, %i2, %r0, %r1, %r3
 410  L35:
 410  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 415  -live- %i0, %i1, %i2, %r0, %r1, %r3
 415  goto_if_not_int_gt %i0, %i1, L36
 420  int_push %i1
 422  int_copy %i0 -> %i1
 425  int_pop -> %i0
 427  L37:
 427  int_sub %i0, $0 -> %i0
 431  new_array %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %r2
 436  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i0], R[%r3, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 447  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %r4
 452  setarrayitem_gc_i %r4, $0, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8>
 458  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r2, %r4] -> %r2
 465  -live- %i1, %r0, %r1, %r2, %r3
 465  int_add %i1, $1 -> %i1
 469  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i0
 474  int_sub %i0, %i1 -> %i0
 478  new_array %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %r4
 483  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i1, $0, %i0], R[%r3, %r4], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 494  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r2, %r4] -> %r3
 501  -live- %r0, %r1, %r3
 501  L38:
 501  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 506  -live- %r0, %r1, %r2, %r3
 506  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 512  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 517  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r2, %r0] -> %r2
 528  -live- %r0, %r1, %r2
 528  inline_call_r_r <JitCode 'getitem_filter'>, R[%r2, %r0, %r1] -> %r2
 536  -live- %r2
 536  ref_return %r2
 538  ---
 538  L36:
 538  int_copy %i0 -> %i1
 541  goto L37
 544  ---
 544  L33:
 544  int_isconstant $6 -> %i1
 547  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 547  goto_if_not %i1, L39
 551  L40:
 551  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1091___simple_call__function_>, I[$6], R[%r4], <CallDescr(ir) EF=5> -> %r4
 560  -live- %i0, %i2, %r0, %r1, %r3, %r4
 560  goto L34
 563  ---
 563  L39:
 563  goto L40
 566  ---
 566  L31:
 566  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3
 566  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 571  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 576  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
 576  int_guard_value %i1
 578  goto L32
 581  ---
 581  L29:
 581  goto L35
 584  ---
 584  L27:
 584  -live- %i0, %i2, %r0, %r1, %r2, %r3
 584  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 589  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 594  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 594  int_guard_value %i1
 596  goto L28
 599  ---
 599  L25:
 599  goto L35
 602  ---
 602  L23:
 602  -live- %i0, %i2, %r0, %r1, %r2, %r3
 602  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 607  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 612  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 612  int_guard_value %i1
 614  goto L24
 617  ---
 617  L21:
 617  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %r3
 622  setarrayitem_gc_i %r3, $0, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8>
 628  goto L38
 631  ---
 631  L19:
 631  -live- %i0, %i2, %r0, %r1, %r2, %r3
 631  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 636  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 641  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 641  int_guard_value %i1
 643  goto L20
 646  ---
 646  L12:
 646  L41:
 646  ref_isvirtual %r3 -> %i1
 649  -live- %i0, %i1, %r0, %r1, %r2, %r3
 649  goto_if_not %i1, L42
 653  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 658  -live- %i0, %i1, %r0, %r1, %r2, %r3
 658  goto_if_not_int_lt %i1, $10, L43
 663  goto L13
 666  ---
 666  L43:
 666  L44:
 666  residual_call_r_i $<* fn ll_listeq_trampoline__v1353___simple_call__function_>, R[%r2, %r3], <CallDescr(rr) EF=2> -> %i1
 674  goto L14
 677  ---
 677  L42:
 677  goto L44
 680  ---
 680  L11:
 680  goto L41
 683  ---
 683  L9:
 683  -live- %i0, %r0, %r1, %r2, %r3
 683  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 688  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 693  -live- %i0, %i1, %r0, %r1, %r2, %r3
 693  int_guard_value %i1
 695  goto L10
 698  ---
 698  L7:
 698  goto L16
 701  ---
 701  L5:
 701  -live- %i0, %r0, %r1, %r2, %r3
 701  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 706  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 711  -live- %i0, %i1, %r0, %r1, %r2, %r3
 711  int_guard_value %i1
 713  goto L6
 716  ---
 716  L2:
 716  -live- %i0, %r0, %r1, %r2
 716  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 721  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a9a3fda8> -> %i1
 726  -live- %i0, %i1, %r0, %r1, %r3
 726  int_guard_value %i1
 728  goto L3
