   0  -live- %r0, %r1
   3  goto_if_not_ptr_nonzero %r0, L1
   7  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  12  -live- %i0, %r0, %r1
  15  goto_if_not_int_is_true %i0, L2
  19  int_copy $0 -> %i1
  22  int_copy $True -> %i2
  25  int_copy $0 -> %i3
  28  int_copy $0 -> %i4
  31  L3:
  31  getfield_gc_i %r0, FieldDescr<list.length> -> %i0
  36  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
  39  goto_if_not_int_ge %i4, %i0, L4
  44  int_copy $0 -> %i4
  47  L5:
  47  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8> -> %i0
  52  -live- %i0, %i1, %i2, %i3, %i4, %r1
  55  goto_if_not_int_ge %i4, %i0, L6
  60  -live- %i1, %i2, %i3
  63  goto_if_not %i2, L7
  67  int_return $False
  69  ---
  69  L7:
  69  int_ge %i3, %i1 -> %i0
  73  int_return %i0
  75  ---
  75  L6:
  75  int_copy %i4 -> %i0
  78  ref_copy %r1 -> %r2
  81  int_add %i0, $1 -> %i4
  85  getarrayitem_gc_r_pure %r2, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8> -> %r2
  91  -live- %i1, %i3, %i4, %r1, %r2
  94  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 100  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 105  -live- %i1, %i3, %i4, %r1, %r2
 108  guard_class %r2 -> %i0
 111  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 116  -live- %i0, %i1, %i3, %i4, %r1
 119  switch %i0, <SwitchDictDescr 79:L8, 83:L9, 85:L10, 86:L11, 97:L12, 98:L13, 99:L14, 102:L15, 105:L16, 117:L17>
 123  raise $<* struct object>
 125  ---
 125  L8:
 125  -live- %i1, %i3, %i4, %r1
 128  int_copy $3 -> %i0
 131  L18:
 131  -live- %i0, %i1, %i3, %i4, %r1
 134  goto_if_not_int_gt %i0, %i3, L19
 139  int_copy $False -> %i2
 142  int_copy %i0 -> %i3
 145  goto L5
 148  ---
 148  L19:
 148  int_copy $False -> %i2
 151  goto L5
 154  ---
 154  L9:
 154  -live- %i1, %i3, %i4, %r1
 157  int_copy $3 -> %i0
 160  goto L18
 163  ---
 163  L10:
 163  -live- %i1, %i3, %i4, %r1
 166  int_copy $3 -> %i0
 169  goto L18
 172  ---
 172  L11:
 172  -live- %i1, %i3, %i4, %r1
 175  int_copy $3 -> %i0
 178  goto L18
 181  ---
 181  L12:
 181  -live- %i1, %i3, %i4, %r1
 184  int_copy $3 -> %i0
 187  goto L18
 190  ---
 190  L13:
 190  -live- %i1, %i3, %i4, %r1
 193  int_copy $0 -> %i0
 196  goto L18
 199  ---
 199  L14:
 199  -live- %i1, %i3, %i4, %r1
 202  int_copy $2 -> %i0
 205  goto L18
 208  ---
 208  L15:
 208  -live- %i1, %i3, %i4, %r1
 211  int_copy $2 -> %i0
 214  goto L18
 217  ---
 217  L16:
 217  -live- %i1, %i3, %i4, %r1
 220  int_copy $1 -> %i0
 223  goto L18
 226  ---
 226  L17:
 226  -live- %i1, %i3, %i4, %r1
 229  int_copy $1 -> %i0
 232  goto L18
 235  ---
 235  L4:
 235  int_copy %i4 -> %i0
 238  ref_copy %r0 -> %r2
 241  int_add %i0, $1 -> %i4
 245  getlistitem_gc_r %r2, %i0, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8> -> %r3
 253  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 258  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 261  guard_class %r2 -> %i0
 264  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 269  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 272  switch %i0, <SwitchDictDescr 0:L20, 1:L21>
 276  unreachable
 277  ---
 277  L20:
 277  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 280  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 285  L22:
 285  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555aab557d00> -> %i0
 290  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r3
 293  goto_if_not_int_is_zero %i0, L23
 297  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 302  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2
 305  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 311  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 316  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2
 319  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 325  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 330  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2
 333  guard_class %r2 -> %i0
 336  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 341  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 344  switch %i0, <SwitchDictDescr 79:L24, 83:L25, 85:L26, 86:L27, 97:L28, 98:L29, 99:L30, 102:L31, 105:L32, 117:L33>
 348  raise $<* struct object>
 350  ---
 350  L24:
 350  -live- %i1, %i2, %i3, %i4, %r0, %r1
 353  int_copy $3 -> %i0
 356  L34:
 356  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 359  goto_if_not_int_gt %i0, %i1, L35
 364  int_copy %i0 -> %i1
 367  goto L3
 370  ---
 370  L35:
 370  goto L3
 373  ---
 373  L25:
 373  -live- %i1, %i2, %i3, %i4, %r0, %r1
 376  int_copy $3 -> %i0
 379  goto L34
 382  ---
 382  L26:
 382  -live- %i1, %i2, %i3, %i4, %r0, %r1
 385  int_copy $3 -> %i0
 388  goto L34
 391  ---
 391  L27:
 391  -live- %i1, %i2, %i3, %i4, %r0, %r1
 394  int_copy $3 -> %i0
 397  goto L34
 400  ---
 400  L28:
 400  -live- %i1, %i2, %i3, %i4, %r0, %r1
 403  int_copy $3 -> %i0
 406  goto L34
 409  ---
 409  L29:
 409  -live- %i1, %i2, %i3, %i4, %r0, %r1
 412  int_copy $0 -> %i0
 415  goto L34
 418  ---
 418  L30:
 418  -live- %i1, %i2, %i3, %i4, %r0, %r1
 421  int_copy $2 -> %i0
 424  goto L34
 427  ---
 427  L31:
 427  -live- %i1, %i2, %i3, %i4, %r0, %r1
 430  int_copy $2 -> %i0
 433  goto L34
 436  ---
 436  L32:
 436  -live- %i1, %i2, %i3, %i4, %r0, %r1
 439  int_copy $1 -> %i0
 442  goto L34
 445  ---
 445  L33:
 445  -live- %i1, %i2, %i3, %i4, %r0, %r1
 448  int_copy $1 -> %i0
 451  goto L34
 454  ---
 454  L23:
 454  getfield_gc_r %r3, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 459  -live- %i1, %i3, %i4, %r0, %r1, %r2
 462  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 468  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 473  -live- %i1, %i3, %i4, %r0, %r1, %r2
 476  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 482  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 487  -live- %i1, %i3, %i4, %r0, %r1, %r2
 490  guard_class %r2 -> %i0
 493  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 498  -live- %i0, %i1, %i3, %i4, %r0, %r1
 501  switch %i0, <SwitchDictDescr 79:L36, 83:L37, 85:L38, 86:L39, 97:L40, 98:L41, 99:L42, 102:L43, 105:L44, 117:L45>
 505  raise $<* struct object>
 507  ---
 507  L36:
 507  -live- %i1, %i3, %i4, %r0, %r1
 510  int_copy $3 -> %i0
 513  L46:
 513  -live- %i0, %i1, %i3, %i4, %r0, %r1
 516  goto_if_not_int_gt %i0, %i3, L47
 521  int_copy $False -> %i2
 524  int_copy %i0 -> %i3
 527  goto L3
 530  ---
 530  L47:
 530  int_copy $False -> %i2
 533  goto L3
 536  ---
 536  L37:
 536  -live- %i1, %i3, %i4, %r0, %r1
 539  int_copy $3 -> %i0
 542  goto L46
 545  ---
 545  L38:
 545  -live- %i1, %i3, %i4, %r0, %r1
 548  int_copy $3 -> %i0
 551  goto L46
 554  ---
 554  L39:
 554  -live- %i1, %i3, %i4, %r0, %r1
 557  int_copy $3 -> %i0
 560  goto L46
 563  ---
 563  L40:
 563  -live- %i1, %i3, %i4, %r0, %r1
 566  int_copy $3 -> %i0
 569  goto L46
 572  ---
 572  L41:
 572  -live- %i1, %i3, %i4, %r0, %r1
 575  int_copy $0 -> %i0
 578  goto L46
 581  ---
 581  L42:
 581  -live- %i1, %i3, %i4, %r0, %r1
 584  int_copy $2 -> %i0
 587  goto L46
 590  ---
 590  L43:
 590  -live- %i1, %i3, %i4, %r0, %r1
 593  int_copy $2 -> %i0
 596  goto L46
 599  ---
 599  L44:
 599  -live- %i1, %i3, %i4, %r0, %r1
 602  int_copy $1 -> %i0
 605  goto L46
 608  ---
 608  L45:
 608  -live- %i1, %i3, %i4, %r0, %r1
 611  int_copy $1 -> %i0
 614  goto L46
 617  ---
 617  L21:
 617  -live- %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 620  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 625  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555aab557d00> -> %i0
 630  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3
 633  int_guard_value %i0
 635  goto L22
 638  ---
 638  L2:
 638  int_return $False
 640  ---
 640  L1:
 640  int_return $False
