   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 0x42e13ad0> -> %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 0x42e13ad0> -> %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 0x42e13ad0> -> %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 -> %r5
 175  int_add %i2, $1 -> %i1
 179  getlistitem_gc_r %r2, %i2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %r4
 187  getfield_gc_r %r4, 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 0x4dff0910> -> %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, %r2, %r3, %r4, %r5
 273  goto_if_not_int_eq %i2, $'i', L18
 278  L19:
 278  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r4] -> %r2
 284  -live- %i0, %i1, %r0, %r1, %r2, %r5
 287  guard_class %r2 -> %i2
 290  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_min_dtype> -> %i2
 295  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r5
 298  int_guard_value %i2
 300  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r2
 307  -live- %i0, %i1, %r0, %r1, %r2, %r5
 310  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
 315  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 320  int_ne %i3, %i2 -> %i2
 324  residual_call_ir_r $<* fn num2dtype>, I[%i3], R[], <CallDescr(i) EF=4> -> %r3
 332  L20:
 332  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r5
 335  goto_if_not_ptr_iszero %r5, L21
 339  goto L9
 342  ---
 342  L21:
 342  inline_call_ir_r <JitCode '_promote_types_su'>, I[%i0, %i2], R[%r5, %r3] -> %r2
 352  -live- %i1, %r0, %r1, %r2
 355  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 360  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 365  goto L9
 368  ---
 368  L18:
 368  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 371  guard_class %r2 -> %i2
 374  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 379  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 382  goto_if_not_int_eq %i2, $'u', L22
 387  goto L19
 390  ---
 390  L22:
 390  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 393  guard_class %r2 -> %i2
 396  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 401  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 404  goto_if_not_int_eq %i2, $'b', L23
 409  goto L19
 412  ---
 412  L23:
 412  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 415  guard_class %r2 -> %i2
 418  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 423  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 426  goto_if_not_int_eq %i2, $'f', L24
 431  goto L19
 434  ---
 434  L24:
 434  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 437  guard_class %r2 -> %i2
 440  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 445  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 448  goto_if_not_int_eq %i2, $'c', L25
 453  goto L19
 456  ---
 456  L25:
 456  int_copy $False -> %i2
 459  goto L20
 462  ---
 462  L17:
 462  int_copy $False -> %i2
 465  goto L20
 468  ---
 468  L15:
 468  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 471  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 476  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4dff0910> -> %i2
 481  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 484  int_guard_value %i2
 486  goto L16
 489  ---
 489  L8:
 489  int_copy $0 -> %i1
 492  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
 495  L26:
 495  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
 500  -live- %i0, %i1, %r0, %r1, %r3
 503  goto_if_not_int_ge %i1, %i0, L27
 508  int_copy $0 -> %i1
 511  L28:
 511  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %i0
 516  -live- %i0, %i1, %r1, %r3
 519  goto_if_not_int_ge %i1, %i0, L29
 524  ref_return %r3
 526  ---
 526  L29:
 526  int_copy %i1 -> %i0
 529  ref_copy %r1 -> %r0
 532  ref_copy %r3 -> %r2
 535  int_add %i0, $1 -> %i1
 539  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %r3
 545  -live- %i1, %r1, %r2, %r3
 548  goto_if_not_ptr_iszero %r2, L30
 552  goto L28
 555  ---
 555  L30:
 555  inline_call_r_r <JitCode 'promote_types'>, R[%r2, %r3] -> %r3
 562  -live- %i1, %r1, %r3
 565  goto L28
 568  ---
 568  L27:
 568  int_copy %i1 -> %i0
 571  ref_copy %r0 -> %r2
 574  int_add %i0, $1 -> %i1
 578  getlistitem_gc_r %r2, %i0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %r2
 586  -live- %i1, %r0, %r1, %r2, %r3
 589  goto_if_not_ptr_iszero %r3, L31
 593  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 598  -live- %i1, %r0, %r1, %r2
 601  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 607  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 612  goto L26
 615  ---
 615  L31:
 615  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 620  -live- %i1, %r0, %r1, %r2, %r3
 623  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 629  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 634  inline_call_r_r <JitCode 'promote_types'>, R[%r3, %r2] -> %r3
 641  -live- %i1, %r0, %r1, %r3
 644  goto L26
 647  ---
 647  L6:
 647  L32:
 647  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %i0
 652  -live- %i0, %r0, %r1
 655  goto_if_not_int_eq %i0, $1, L33
 660  getarrayitem_gc_r_pure %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %r3
 666  ref_return %r3
 668  ---
 668  L33:
 668  goto L7
 671  ---
 671  L5:
 671  goto L32
 674  ---
 674  L3:
 674  L34:
 674  getlistitem_gc_r %r0, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x42e13ad0> -> %r2
 682  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 687  -live- %r2
 690  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 696  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 701  ref_return %r3
 703  ---
 703  L2:
 703  goto L34
 706  ---
 706  L1:
 706  goto L4
