   0  -live- %i0, %i1, %i2, %r0
   0  guard_class %r0 -> %i3
   3  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i3
   8  -live- %i0, %i1, %i2, %i3, %r0
   8  switch %i3, <SwitchDictDescr 0:L1, 1:L2>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %i0, %i1, %i2, %r0
  13  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  18  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i3
  23  -live- %i0, %i1, %i2, %i3, %r0, %r3
  23  int_guard_value %i3
  25  L3:
  25  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i5
  30  -live- %i0, %i1, %i2, %i5, %r0, %r3
  30  goto_if_not_int_lt %i0, $0, L4
  35  int_push %i2
  37  int_copy %i1 -> %i2
  40  int_pop -> %i1
  42  int_neg %i0 -> %i0
  45  L5:
  45  getarrayitem_gc_i %r3, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i3
  51  getarrayitem_gc_i %r3, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i4
  57  int_sub %i4, %i0 -> %i4
  61  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
  61  goto_if_not_int_lt %i3, %i4, L6
  66  int_copy %i3 -> %i4
  69  L7:
  69  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3
  69  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  75  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  80  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3, %r4
  80  goto_if_not_int_lt %i1, %i2, L8
  85  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i3
  90  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
  90  goto_if_not_int_gt %i1, %i3, L9
  95  int_copy %i1 -> %i6
  98  int_copy %i3 -> %i1
 101  L10:
 101  int_sub %i1, $0 -> %i3
 105  new_array %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r1
 110  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>
 121  int_add %i6, $1 -> %i1
 125  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i3
 130  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 130  goto_if_not_int_gt %i2, %i3, L11
 135  int_push %i3
 137  int_copy %i2 -> %i3
 140  int_pop -> %i2
 142  L12:
 142  int_sub %i2, %i1 -> %i2
 146  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r2
 151  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>
 162  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 169  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 169  int_add %i3, $1 -> %i2
 173  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i1
 178  int_sub %i1, %i2 -> %i1
 182  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r2
 187  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>
 198  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 205  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 205  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r1
 210  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910>
 216  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 223  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 223  L13:
 223  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r4, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r1
 234  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 234  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 234  goto_if_not_int_is_zero %i4, L14
 238  ref_return %r1
 240  ---
 240  L14:
 240  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 240  goto_if_not_int_eq %i5, $2, L15
 245  inline_call_ir_v <JitCode 'diagonal_simple'>, I[%i0, %i6, %i3, %i4], R[%r0, %r1]
 256  -live- %r1
 256  ref_return %r1
 258  ---
 258  L15:
 258  residual_call_ir_v $<* fn diagonal_array>, I[%i0, %i6, %i3], R[%r0, %r1, %r3], <CallDescr(rriiir) EF=7>
 270  -live- %r1
 270  ref_return %r1
 272  ---
 272  L11:
 272  int_copy %i2 -> %i3
 275  goto L12
 278  ---
 278  L9:
 278  int_copy %i1 -> %i6
 281  goto L10
 284  ---
 284  L8:
 284  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i3
 289  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
 289  goto_if_not_int_gt %i2, %i3, L16
 294  int_push %i3
 296  int_copy %i2 -> %i3
 299  int_pop -> %i2
 301  L17:
 301  int_sub %i2, $0 -> %i2
 305  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r1
 310  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>
 321  int_add %i3, $1 -> %i2
 325  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i6
 330  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 330  goto_if_not_int_gt %i1, %i6, L18
 335  int_push %i6
 337  int_copy %i1 -> %i6
 340  int_pop -> %i1
 342  L19:
 342  int_sub %i1, %i2 -> %i1
 346  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r2
 351  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>
 362  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 369  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 369  int_add %i6, $1 -> %i2
 373  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i1
 378  int_sub %i1, %i2 -> %i1
 382  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r2
 387  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>
 398  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 405  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 405  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %r1
 410  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910>
 416  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 423  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 423  goto L13
 426  ---
 426  L18:
 426  int_copy %i1 -> %i6
 429  goto L19
 432  ---
 432  L16:
 432  int_copy %i2 -> %i3
 435  goto L17
 438  ---
 438  L6:
 438  goto L7
 441  ---
 441  L4:
 441  goto L5
 444  ---
 444  L2:
 444  -live- %i0, %i1, %i2, %r0
 444  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 449  goto L3
