   0  -live- %i0, %i1, %r0, %r1
   3  goto_if_not %i0, L1
   7  -live- %i1, %r0, %r1
  10  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  16  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  21  -live- %i1, %r0, %r1, %r2
  24  guard_class %r2 -> %i0
  27  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
  32  -live- %i0, %i1, %r0, %r1
  35  switch %i0, <SwitchDictDescr 98:L2, 117:L3>
  39  -live- %i1, %r0, %r1
  42  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  48  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  53  -live- %i1, %r0, %r1, %r2
  56  guard_class %r2 -> %i0
  59  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
  64  -live- %i0, %i1, %i2, %r0, %r1
  67  goto_if_not_int_eq %i2, $'u', L4
  72  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
  77  int_sub %i0, $1 -> %i0
  81  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
  89  -live- %i1, %r0, %r1
  92  int_copy $True -> %i3
  95  L5:
  95  -live- %i1, %i3, %r0, %r1
  98  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 104  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 109  -live- %i0, %i1, %i3, %r0, %r1
 112  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 118  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
 123  -live- %i0, %i1, %i2, %i3, %r0, %r1
 126  goto_if_not_int_lt %i0, %i2, L6
 131  -live- %i1, %i3, %r0, %r1
 134  goto_if_not %i1, L7
 138  -live- %i3, %r0, %r1
 141  goto_if_not %i3, L8
 145  int_copy $True -> %i1
 148  L9:
 148  inline_call_r_r <JitCode 'promote_types'>, R[%r0, %r1] -> %r2
 155  -live- %i1, %r2
 158  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000056091c7496e0> -> %r1
 162  setfield_gc_r %r1, %r2, FieldDescr<tuple2.item0>
 167  setfield_gc_i %r1, %i1, FieldDescr<tuple2.item1>
 172  ref_return %r1
 174  ---
 174  L8:
 174  -live- %r0, %r1
 177  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 183  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 188  -live- %r0, %r1, %r2
 191  guard_class %r2 -> %i0
 194  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 199  -live- %i0, %r0, %r1
 202  goto_if_not_int_eq %i0, $'i', L10
 207  int_copy $False -> %i1
 210  goto L9
 213  ---
 213  L10:
 213  int_copy $True -> %i1
 216  goto L9
 219  ---
 219  L7:
 219  int_copy $False -> %i1
 222  goto L9
 225  ---
 225  L6:
 225  -live- %i0, %i1, %i2, %i3, %r0, %r1
 228  goto_if_not_int_eq %i0, %i2, L11
 233  -live- %i1, %i3, %r0, %r1
 236  goto_if_not %i3, L12
 240  goto L9
 243  ---
 243  L12:
 243  int_copy $False -> %i1
 246  goto L9
 249  ---
 249  L11:
 249  -live- %i1, %i3, %r0, %r1
 252  goto_if_not %i3, L13
 256  -live- %i1, %r0, %r1
 259  goto_if_not %i1, L14
 263  int_copy $True -> %i1
 266  goto L9
 269  ---
 269  L14:
 269  -live- %r0, %r1
 272  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 278  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 283  -live- %r0, %r1, %r2
 286  guard_class %r2 -> %i0
 289  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 294  -live- %i0, %r0, %r1
 297  goto_if_not_int_eq %i0, $'i', L15
 302  int_copy $False -> %i1
 305  goto L9
 308  ---
 308  L15:
 308  int_copy $True -> %i1
 311  goto L9
 314  ---
 314  L13:
 314  int_copy $False -> %i1
 317  goto L9
 320  ---
 320  L4:
 320  int_copy $True -> %i3
 323  goto L5
 326  ---
 326  L2:
 326  L16:
 326  -live- %i1, %r0, %r1
 329  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 335  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 340  -live- %i1, %r0, %r1, %r2
 343  guard_class %r2 -> %i0
 346  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 351  -live- %i0, %i1, %i2, %r0, %r1
 354  goto_if_not_int_eq %i2, $'i', L17
 359  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 364  int_add %i0, $1 -> %i0
 368  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
 376  -live- %i1, %r0, %r1
 379  int_copy $True -> %i3
 382  goto L5
 385  ---
 385  L17:
 385  int_copy $True -> %i3
 388  goto L5
 391  ---
 391  L3:
 391  -live- %i1, %r0, %r1
 394  goto L16
 397  ---
 397  L1:
 397  -live- %i1, %r0, %r1
 400  goto_if_not %i1, L18
 404  -live- %r0, %r1
 407  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 413  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 418  -live- %r0, %r1, %r2
 421  guard_class %r2 -> %i0
 424  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 429  -live- %i0, %r0, %r1
 432  switch %i0, <SwitchDictDescr 98:L19, 117:L20>
 436  -live- %r0, %r1
 439  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 445  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 450  -live- %r0, %r1, %r2
 453  guard_class %r2 -> %i0
 456  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i1
 461  -live- %i0, %i1, %r0, %r1
 464  goto_if_not_int_eq %i1, $'u', L21
 469  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 474  int_sub %i0, $1 -> %i0
 478  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 486  -live- %r0, %r1
 489  int_copy $True -> %i1
 492  int_copy $False -> %i3
 495  goto L5
 498  ---
 498  L21:
 498  int_copy $True -> %i1
 501  int_copy $False -> %i3
 504  goto L5
 507  ---
 507  L19:
 507  L22:
 507  -live- %r0, %r1
 510  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 516  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 521  -live- %r0, %r1, %r2
 524  guard_class %r2 -> %i0
 527  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i1
 532  -live- %i0, %i1, %r0, %r1
 535  goto_if_not_int_eq %i1, $'i', L23
 540  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 545  int_add %i0, $1 -> %i0
 549  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 557  -live- %r0, %r1
 560  int_copy $True -> %i1
 563  int_copy $False -> %i3
 566  goto L5
 569  ---
 569  L23:
 569  int_copy $True -> %i1
 572  int_copy $False -> %i3
 575  goto L5
 578  ---
 578  L20:
 578  -live- %r0, %r1
 581  goto L22
 584  ---
 584  L18:
 584  int_copy $False -> %i1
 587  int_copy $False -> %i3
 590  goto L5
