   0  -live- %i0, %i1, %i2, %r0
   3  guard_class %r0 -> %i3
   6  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
  11  -live- %i0, %i1, %i2, %i3, %r0
  14  switch %i3, <SwitchDictDescr 0:L1, 1:L2>
  18  unreachable
  19  ---
  19  L1:
  19  -live- %i0, %i1, %i2, %r0
  22  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  27  L3:
  27  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i5
  32  -live- %i0, %i1, %i2, %i5, %r0, %r3
  35  goto_if_not_int_lt %i0, $0, L4
  40  int_push %i2
  42  int_copy %i1 -> %i2
  45  int_pop -> %i1
  47  int_neg %i0 -> %i0
  50  L5:
  50  getarrayitem_gc_i %r3, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i3
  56  getarrayitem_gc_i %r3, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i4
  62  int_sub %i4, %i0 -> %i4
  66  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
  69  goto_if_not_int_lt %i3, %i4, L6
  74  int_copy %i3 -> %i4
  77  L7:
  77  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3
  80  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  86  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  91  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3, %r4
  94  goto_if_not_int_lt %i1, %i2, L8
  99  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i3
 104  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
 107  goto_if_not_int_gt %i1, %i3, L9
 112  int_copy %i1 -> %i6
 115  int_copy %i3 -> %i1
 118  L10:
 118  int_sub %i1, $0 -> %i3
 122  new_array %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r1
 127  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i3], R[%r3, %r1], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 138  int_add %i6, $1 -> %i1
 142  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i3
 147  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 150  goto_if_not_int_gt %i2, %i3, L11
 155  int_push %i3
 157  int_copy %i2 -> %i3
 160  int_pop -> %i2
 162  L12:
 162  int_sub %i2, %i1 -> %i2
 166  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r2
 171  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i1, $0, %i2], R[%r3, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 182  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 189  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 192  int_add %i3, $1 -> %i2
 196  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i1
 201  int_sub %i1, %i2 -> %i1
 205  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r2
 210  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i2, $0, %i1], R[%r3, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 221  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 228  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 231  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r1
 236  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408>
 242  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 249  L13:
 249  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 252  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r4, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r1
 263  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 266  goto_if_not_int_is_zero %i4, L14
 270  ref_return %r1
 272  ---
 272  L14:
 272  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 275  goto_if_not_int_eq %i5, $2, L15
 280  inline_call_ir_v <JitCode 'diagonal_simple'>, I[%i0, %i6, %i3, %i4], R[%r0, %r1]
 291  -live- %r1
 294  ref_return %r1
 296  ---
 296  L15:
 296  residual_call_ir_v $<* fn diagonal_array>, I[%i0, %i6, %i3], R[%r0, %r1, %r3], <CallDescr(rriiir) EF=7>
 308  -live- %r1
 311  ref_return %r1
 313  ---
 313  L11:
 313  int_copy %i2 -> %i3
 316  goto L12
 319  ---
 319  L9:
 319  int_copy %i1 -> %i6
 322  goto L10
 325  ---
 325  L8:
 325  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i3
 330  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
 333  goto_if_not_int_gt %i2, %i3, L16
 338  int_push %i3
 340  int_copy %i2 -> %i3
 343  int_pop -> %i2
 345  L17:
 345  int_sub %i2, $0 -> %i2
 349  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r1
 354  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[$0, $0, %i2], R[%r3, %r1], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 365  int_add %i3, $1 -> %i2
 369  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i6
 374  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 377  goto_if_not_int_gt %i1, %i6, L18
 382  int_push %i6
 384  int_copy %i1 -> %i6
 387  int_pop -> %i1
 389  L19:
 389  int_sub %i1, %i2 -> %i1
 393  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r2
 398  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i2, $0, %i1], R[%r3, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 409  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 416  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 419  int_add %i6, $1 -> %i2
 423  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i1
 428  int_sub %i1, %i2 -> %i1
 432  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r2
 437  residual_call_ir_v $<* fn ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed>, I[%i2, $0, %i1], R[%r3, %r2], <CallDescr(rriii) EF=2 OS_ARRAYCOPY>
 448  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 455  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 458  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %r1
 463  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408>
 469  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 476  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 479  goto L13
 482  ---
 482  L18:
 482  int_copy %i1 -> %i6
 485  goto L19
 488  ---
 488  L16:
 488  int_copy %i2 -> %i3
 491  goto L17
 494  ---
 494  L6:
 494  goto L7
 497  ---
 497  L4:
 497  goto L5
 500  ---
 500  L2:
 500  -live- %i0, %i1, %i2, %r0
 503  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 508  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i3
 513  -live- %i0, %i1, %i2, %i3, %r0, %r3
 516  int_guard_value %i3
 518  goto L3
