   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  L3:
  18  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i5
  23  -live- %i0, %i1, %i2, %i5, %r0, %r3
  23  goto_if_not_int_lt %i0, $0, L4
  28  int_push %i2
  30  int_copy %i1 -> %i2
  33  int_pop -> %i1
  35  int_neg %i0 -> %i0
  38  L5:
  38  getarrayitem_gc_i %r3, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i3
  44  getarrayitem_gc_i %r3, %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i4
  50  int_sub %i4, %i0 -> %i4
  54  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
  54  goto_if_not_int_lt %i3, %i4, L6
  59  int_copy %i3 -> %i4
  62  L7:
  62  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3
  62  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  68  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  73  -live- %i0, %i1, %i2, %i4, %i5, %r0, %r3, %r4
  73  goto_if_not_int_lt %i1, %i2, L8
  78  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i3
  83  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
  83  goto_if_not_int_gt %i1, %i3, L9
  88  int_copy %i1 -> %i6
  91  int_copy %i3 -> %i1
  94  L10:
  94  int_sub %i1, $0 -> %i3
  98  new_array %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r1
 103  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>
 114  int_add %i6, $1 -> %i1
 118  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i3
 123  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 123  goto_if_not_int_gt %i2, %i3, L11
 128  int_push %i3
 130  int_copy %i2 -> %i3
 133  int_pop -> %i2
 135  L12:
 135  int_sub %i2, %i1 -> %i2
 139  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r2
 144  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>
 155  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 162  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 162  int_add %i3, $1 -> %i2
 166  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i1
 171  int_sub %i1, %i2 -> %i1
 175  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r2
 180  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>
 191  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 198  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 198  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r1
 203  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710>
 209  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 216  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 216  L13:
 216  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r4, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r1
 227  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 227  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 227  goto_if_not_int_is_zero %i4, L14
 231  ref_return %r1
 233  ---
 233  L14:
 233  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3
 233  goto_if_not_int_eq %i5, $2, L15
 238  inline_call_ir_v <JitCode 'diagonal_simple'>, I[%i0, %i6, %i3, %i4], R[%r0, %r1]
 249  -live- %r1
 249  ref_return %r1
 251  ---
 251  L15:
 251  residual_call_ir_v $<* fn diagonal_array>, I[%i0, %i6, %i3], R[%r0, %r1, %r3], <CallDescr(rriiir) EF=7>
 263  -live- %r1
 263  ref_return %r1
 265  ---
 265  L11:
 265  int_copy %i2 -> %i3
 268  goto L12
 271  ---
 271  L9:
 271  int_copy %i1 -> %i6
 274  goto L10
 277  ---
 277  L8:
 277  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i3
 282  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3, %r4
 282  goto_if_not_int_gt %i2, %i3, L16
 287  int_push %i3
 289  int_copy %i2 -> %i3
 292  int_pop -> %i2
 294  L17:
 294  int_sub %i2, $0 -> %i2
 298  new_array %i2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r1
 303  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>
 314  int_add %i3, $1 -> %i2
 318  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i6
 323  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 323  goto_if_not_int_gt %i1, %i6, L18
 328  int_push %i6
 330  int_copy %i1 -> %i6
 333  int_pop -> %i1
 335  L19:
 335  int_sub %i1, %i2 -> %i1
 339  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r2
 344  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>
 355  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r1
 362  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r1, %r3, %r4
 362  int_add %i6, $1 -> %i2
 366  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i1
 371  int_sub %i1, %i2 -> %i1
 375  new_array %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r2
 380  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>
 391  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r1, %r2] -> %r3
 398  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 398  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %r1
 403  setarrayitem_gc_i %r1, $0, %i4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710>
 409  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r3, %r1] -> %r3
 416  -live- %i0, %i3, %i4, %i5, %i6, %r0, %r3, %r4
 416  goto L13
 419  ---
 419  L18:
 419  int_copy %i1 -> %i6
 422  goto L19
 425  ---
 425  L16:
 425  int_copy %i2 -> %i3
 428  goto L17
 431  ---
 431  L6:
 431  goto L7
 434  ---
 434  L4:
 434  goto L5
 437  ---
 437  L2:
 437  -live- %i0, %i1, %i2, %r0
 437  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 442  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i3
 447  -live- %i0, %i1, %i2, %i3, %r0, %r3
 447  int_guard_value %i3
 449  goto L3
