   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  ref_return %r0
   6  ---
   6  L1:
   6  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r1
  11  -live- %i0, %r0, %r1
  11  guard_class %r1 -> %i1
  14  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
  19  -live- %i0, %i1, %r0, %r1
  19  switch %i1, <SwitchDictDescr 0:L2, 1:L3>
  23  unreachable
  24  ---
  24  L2:
  24  -live- %i0, %r0, %r1
  24  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
  29  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
  34  -live- %i0, %i1, %r0, %r4
  34  int_guard_value %i1
  36  L4:
  36  inline_call_r_r <JitCode '_shape_agreement'>, R[%r0, %r4] -> %r3
  43  -live- %i0, %r0, %r3, %r4
  43  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
  48  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i2
  53  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i3
  58  -live- %i0, %i1, %i2, %i3, %r0, %r3, %r4
  58  goto_if_not_int_gt %i2, %i3, L5
  63  int_copy %i2 -> %i3
  66  L6:
  66  -live- %i0, %i1, %i3, %r0, %r3, %r4
  66  goto_if_not_int_lt %i1, %i3, L7
  71  residual_call_r_r $<* fn format_shape>, R[%r0], <CallDescr(r) EF=5> -> %r1
  78  -live- %r1, %r4
  78  residual_call_r_r $<* fn format_shape>, R[%r4], <CallDescr(r) EF=5> -> %r0
  85  -live- %r0, %r1
  85  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50> -> %r2
  90  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
  96  -live- %r0, %r1, %r2
  96  goto_if_not_ptr_nonzero %r1, L8
 100  L9:
 100  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 106  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 112  -live- %r0, %r2
 112  goto_if_not_ptr_nonzero %r0, L10
 116  L11:
 116  setarrayitem_gc_r %r2, $3, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 122  setarrayitem_gc_r %r2, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 128  ref_isvirtual %r2 -> %i1
 131  -live- %i1, %r2
 131  goto_if_not %i1, L12
 135  inline_call_ir_r <JitCode 'll_join_strs__v977___simple_call__function_l'>, I[$5], R[%r2] -> %r0
 143  -live- %r0
 143  L13:
 143  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff5b593550> -> %r1
 147  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 152  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff66b922d0> -> %r0
 156  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 161  setfield_gc_r %r0, %r1, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 166  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 171  -live- %r0
 171  raise %r0
 173  ---
 173  L12:
 173  int_isconstant $5 -> %i1
 176  -live- %i1, %r2
 176  goto_if_not %i1, L14
 180  L15:
 180  residual_call_ir_r $<* fn ll_join_strs_trampoline__v982___simple_call__function_l>, I[$5], R[%r2], <CallDescr(ir) EF=5> -> %r0
 189  -live- %r0
 189  goto L13
 192  ---
 192  L14:
 192  goto L15
 195  ---
 195  L10:
 195  ref_copy $<* struct rpy_string> -> %r0
 198  goto L11
 201  ---
 201  L8:
 201  ref_copy $<* struct rpy_string> -> %r1
 204  goto L9
 207  ---
 207  L7:
 207  -live- %i0, %r0, %r3, %r4
 207  goto_if_not %i0, L16
 211  ref_return %r3
 213  ---
 213  L16:
 213  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff42786250>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r2
 224  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 229  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r1
 234  setfield_gc_r %r2, %r1, FieldDescr<list.items>
 239  int_copy $0 -> %i0
 242  L17:
 242  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 247  -live- %i0, %i1, %r0, %r2, %r3, %r4
 247  goto_if_not_int_ge %i0, %i1, L18
 252  getfield_gc_i %r2, FieldDescr<list.length> -> %i1
 257  getfield_gc_r %r2, FieldDescr<list.items> -> %r1
 262  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i0
 267  -live- %i0, %i1, %r0, %r1, %r3, %r4
 267  goto_if_not_int_eq %i1, %i0, L19
 272  ref_copy %r1 -> %r2
 275  L20:
 275  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i0
 280  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff42786250>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r2
 291  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 296  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r1
 301  setfield_gc_r %r2, %r1, FieldDescr<list.items>
 306  int_copy $0 -> %i2
 309  L21:
 309  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 314  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 314  goto_if_not_int_ge %i2, %i1, L22
 319  getfield_gc_i %r2, FieldDescr<list.length> -> %i1
 324  getfield_gc_r %r2, FieldDescr<list.items> -> %r1
 329  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i2
 334  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 334  goto_if_not_int_eq %i1, %i2, L23
 339  ref_copy %r1 -> %r2
 342  L24:
 342  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 347  -live- %i0, %i1, %r0, %r3, %r4
 347  goto_if_not_int_gt %i0, %i1, L25
 352  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff417bed10>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %r2
 363  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 368  new_array_clear %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %r1
 373  setfield_gc_r %r2, %r1, FieldDescr<list.items>
 378  int_copy $0 -> %i0
 381  L26:
 381  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 386  -live- %i0, %i1, %r0, %r2, %r4
 386  goto_if_not_int_ge %i0, %i1, L27
 391  getfield_gc_r %r2, FieldDescr<list.items> -> %r1
 396  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %i1
 401  residual_call_ir_r $<* fn ll_join__rpy_stringPtr_Signed_arrayPtr>, I[%i1], R[$<* struct rpy_string>, %r1], <CallDescr(rir) EF=5> -> %r0
 411  -live- %r0, %r4
 411  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff417bed10>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %r2
 422  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 427  new_array_clear %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %r1
 432  setfield_gc_r %r2, %r1, FieldDescr<list.items>
 437  int_copy $0 -> %i0
 440  L28:
 440  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 445  -live- %i0, %i1, %r0, %r2, %r4
 445  goto_if_not_int_ge %i0, %i1, L29
 450  getfield_gc_r %r2, FieldDescr<list.items> -> %r1
 455  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %i1
 460  residual_call_ir_r $<* fn ll_join__rpy_stringPtr_Signed_arrayPtr>, I[%i1], R[$<* struct rpy_string>, %r1], <CallDescr(rir) EF=5> -> %r1
 470  -live- %r0, %r1
 470  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50> -> %r2
 475  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 481  -live- %r0, %r1, %r2
 481  goto_if_not_ptr_nonzero %r0, L30
 485  L31:
 485  setarrayitem_gc_r %r2, $1, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 491  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 497  -live- %r1, %r2
 497  goto_if_not_ptr_nonzero %r1, L32
 501  L33:
 501  setarrayitem_gc_r %r2, $3, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 507  setarrayitem_gc_r %r2, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 513  ref_isvirtual %r2 -> %i1
 516  -live- %i1, %r2
 516  goto_if_not %i1, L34
 520  inline_call_ir_r <JitCode 'll_join_strs__v977___simple_call__function_l'>, I[$5], R[%r2] -> %r0
 528  -live- %r0
 528  L35:
 528  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff5b593550> -> %r1
 532  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 537  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff66b922d0> -> %r0
 541  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 546  setfield_gc_r %r0, %r1, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 551  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 556  -live- %r0
 556  raise %r0
 558  ---
 558  L34:
 558  int_isconstant $5 -> %i1
 561  -live- %i1, %r2
 561  goto_if_not %i1, L36
 565  L37:
 565  residual_call_ir_r $<* fn ll_join_strs_trampoline__v982___simple_call__function_l>, I[$5], R[%r2], <CallDescr(ir) EF=5> -> %r0
 574  -live- %r0
 574  goto L35
 577  ---
 577  L36:
 577  goto L37
 580  ---
 580  L32:
 580  ref_copy $<* struct rpy_string> -> %r1
 583  goto L33
 586  ---
 586  L30:
 586  ref_copy $<* struct rpy_string> -> %r0
 589  goto L31
 592  ---
 592  L29:
 592  int_copy %i0 -> %i1
 595  ref_copy %r4 -> %r1
 598  int_add %i1, $1 -> %i0
 602  getarrayitem_gc_i %r1, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 608  residual_call_ir_r $<* fn ll_str__IntegerR_SignedConst_Signed>, I[%i1], R[], <CallDescr(i) EF=3> -> %r1
 616  -live- %i0, %r0, %r1, %r2, %r4
 616  getfield_gc_i %r2, FieldDescr<list.length> -> %i1
 621  int_add %i1, $1 -> %i2
 625  setfield_gc_i %r2, %i2, FieldDescr<list.length>
 630  setlistitem_gc_r %r2, %i1, %r1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550>
 638  goto L28
 641  ---
 641  L27:
 641  int_copy %i0 -> %i1
 644  ref_copy %r0 -> %r1
 647  int_add %i1, $1 -> %i0
 651  getarrayitem_gc_i %r1, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 657  residual_call_ir_r $<* fn ll_str__IntegerR_SignedConst_Signed>, I[%i1], R[], <CallDescr(i) EF=3> -> %r1
 665  -live- %i0, %r0, %r1, %r2, %r4
 665  getfield_gc_i %r2, FieldDescr<list.length> -> %i1
 670  int_add %i1, $1 -> %i2
 674  setfield_gc_i %r2, %i2, FieldDescr<list.length>
 679  setlistitem_gc_r %r2, %i1, %r1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550>
 687  goto L26
 690  ---
 690  L25:
 690  ref_return %r3
 692  ---
 692  L23:
 692  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r2
 697  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i1], R[%r1, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 708  goto L24
 711  ---
 711  L22:
 711  int_copy %i2 -> %i1
 714  ref_copy %r4 -> %r1
 717  int_add %i1, $1 -> %i2
 721  getarrayitem_gc_i %r1, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 727  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 727  goto_if_not_int_ne %i1, $1, L38
 732  getfield_gc_i %r2, FieldDescr<list.length> -> %i3
 737  int_add %i3, $1 -> %i4
 741  setfield_gc_i %r2, %i4, FieldDescr<list.length>
 746  setlistitem_gc_i %r2, %i3, %i1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710>
 754  goto L21
 757  ---
 757  L38:
 757  goto L21
 760  ---
 760  L19:
 760  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %r2
 765  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i1], R[%r1, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 776  goto L20
 779  ---
 779  L18:
 779  int_copy %i0 -> %i1
 782  ref_copy %r3 -> %r1
 785  int_add %i1, $1 -> %i0
 789  getarrayitem_gc_i %r1, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710> -> %i1
 795  -live- %i0, %i1, %r0, %r2, %r3, %r4
 795  goto_if_not_int_ne %i1, $1, L39
 800  getfield_gc_i %r2, FieldDescr<list.length> -> %i2
 805  int_add %i2, $1 -> %i3
 809  setfield_gc_i %r2, %i3, FieldDescr<list.length>
 814  setlistitem_gc_i %r2, %i2, %i1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42ab5710>
 822  goto L17
 825  ---
 825  L39:
 825  goto L17
 828  ---
 828  L5:
 828  goto L6
 831  ---
 831  L3:
 831  -live- %i0, %r0, %r1
 831  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 836  goto L4
