   0  strlen %r1 -> %i1
   3  int_copy $0 -> %i3
   6  L1:
   6  -live- %i1, %i3, %r0, %r1
   9  goto_if_not_int_lt %i3, %i1, L2
  14  strgetitem %r1, %i3 -> %i0
  18  -live- %i0, %i1, %i3, %r0, %r1
  21  switch %i0, <SwitchDictDescr 46:L3, 91:L4>
  25  int_add %i3, $1 -> %i3
  29  goto L1
  32  ---
  32  L3:
  32  L5:
  32  -live- %i1, %i3, %r0, %r1
  35  goto_if_not_int_is_true %i3, L6
  39  residual_call_ir_r $<* fn _parse_int__str>, I[$0, %i3], R[%r1], <CallDescr(rii) EF=4> -> %r2
  49  -live- %i1, %i3, %r0, %r1, %r2
  52  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i4
  57  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i0
  62  -live- %i0, %i1, %i3, %i4, %r0, %r1
  65  goto_if_not_int_ne %i0, %i3, L7
  70  int_copy $False -> %i2
  73  int_copy $-1 -> %i4
  76  int_copy $False -> %i5
  79  L8:
  79  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering_state> -> %i0
  84  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1
  87  goto_if_not_int_eq %i0, $1, L9
  92  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r1
  95  goto_if_not %i5, L10
  99  -live- %i1, %i2, %i3, %i4, %r0, %r1
 102  goto_if_not %i2, L11
 106  setfield_gc_i %r0, $2, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering_state>
 111  int_copy $True -> %i2
 114  L12:
 114  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering_state> -> %i0
 119  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 122  goto_if_not_int_eq %i0, $3, L13
 127  -live- %i1, %i2, %i3, %i4, %r0, %r1
 130  goto_if_not %i2, L14
 134  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r2
 138  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 143  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 148  assert_not_none %r2
 150  -live- %r2
 153  raise %r2
 155  ---
 155  L14:
 155  L15:
 155  -live- %i1, %i3, %i4, %r0, %r1
 158  goto_if_not_int_eq %i4, $-1, L16
 163  int_copy %i3 -> %i0
 166  strlen %r1 -> %i2
 169  -live- %i0, %i1, %i2, %r0, %r1
 172  goto_if_not_int_gt %i0, %i2, L17
 177  int_copy %i0 -> %i3
 180  strlen %r1 -> %i0
 183  L18:
 183  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i0], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 193  -live- %i1, %i3, %r0, %r1, %r2
 196  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_w_kwargs> -> %r3
 201  residual_call_ir_i $<* fn _check_utf8>, I[$True, $0, $-1], R[%r2], <CallDescr(riii) EF=4> -> %i0
 212  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3
 215  goto_if_not_int_ge %i0, $0, L19
 220  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01d47018> -> %r4
 224  setfield_gc_r %r4, %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 229  setfield_gc_i %r4, %i0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 234  setfield_gc_r %r4, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 239  -live- %i1, %i3, %r0, %r1, %r3, %r4
 242  guard_class %r3 -> %i0
 245  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___getitem__> -> %i0
 250  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4
 253  int_guard_value %i0
 255  residual_call_r_r %i0, <IndirectCallTargets>, R[%r3, %r4], <CallDescr(rr) EF=7> -> %r2
 263  L20:
 263  -live- %i1, %i3, %r0, %r1, %r2
 266  inline_call_ir_r <JitCode 'TemplateFormatter._resolve_lookups'>, I[%i3, %i1], R[%r0, %r2, %r1] -> %r2
 277  -live- %r2
 280  ref_return %r2
 282  ---
 282  L19:
 282  int_invert %i0 -> %i0
 285  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaaff7bb718> -> %r2
 289  setfield_gc_i %r2, %i0, FieldDescr<rpython.rlib.rutf8.CheckError.inst_pos>
 294  assert_not_none %r2
 296  -live- %r2
 299  raise %r2
 301  ---
 301  L17:
 301  int_copy %i0 -> %i3
 304  goto L18
 307  ---
 307  L16:
 307  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_args> -> %r2
 312  getfield_gc_i %r2, FieldDescr<list.length> -> %i0
 317  uint_ge %i4, %i0 -> %i2
 321  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2
 324  goto_if_not %i2, L21
 328  int_add %i4, %i0 -> %i4
 332  uint_ge %i4, %i0 -> %i0
 336  -live- %i0, %i1, %i3, %i4, %r0, %r1, %r2
 339  goto_if_not %i0, L22
 343  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r2
 347  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 352  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 357  assert_not_none %r2
 359  -live- %r2
 362  raise %r2
 364  ---
 364  L22:
 364  L23:
 364  getlistitem_gc_r %r2, %i4, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab222b05d0> -> %r2
 372  goto L20
 375  ---
 375  L21:
 375  goto L23
 378  ---
 378  L13:
 378  -live- %i1, %i2, %i3, %r0, %r1
 381  goto_if_not %i2, L24
 385  L25:
 385  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering> -> %i4
 390  int_add %i4, $1 -> %i0
 394  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering>
 399  goto L15
 402  ---
 402  L24:
 402  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r2
 406  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 411  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 416  assert_not_none %r2
 418  -live- %r2
 421  raise %r2
 423  ---
 423  L11:
 423  setfield_gc_i %r0, $3, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_auto_numbering_state>
 428  int_copy $False -> %i2
 431  goto L12
 434  ---
 434  L10:
 434  L26:
 434  -live- %i1, %i2, %i3, %i4, %r0, %r1
 437  goto_if_not %i2, L27
 441  goto L25
 444  ---
 444  L27:
 444  goto L15
 447  ---
 447  L9:
 447  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r1
 450  goto_if_not %i5, L28
 454  goto L12
 457  ---
 457  L28:
 457  goto L26
 460  ---
 460  L7:
 460  int_ne %i4, $-1 -> %i5
 464  int_copy $False -> %i2
 467  goto L8
 470  ---
 470  L6:
 470  int_copy $True -> %i2
 473  int_copy $-1 -> %i4
 476  int_copy $True -> %i5
 479  goto L8
 482  ---
 482  L4:
 482  -live- %i1, %i3, %r0, %r1
 485  goto L5
 488  ---
 488  L2:
 488  goto L5
