   0  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_template> -> %r0
   5  int_copy %i0 -> %i3
   8  L1:
   8  -live- %i0, %i1, %i3, %r0
   8  goto_if_not_int_lt %i3, %i1, L2
  13  strgetitem %r0, %i3 -> %i2
  17  -live- %i0, %i1, %i2, %i3, %r0
  17  switch %i2, <SwitchDictDescr 33:L3, 58:L4>
  21  int_add %i3, $1 -> %i3
  25  goto L1
  28  ---
  28  L3:
  28  -live- %i0, %i1, %i2, %i3, %r0
  28  L5:
  28  -live- %i0, %i1, %i2, %i3, %r0
  28  goto_if_not_int_eq %i2, $'!', L6
  33  int_add %i3, $1 -> %i2
  37  -live- %i0, %i1, %i2, %i3, %r0
  37  goto_if_not_int_eq %i2, %i1, L7
  42  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r0
  46  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  51  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  56  assert_not_none %r0
  58  -live- %r0
  58  guard_class %r0 -> %i2
  61  -live- %r0
  61  raise %r0
  63  ---
  63  L7:
  63  strgetitem %r0, %i2 -> %i4
  67  int_add %i2, $1 -> %i2
  71  -live- %i0, %i1, %i2, %i3, %i4, %r0
  71  goto_if_not_int_lt %i2, %i1, L8
  76  strgetitem %r0, %i2 -> %i1
  80  -live- %i0, %i1, %i2, %i3, %i4, %r0
  80  goto_if_not_int_ne %i1, $':', L9
  85  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r0
  89  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  94  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  99  assert_not_none %r0
 101  -live- %r0
 101  guard_class %r0 -> %i2
 104  -live- %r0
 104  raise %r0
 106  ---
 106  L9:
 106  int_add %i2, $1 -> %i2
 110  newstr $1 -> %r2
 113  strsetitem %r2, $0, %i4
 117  L10:
 117  strlen %r0 -> %i1
 120  -live- %i0, %i1, %i2, %i3, %r0, %r2
 120  goto_if_not_int_gt %i3, %i1, L11
 125  strlen %r0 -> %i3
 128  L12:
 128  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i3], R[%r0], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r0
 138  -live- %i2, %r0, %r2
 138  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000195458090> -> %r1
 142  setfield_gc_r %r1, %r0, FieldDescr<tuple3.item0>
 147  setfield_gc_r %r1, %r2, FieldDescr<tuple3.item1>
 152  setfield_gc_i %r1, %i2, FieldDescr<tuple3.item2>
 157  ref_return %r1
 159  ---
 159  L11:
 159  goto L12
 162  ---
 162  L8:
 162  newstr $1 -> %r2
 165  strsetitem %r2, $0, %i4
 169  goto L10
 172  ---
 172  L6:
 172  int_add %i3, $1 -> %i2
 176  ref_copy $<* struct rpy_string> -> %r2
 179  goto L10
 182  ---
 182  L4:
 182  -live- %i0, %i1, %i2, %i3, %r0
 182  goto L5
 185  ---
 185  L2:
 185  strlen %r0 -> %i2
 188  -live- %i0, %i1, %i2, %r0
 188  goto_if_not_int_gt %i1, %i2, L13
 193  int_copy %i1 -> %i2
 196  strlen %r0 -> %i1
 199  L14:
 199  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i1], R[%r0], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r0
 209  -live- %i2, %r0
 209  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000195458090> -> %r1
 213  setfield_gc_r %r1, %r0, FieldDescr<tuple3.item0>
 218  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<tuple3.item1>
 223  setfield_gc_i %r1, %i2, FieldDescr<tuple3.item2>
 228  ref_return %r1
 230  ---
 230  L13:
 230  int_copy %i1 -> %i2
 233  goto L14
