   0  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__alternate> -> %i0
   5  -live- %i0, %r0, %r1
   8  goto_if_not %i0, L1
  12  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab32545788> -> %r1
  16  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  21  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  26  assert_not_none %r1
  28  -live- %r1
  31  raise %r1
  33  ---
  33  L1:
  33  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__type> -> %i1
  38  -live- %i1, %r0, %r1
  41  goto_if_not_int_eq %i1, $'n', L2
  46  residual_call_r_r $<* fn numeric_formatting>, R[], <CallDescr() EF=5> -> %r2
  52  -live- %i1, %r0, %r1, %r2
  55  getfield_gc_r_pure %r2, FieldDescr<tuple3.item0> -> %r3
  60  getfield_gc_r_pure %r2, FieldDescr<tuple3.item1> -> %r4
  65  getfield_gc_r_pure %r2, FieldDescr<tuple3.item2> -> %r2
  70  L3:
  70  setfield_gc_r %r0, %r3, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_dec>
  75  setfield_gc_r %r0, %r4, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_thousands>
  80  setfield_gc_r %r0, %r2, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_grouping>
  85  -live- %i1, %r0, %r1
  88  switch %i1, <SwitchDictDescr 0:L4, 110:L5>
  92  int_copy $6 -> %i2
  95  int_copy $0 -> %i3
  98  L6:
  98  -live- %i1, %i2, %i3, %r0, %r1
 101  guard_class %r1 -> %i0
 104  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_float_w> -> %i0
 109  -live- %i0, %i1, %i2, %i3, %r0, %r1
 112  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9, 3:L10>
 116  unreachable
 117  ---
 117  L7:
 117  -live- %i1, %i2, %i3, %r0, %r1
 120  getfield_gc_f_pure %r1, FieldDescr<pypy.objspace.std.floatobject.W_FloatObject.inst_floatval> -> %f0
 125  L11:
 125  -live- %f0, %i1, %i2, %i3, %r0
 128  goto_if_not_int_eq %i1, $'%', L12
 133  float_mul %f0, $100.0 -> %f0
 137  int_copy $'f' -> %i1
 140  int_copy $True -> %i4
 143  L13:
 143  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision> -> %i0
 148  -live- %f0, %i0, %i1, %i2, %i3, %i4, %r0
 151  goto_if_not_int_eq %i0, $-1, L14
 156  setfield_gc_i %r0, %i2, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision>
 161  L15:
 161  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision> -> %i0
 166  inline_call_irf_r <JitCode 'double_to_string'>, I[%i1, %i0, %i3], R[], F[%f0] -> %r1
 177  -live- %i4, %r0, %r1
 180  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r2
 185  -live- %i4, %r0, %r2
 188  goto_if_not %i4, L16
 192  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 200  L17:
 200  -live- %r0, %r2
 203  strlen %r2 -> %i1
 206  strgetitem %r2, $0 -> %i0
 210  -live- %i0, %i1, %r0, %r2
 213  goto_if_not_int_eq %i0, $'-', L18
 218  int_sub %i1, $1 -> %i1
 222  int_copy $'-' -> %i0
 225  int_copy $1 -> %i2
 228  L19:
 228  residual_call_ir_r $<* fn Formatter._parse_number>, I[%i2], R[%r0, %r2], <CallDescr(rri) EF=5> -> %r1
 238  -live- %i0, %i1, %i2, %r0, %r1, %r2
 241  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i3
 246  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i4
 251  strlen %r2 -> %i5
 254  int_sub %i5, %i4 -> %i5
 258  newstr $1 -> %r1
 261  strsetitem %r1, $0, %i0
 265  inline_call_ir_r <JitCode 'Formatter._calc_num_width'>, I[$0, %i2, %i1, %i5, %i3], R[%r0, %r1, %r2] -> %r1
 279  -live- %i2, %i4, %r0, %r1, %r2
 282  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char> -> %r3
 287  inline_call_ir_r <JitCode 'Formatter._fill_number'>, I[%i2, $0, %i4, $False], R[%r0, %r1, %r2, %r3, $<* struct rpy_string>] -> %r1
 302  -live- %r1
 305  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab42d25440> -> %r0
 309  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 314  ref_return %r0
 316  ---
 316  L18:
 316  int_copy $'\x00' -> %i0
 319  int_copy $0 -> %i2
 322  goto L19
 325  ---
 325  L16:
 325  goto L17
 328  ---
 328  L14:
 328  goto L15
 331  ---
 331  L12:
 331  int_copy $False -> %i4
 334  goto L13
 337  ---
 337  L8:
 337  -live- %i1, %i2, %i3, %r0, %r1
 340  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 345  cast_int_to_float %i0 -> %f0
 348  goto L11
 351  ---
 351  L9:
 351  -live- %i1, %i2, %i3, %r0, %r1
 354  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.longobject.W_LongObject.inst_num> -> %r1
 359  residual_call_irf_f $<* fn rbigint.tofloat>, I[], R[%r1], F[], <CallDescr(r) EF=4> -> %f0
 368  -live- %f0, %i1, %i2, %i3, %r0
 371  catch_exception L20
 374  goto L11
 377  ---
 377  L20:
 377  goto_if_exception_mismatch $<* struct object_vtable>, L21
 381  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab32545788> -> %r1
 385  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 390  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 395  assert_not_none %r1
 397  -live- %r1
 400  raise %r1
 402  ---
 402  L21:
 402  reraise
 403  ---
 403  L10:
 403  -live- %i1, %i2, %i3, %r0, %r1
 406  inline_call_irf_f <JitCode 'W_Root.float_w'>, I[$True], R[%r1], F[] -> %f0
 415  -live- %f0, %i1, %i2, %i3, %r0
 418  goto L11
 421  ---
 421  L4:
 421  -live- %r0, %r1
 424  int_copy $'g' -> %i1
 427  int_copy $12 -> %i2
 430  int_copy $2 -> %i3
 433  goto L6
 436  ---
 436  L5:
 436  -live- %r0, %r1
 439  int_copy $'g' -> %i1
 442  int_copy $6 -> %i2
 445  int_copy $0 -> %i3
 448  goto L6
 451  ---
 451  L2:
 451  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__thousands_sep> -> %i0
 456  -live- %i0, %i1, %r0, %r1
 459  goto_if_not %i0, L22
 463  ref_copy $<* struct rpy_string> -> %r2
 466  ref_copy $<* struct rpy_string> -> %r3
 469  ref_copy $<* struct rpy_string> -> %r4
 472  goto L3
 475  ---
 475  L22:
 475  ref_copy $<* struct rpy_string> -> %r2
 478  ref_copy $<* struct rpy_string> -> %r3
 481  ref_copy $<* struct rpy_string> -> %r4
 484  goto L3
