   0  -live- %i0, %i1, %r0, %r1
   0  goto_if_not %i0, L1
   4  -live- %i1, %r0, %r1
   4  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  10  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  15  -live- %i1, %r0, %r1, %r2
  15  guard_class %r2 -> %i0
  18  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
  23  -live- %i0, %i1, %r0, %r1, %r2
  23  goto_if_not_int_eq %i0, $'b', L2
  28  L3:
  28  -live- %i1, %r0, %r1
  28  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  34  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
  39  -live- %i1, %r0, %r1, %r2
  39  guard_class %r2 -> %i0
  42  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
  47  -live- %i0, %i1, %r0, %r1, %r2
  47  goto_if_not_int_eq %i0, $'i', L4
  52  -live- %i1, %r1, %r2
  52  guard_class %r2 -> %i0
  55  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
  60  int_add %i0, $1 -> %i0
  64  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
  72  -live- %i1, %r0, %r1
  72  int_copy $True -> %i3
  75  L5:
  75  -live- %i1, %i3, %r0, %r1
  75  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
  81  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
  86  -live- %i0, %i1, %i3, %r0, %r1
  86  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
  92  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
  97  -live- %i0, %i1, %i2, %i3, %r0, %r1
  97  goto_if_not_int_lt %i0, %i2, L6
 102  -live- %i1, %i3, %r0, %r1
 102  goto_if_not %i1, L7
 106  -live- %i3, %r0, %r1
 106  goto_if_not %i3, L8
 110  int_copy $True -> %i1
 113  L9:
 113  inline_call_r_r <JitCode 'promote_types'>, R[%r0, %r1] -> %r2
 120  -live- %i1, %r2
 120  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10093ab39d0> -> %r1
 124  setfield_gc_r %r1, %r2, FieldDescr<tuple2.item0>
 129  setfield_gc_i %r1, %i1, FieldDescr<tuple2.item1>
 134  ref_return %r1
 136  ---
 136  L8:
 136  -live- %r0, %r1
 136  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 142  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 147  -live- %r0, %r1, %r2
 147  guard_class %r2 -> %i0
 150  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 155  -live- %i0, %r0, %r1
 155  goto_if_not_int_eq %i0, $'i', L10
 160  int_copy $False -> %i1
 163  goto L9
 166  ---
 166  L10:
 166  int_copy $True -> %i1
 169  goto L9
 172  ---
 172  L7:
 172  int_copy $False -> %i1
 175  goto L9
 178  ---
 178  L6:
 178  -live- %i0, %i1, %i2, %i3, %r0, %r1
 178  goto_if_not_int_eq %i0, %i2, L11
 183  -live- %i1, %i3, %r0, %r1
 183  goto_if_not %i3, L12
 187  goto L9
 190  ---
 190  L12:
 190  int_copy $False -> %i1
 193  goto L9
 196  ---
 196  L11:
 196  -live- %i1, %i3, %r0, %r1
 196  goto_if_not %i3, L13
 200  -live- %i1, %r0, %r1
 200  goto_if_not %i1, L14
 204  int_copy $True -> %i1
 207  goto L9
 210  ---
 210  L14:
 210  -live- %r0, %r1
 210  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 216  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 221  -live- %r0, %r1, %r2
 221  guard_class %r2 -> %i0
 224  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 229  -live- %i0, %r0, %r1
 229  goto_if_not_int_eq %i0, $'i', L15
 234  int_copy $False -> %i1
 237  goto L9
 240  ---
 240  L15:
 240  int_copy $True -> %i1
 243  goto L9
 246  ---
 246  L13:
 246  int_copy $False -> %i1
 249  goto L9
 252  ---
 252  L4:
 252  int_copy $True -> %i3
 255  goto L5
 258  ---
 258  L2:
 258  -live- %i1, %r0, %r1, %r2
 258  guard_class %r2 -> %i0
 261  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 266  -live- %i0, %i1, %r0, %r1
 266  goto_if_not_int_eq %i0, $'u', L16
 271  goto L3
 274  ---
 274  L16:
 274  -live- %i1, %r0, %r1
 274  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 280  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 285  -live- %i1, %r0, %r1, %r2
 285  guard_class %r2 -> %i0
 288  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 293  -live- %i0, %i1, %r0, %r1, %r2
 293  goto_if_not_int_eq %i0, $'u', L17
 298  -live- %i1, %r1, %r2
 298  guard_class %r2 -> %i0
 301  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 306  int_sub %i0, $1 -> %i0
 310  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r0
 318  -live- %i1, %r0, %r1
 318  int_copy $True -> %i3
 321  goto L5
 324  ---
 324  L17:
 324  int_copy $True -> %i3
 327  goto L5
 330  ---
 330  L1:
 330  -live- %i1, %r0, %r1
 330  goto_if_not %i1, L18
 334  -live- %r0, %r1
 334  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 340  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 345  -live- %r0, %r1, %r2
 345  guard_class %r2 -> %i0
 348  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 353  -live- %i0, %r0, %r1, %r2
 353  goto_if_not_int_eq %i0, $'b', L19
 358  L20:
 358  -live- %r0, %r1
 358  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 364  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 369  -live- %r0, %r1, %r2
 369  guard_class %r2 -> %i0
 372  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 377  -live- %i0, %r0, %r1, %r2
 377  goto_if_not_int_eq %i0, $'i', L21
 382  -live- %r0, %r2
 382  guard_class %r2 -> %i0
 385  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 390  int_add %i0, $1 -> %i0
 394  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 402  -live- %r0, %r1
 402  int_copy $True -> %i1
 405  int_copy $False -> %i3
 408  goto L5
 411  ---
 411  L21:
 411  int_copy $True -> %i1
 414  int_copy $False -> %i3
 417  goto L5
 420  ---
 420  L19:
 420  -live- %r0, %r1, %r2
 420  guard_class %r2 -> %i0
 423  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 428  -live- %i0, %r0, %r1
 428  goto_if_not_int_eq %i0, $'u', L22
 433  goto L20
 436  ---
 436  L22:
 436  -live- %r0, %r1
 436  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 442  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 447  -live- %r0, %r1, %r2
 447  guard_class %r2 -> %i0
 450  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 455  -live- %i0, %r0, %r1, %r2
 455  goto_if_not_int_eq %i0, $'u', L23
 460  -live- %r0, %r2
 460  guard_class %r2 -> %i0
 463  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 468  int_sub %i0, $1 -> %i0
 472  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r1
 480  -live- %r0, %r1
 480  int_copy $True -> %i1
 483  int_copy $False -> %i3
 486  goto L5
 489  ---
 489  L23:
 489  int_copy $True -> %i1
 492  int_copy $False -> %i3
 495  goto L5
 498  ---
 498  L18:
 498  int_copy $False -> %i1
 501  int_copy $False -> %i3
 504  goto L5
