   0  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
   5  -live- %i0, %r0, %r1
   5  goto_if_not_int_eq %i0, $1, L1
  10  -live- %r0, %r1
  10  goto_if_not_ptr_nonzero %r1, L2
  14  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %i0
  19  -live- %i0, %r0, %r1
  19  goto_if_not_int_is_true %i0, L3
  23  L4:
  23  -live- %r0, %r1
  23  goto_if_not_ptr_nonzero %r0, L5
  27  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  32  -live- %i0, %r0, %r1
  32  goto_if_not_int_is_true %i0, L6
  36  L7:
  36  inline_call_r_i <JitCode '_use_min_scalar'>, R[%r0, %r1] -> %i0
  43  -live- %i0, %r0, %r1
  43  -live- %i0, %r0, %r1
  43  goto_if_not %i0, L8
  47  int_copy $0 -> %i1
  50  int_copy $False -> %i2
  53  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
  56  L9:
  56  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  61  -live- %i0, %i1, %i2, %r0, %r1, %r3
  61  goto_if_not_int_ge %i1, %i0, L10
  66  int_copy $0 -> %i1
  69  L11:
  69  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %i0
  74  -live- %i0, %i1, %i2, %r1, %r3
  74  goto_if_not_int_ge %i1, %i0, L12
  79  ref_return %r3
  81  ---
  81  L12:
  81  int_copy %i1 -> %i0
  84  ref_copy %r1 -> %r0
  87  ref_copy %r3 -> %r2
  90  int_add %i0, $1 -> %i1
  94  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r3
 100  -live- %i1, %i2, %r1, %r2, %r3
 100  goto_if_not_ptr_iszero %r2, L13
 104  int_copy $False -> %i2
 107  goto L11
 110  ---
 110  L13:
 110  inline_call_ir_r <JitCode '_promote_types_su'>, I[%i2, $False], R[%r2, %r3] -> %r2
 120  -live- %i1, %r1, %r2
 120  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 125  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 130  goto L11
 133  ---
 133  L10:
 133  int_copy %i2 -> %i0
 136  int_copy %i1 -> %i2
 139  ref_copy %r0 -> %r2
 142  ref_copy %r3 -> %r5
 145  int_add %i2, $1 -> %i1
 149  getlistitem_gc_r %r2, %i2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r4
 157  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 162  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 162  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 168  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 173  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 173  guard_class %r2 -> %i2
 176  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i2
 181  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 181  switch %i2, <SwitchDictDescr 0:L14, 1:L15>
 185  unreachable
 186  ---
 186  L14:
 186  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 186  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 191  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i2
 196  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 196  int_guard_value %i2
 198  L16:
 198  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x6f1fb910> -> %i2
 203  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 203  goto_if_not_int_is_zero %i2, L17
 207  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5
 207  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 213  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 218  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 218  guard_class %r2 -> %i2
 221  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 226  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 226  goto_if_not_int_eq %i2, $'i', L18
 231  L19:
 231  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r4] -> %r2
 237  -live- %i0, %i1, %r0, %r1, %r2, %r5
 237  -live- %i0, %i1, %r0, %r1, %r2, %r5
 237  guard_class %r2 -> %i2
 240  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_min_dtype> -> %i2
 245  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r5
 245  int_guard_value %i2
 247  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r2
 254  -live- %i0, %i1, %r0, %r1, %r2, %r5
 254  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
 259  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 264  int_ne %i3, %i2 -> %i2
 268  residual_call_ir_r $<* fn num2dtype>, I[%i3], R[], <CallDescr(i) EF=4> -> %r3
 276  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r5
 276  L20:
 276  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r5
 276  goto_if_not_ptr_iszero %r5, L21
 280  goto L9
 283  ---
 283  L21:
 283  inline_call_ir_r <JitCode '_promote_types_su'>, I[%i0, %i2], R[%r5, %r3] -> %r2
 293  -live- %i1, %r0, %r1, %r2
 293  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 298  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
 303  goto L9
 306  ---
 306  L18:
 306  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 306  guard_class %r2 -> %i2
 309  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 314  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 314  goto_if_not_int_eq %i2, $'u', L22
 319  goto L19
 322  ---
 322  L22:
 322  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 322  guard_class %r2 -> %i2
 325  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 330  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 330  goto_if_not_int_eq %i2, $'b', L23
 335  goto L19
 338  ---
 338  L23:
 338  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 338  guard_class %r2 -> %i2
 341  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 346  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 346  goto_if_not_int_eq %i2, $'f', L24
 351  goto L19
 354  ---
 354  L24:
 354  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 354  guard_class %r2 -> %i2
 357  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 362  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 362  goto_if_not_int_eq %i2, $'c', L25
 367  goto L19
 370  ---
 370  L25:
 370  int_copy $False -> %i2
 373  goto L20
 376  ---
 376  L17:
 376  int_copy $False -> %i2
 379  goto L20
 382  ---
 382  L15:
 382  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
 382  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 387  goto L16
 390  ---
 390  L8:
 390  int_copy $0 -> %i1
 393  ref_copy $<* struct pypy.module.micronumpy.descriptor.W_Dtype> -> %r3
 396  L26:
 396  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
 401  -live- %i0, %i1, %r0, %r1, %r3
 401  goto_if_not_int_ge %i1, %i0, L27
 406  int_copy $0 -> %i1
 409  L28:
 409  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %i0
 414  -live- %i0, %i1, %r1, %r3
 414  goto_if_not_int_ge %i1, %i0, L29
 419  ref_return %r3
 421  ---
 421  L29:
 421  int_copy %i1 -> %i0
 424  ref_copy %r1 -> %r0
 427  ref_copy %r3 -> %r2
 430  int_add %i0, $1 -> %i1
 434  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r3
 440  -live- %i1, %r1, %r2, %r3
 440  goto_if_not_ptr_iszero %r2, L30
 444  goto L28
 447  ---
 447  L30:
 447  inline_call_r_r <JitCode 'promote_types'>, R[%r2, %r3] -> %r3
 454  -live- %i1, %r1, %r3
 454  goto L28
 457  ---
 457  L27:
 457  int_copy %i1 -> %i0
 460  ref_copy %r0 -> %r2
 463  int_add %i0, $1 -> %i1
 467  getlistitem_gc_r %r2, %i0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r2
 475  -live- %i1, %r0, %r1, %r2, %r3
 475  goto_if_not_ptr_iszero %r3, L31
 479  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 484  -live- %i1, %r0, %r1, %r2
 484  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 490  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 495  goto L26
 498  ---
 498  L31:
 498  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 503  -live- %i1, %r0, %r1, %r2, %r3
 503  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 509  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 514  inline_call_r_r <JitCode 'promote_types'>, R[%r3, %r2] -> %r3
 521  -live- %i1, %r0, %r1, %r3
 521  goto L26
 524  ---
 524  L6:
 524  L32:
 524  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %i0
 529  -live- %i0, %r0, %r1
 529  goto_if_not_int_eq %i0, $1, L33
 534  getarrayitem_gc_r_pure %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r3
 540  ref_return %r3
 542  ---
 542  L33:
 542  goto L7
 545  ---
 545  L5:
 545  goto L32
 548  ---
 548  L3:
 548  L34:
 548  getlistitem_gc_r %r0, $0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7f3f4990> -> %r2
 556  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 561  -live- %r2
 561  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 567  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 572  ref_return %r3
 574  ---
 574  L2:
 574  goto L34
 577  ---
 577  L1:
 577  goto L4
