   0  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
   5  -live- %i0, %r0, %r1
   8  goto_if_not_int_eq %i0, $1, L1
  13  -live- %r0, %r1
  16  goto_if_not_ptr_nonzero %r1, L2
  20  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %i0
  25  -live- %i0, %r0, %r1
  28  goto_if_not_int_is_true %i0, L3
  32  L4:
  32  -live- %r0, %r1
  35  goto_if_not_ptr_nonzero %r0, L5
  39  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  44  -live- %i0, %r0, %r1
  47  goto_if_not_int_is_true %i0, L6
  51  L7:
  51  inline_call_r_i <JitCode '_use_min_scalar'>, R[%r0, %r1] -> %i0
  58  -live- %i0, %r0, %r1
  61  goto_if_not %i0, L8
  65  int_copy $0 -> %i1
  68  int_copy $False -> %i2
  71  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
  74  L9:
  74  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  79  -live- %i0, %i1, %i2, %r0, %r1, %r3
  82  goto_if_not_int_ge %i1, %i0, L10
  87  int_copy $0 -> %i1
  90  L11:
  90  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %i0
  95  -live- %i0, %i1, %i2, %r1, %r3
  98  goto_if_not_int_ge %i1, %i0, L12
 103  ref_return %r3
 105  ---
 105  L12:
 105  int_copy %i1 -> %i0
 108  ref_copy %r1 -> %r0
 111  ref_copy %r3 -> %r2
 114  int_add %i0, $1 -> %i1
 118  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r3
 124  -live- %i1, %i2, %r1, %r2, %r3
 127  goto_if_not_ptr_iszero %r2, L13
 131  int_copy $False -> %i2
 134  goto L11
 137  ---
 137  L13:
 137  inline_call_ir_r <JitCode '_promote_types_su'>, I[%i2, $False], R[%r2, %r3] -> %r2
 147  -live- %i1, %r1, %r2
 150  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 155  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 160  goto L11
 163  ---
 163  L10:
 163  int_copy %i2 -> %i0
 166  int_copy %i1 -> %i2
 169  ref_copy %r0 -> %r2
 172  ref_copy %r3 -> %r4
 175  int_add %i2, $1 -> %i1
 179  getlistitem_gc_r %r2, %i2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r5
 187  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 192  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 195  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 201  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 206  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 209  guard_class %r2 -> %i2
 212  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 217  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 220  switch %i2, <SwitchDictDescr 0:L14, 1:L15>
 224  unreachable
 225  ---
 225  L14:
 225  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 228  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 233  L16:
 233  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i2
 238  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 241  goto_if_not_int_is_zero %i2, L17
 245  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5
 248  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 254  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 259  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 262  guard_class %r2 -> %i2
 265  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 270  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 273  switch %i2, <SwitchDictDescr 98:L18, 99:L19, 102:L20, 105:L21, 117:L22>
 277  int_copy $False -> %i2
 280  L23:
 280  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 283  goto_if_not_ptr_iszero %r4, L24
 287  goto L9
 290  ---
 290  L24:
 290  inline_call_ir_r <JitCode '_promote_types_su'>, I[%i0, %i2], R[%r4, %r3] -> %r2
 300  -live- %i1, %r0, %r1, %r2
 303  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 308  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 313  goto L9
 316  ---
 316  L18:
 316  L25:
 316  -live- %i0, %i1, %r0, %r1, %r4, %r5
 319  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r5] -> %r2
 325  -live- %i0, %i1, %r0, %r1, %r2, %r4
 328  guard_class %r2 -> %i2
 331  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_min_dtype> -> %i2
 336  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r4
 339  int_guard_value %i2
 341  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r2
 348  -live- %i0, %i1, %r0, %r1, %r2, %r4
 351  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
 356  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 361  int_ne %i3, %i2 -> %i2
 365  residual_call_ir_r $<* fn num2dtype>, I[%i3], R[], <CallDescr(i) EF=4> -> %r3
 373  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4
 376  goto L23
 379  ---
 379  L19:
 379  -live- %i0, %i1, %r0, %r1, %r4, %r5
 382  goto L25
 385  ---
 385  L20:
 385  -live- %i0, %i1, %r0, %r1, %r4, %r5
 388  goto L25
 391  ---
 391  L21:
 391  -live- %i0, %i1, %r0, %r1, %r4, %r5
 394  goto L25
 397  ---
 397  L22:
 397  -live- %i0, %i1, %r0, %r1, %r4, %r5
 400  goto L25
 403  ---
 403  L17:
 403  int_copy $False -> %i2
 406  goto L23
 409  ---
 409  L15:
 409  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 412  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 417  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i2
 422  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 425  int_guard_value %i2
 427  goto L16
 430  ---
 430  L8:
 430  int_copy $0 -> %i1
 433  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
 436  L26:
 436  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
 441  -live- %i0, %i1, %r0, %r1, %r3
 444  goto_if_not_int_ge %i1, %i0, L27
 449  int_copy $0 -> %i1
 452  L28:
 452  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %i0
 457  -live- %i0, %i1, %r1, %r3
 460  goto_if_not_int_ge %i1, %i0, L29
 465  ref_return %r3
 467  ---
 467  L29:
 467  int_copy %i1 -> %i0
 470  ref_copy %r1 -> %r0
 473  ref_copy %r3 -> %r2
 476  int_add %i0, $1 -> %i1
 480  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r3
 486  -live- %i1, %r1, %r2, %r3
 489  goto_if_not_ptr_iszero %r2, L30
 493  goto L28
 496  ---
 496  L30:
 496  inline_call_r_r <JitCode 'promote_types'>, R[%r2, %r3] -> %r3
 503  -live- %i1, %r1, %r3
 506  goto L28
 509  ---
 509  L27:
 509  int_copy %i1 -> %i0
 512  ref_copy %r0 -> %r2
 515  int_add %i0, $1 -> %i1
 519  getlistitem_gc_r %r2, %i0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r2
 527  -live- %i1, %r0, %r1, %r2, %r3
 530  goto_if_not_ptr_iszero %r3, L31
 534  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 539  -live- %i1, %r0, %r1, %r2
 542  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 548  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 553  goto L26
 556  ---
 556  L31:
 556  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 561  -live- %i1, %r0, %r1, %r2, %r3
 564  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 570  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 575  inline_call_r_r <JitCode 'promote_types'>, R[%r3, %r2] -> %r3
 582  -live- %i1, %r0, %r1, %r3
 585  goto L26
 588  ---
 588  L6:
 588  L32:
 588  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %i0
 593  -live- %i0, %r0, %r1
 596  goto_if_not_int_eq %i0, $1, L33
 601  getarrayitem_gc_r_pure %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r3
 607  ref_return %r3
 609  ---
 609  L33:
 609  goto L7
 612  ---
 612  L5:
 612  goto L32
 615  ---
 615  L3:
 615  L34:
 615  getlistitem_gc_r %r0, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r2
 623  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 628  -live- %r2
 631  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 637  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 642  ref_return %r3
 644  ---
 644  L2:
 644  goto L34
 647  ---
 647  L1:
 647  goto L4
