   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, %r2
  35  goto_if_not_int_eq %i0, $'b', L2
  40  L3:
  40  -live- %i1, %r0, %r1
  43  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  49  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  54  -live- %i1, %r0, %r1, %r2
  57  guard_class %r2 -> %i0
  60  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
  65  -live- %i0, %i1, %r0, %r1, %r2
  68  goto_if_not_int_eq %i0, $'i', L4
  73  -live- %i1, %r1, %r2
  76  guard_class %r2 -> %i0
  79  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
  84  int_add %i0, $1 -> %i0
  88  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
  96  -live- %i1, %r0, %r1
  99  int_copy $True -> %i3
 102  L5:
 102  -live- %i1, %i3, %r0, %r1
 105  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 111  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 116  -live- %i0, %i1, %i3, %r0, %r1
 119  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 125  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
 130  -live- %i0, %i1, %i2, %i3, %r0, %r1
 133  goto_if_not_int_lt %i0, %i2, L6
 138  -live- %i1, %i3, %r0, %r1
 141  goto_if_not %i1, L7
 145  -live- %i3, %r0, %r1
 148  goto_if_not %i3, L8
 152  int_copy $True -> %i1
 155  L9:
 155  inline_call_r_r <JitCode 'promote_types'>, R[%r0, %r1] -> %r2
 162  -live- %i1, %r2
 165  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab805ef248> -> %r1
 169  setfield_gc_r %r1, %r2, FieldDescr<tuple2.item0>
 174  setfield_gc_i %r1, %i1, FieldDescr<tuple2.item1>
 179  ref_return %r1
 181  ---
 181  L8:
 181  -live- %r0, %r1
 184  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 190  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 195  -live- %r0, %r1, %r2
 198  guard_class %r2 -> %i0
 201  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 206  -live- %i0, %r0, %r1
 209  goto_if_not_int_eq %i0, $'i', L10
 214  int_copy $False -> %i1
 217  goto L9
 220  ---
 220  L10:
 220  int_copy $True -> %i1
 223  goto L9
 226  ---
 226  L7:
 226  int_copy $False -> %i1
 229  goto L9
 232  ---
 232  L6:
 232  -live- %i0, %i1, %i2, %i3, %r0, %r1
 235  goto_if_not_int_eq %i0, %i2, L11
 240  -live- %i1, %i3, %r0, %r1
 243  goto_if_not %i3, L12
 247  goto L9
 250  ---
 250  L12:
 250  int_copy $False -> %i1
 253  goto L9
 256  ---
 256  L11:
 256  -live- %i1, %i3, %r0, %r1
 259  goto_if_not %i3, L13
 263  -live- %i1, %r0, %r1
 266  goto_if_not %i1, L14
 270  int_copy $True -> %i1
 273  goto L9
 276  ---
 276  L14:
 276  -live- %r0, %r1
 279  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 285  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 290  -live- %r0, %r1, %r2
 293  guard_class %r2 -> %i0
 296  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 301  -live- %i0, %r0, %r1
 304  goto_if_not_int_eq %i0, $'i', L15
 309  int_copy $False -> %i1
 312  goto L9
 315  ---
 315  L15:
 315  int_copy $True -> %i1
 318  goto L9
 321  ---
 321  L13:
 321  int_copy $False -> %i1
 324  goto L9
 327  ---
 327  L4:
 327  int_copy $True -> %i3
 330  goto L5
 333  ---
 333  L2:
 333  -live- %i1, %r0, %r1, %r2
 336  guard_class %r2 -> %i0
 339  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 344  -live- %i0, %i1, %r0, %r1
 347  goto_if_not_int_eq %i0, $'u', L16
 352  goto L3
 355  ---
 355  L16:
 355  -live- %i1, %r0, %r1
 358  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 364  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 369  -live- %i1, %r0, %r1, %r2
 372  guard_class %r2 -> %i0
 375  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 380  -live- %i0, %i1, %r0, %r1, %r2
 383  goto_if_not_int_eq %i0, $'u', L17
 388  -live- %i1, %r1, %r2
 391  guard_class %r2 -> %i0
 394  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 399  int_sub %i0, $1 -> %i0
 403  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
 411  -live- %i1, %r0, %r1
 414  int_copy $True -> %i3
 417  goto L5
 420  ---
 420  L17:
 420  int_copy $True -> %i3
 423  goto L5
 426  ---
 426  L1:
 426  -live- %i1, %r0, %r1
 429  goto_if_not %i1, L18
 433  -live- %r0, %r1
 436  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 442  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 447  -live- %r0, %r1, %r2
 450  guard_class %r2 -> %i0
 453  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 458  -live- %i0, %r0, %r1, %r2
 461  goto_if_not_int_eq %i0, $'b', L19
 466  L20:
 466  -live- %r0, %r1
 469  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 475  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 480  -live- %r0, %r1, %r2
 483  guard_class %r2 -> %i0
 486  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 491  -live- %i0, %r0, %r1, %r2
 494  goto_if_not_int_eq %i0, $'i', L21
 499  -live- %r0, %r2
 502  guard_class %r2 -> %i0
 505  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 510  int_add %i0, $1 -> %i0
 514  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 522  -live- %r0, %r1
 525  int_copy $True -> %i1
 528  int_copy $False -> %i3
 531  goto L5
 534  ---
 534  L21:
 534  int_copy $True -> %i1
 537  int_copy $False -> %i3
 540  goto L5
 543  ---
 543  L19:
 543  -live- %r0, %r1, %r2
 546  guard_class %r2 -> %i0
 549  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 554  -live- %i0, %r0, %r1
 557  goto_if_not_int_eq %i0, $'u', L22
 562  goto L20
 565  ---
 565  L22:
 565  -live- %r0, %r1
 568  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 574  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 579  -live- %r0, %r1, %r2
 582  guard_class %r2 -> %i0
 585  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 590  -live- %i0, %r0, %r1, %r2
 593  goto_if_not_int_eq %i0, $'u', L23
 598  -live- %r0, %r2
 601  guard_class %r2 -> %i0
 604  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 609  int_sub %i0, $1 -> %i0
 613  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 621  -live- %r0, %r1
 624  int_copy $True -> %i1
 627  int_copy $False -> %i3
 630  goto L5
 633  ---
 633  L23:
 633  int_copy $True -> %i1
 636  int_copy $False -> %i3
 639  goto L5
 642  ---
 642  L18:
 642  int_copy $False -> %i1
 645  int_copy $False -> %i3
 648  goto L5
