   0  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__type> -> %i1
   5  -live- %i1, %r0, %r1
   5  goto_if_not_int_eq %i1, $'n', L1
  10  residual_call_r_r $<* fn numeric_formatting>, R[], <CallDescr() EF=5> -> %r2
  16  -live- %i1, %r0, %r1, %r2
  16  getfield_gc_r_pure %r2, FieldDescr<tuple3.item0> -> %r3
  21  getfield_gc_r_pure %r2, FieldDescr<tuple3.item1> -> %r4
  26  getfield_gc_r_pure %r2, FieldDescr<tuple3.item2> -> %r2
  31  L2:
  31  setfield_gc_r %r0, %r3, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_dec>
  36  setfield_gc_r %r0, %r4, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_thousands>
  41  setfield_gc_r %r0, %r2, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__loc_grouping>
  46  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__align> -> %i0
  51  -live- %i0, %i1, %r0, %r1
  51  goto_if_not_int_eq %i0, $'=', L3
  56  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r2
  60  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  65  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  70  assert_not_none %r2
  72  -live- %r2
  72  guard_class %r2 -> %i0
  75  -live- %r2
  75  raise %r2
  77  ---
  77  L3:
  77  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char> -> %r2
  82  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  90  -live- %i0, %i1, %r0, %r1
  90  goto_if_not %i0, L4
  94  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r2
  98  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 103  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 108  assert_not_none %r2
 110  -live- %r2
 110  guard_class %r2 -> %i0
 113  -live- %r2
 113  raise %r2
 115  ---
 115  L4:
 115  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__alternate> -> %i0
 120  -live- %i0, %i1, %r0, %r1
 120  goto_if_not %i0, L5
 124  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r2
 128  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 133  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 138  assert_not_none %r2
 140  -live- %r2
 140  guard_class %r2 -> %i0
 143  -live- %r2
 143  raise %r2
 145  ---
 145  L5:
 145  -live- %i1, %r0, %r1
 145  switch %i1, <SwitchDictDescr 0:L6, 110:L7>
 149  int_copy $6 -> %i0
 152  int_copy $0 -> %i3
 155  int_copy $0 -> %i4
 158  L8:
 158  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision> -> %i2
 163  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1
 163  goto_if_not_int_eq %i2, $-1, L9
 168  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision>
 173  L10:
 173  getfield_gc_f_pure %r1, FieldDescr<pypy.objspace.std.complexobject.W_ComplexObject.inst_realval> -> %f0
 178  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision> -> %i0
 183  inline_call_irf_r <JitCode 'dtoa_formatd'>, I[%i1, %i0, $0], R[], F[%f0] -> %r2
 194  -live- %i1, %i3, %i4, %r0, %r1, %r2
 194  getfield_gc_f_pure %r1, FieldDescr<pypy.objspace.std.complexobject.W_ComplexObject.inst_imagval> -> %f0
 199  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__precision> -> %i0
 204  inline_call_irf_r <JitCode 'dtoa_formatd'>, I[%i1, %i0, $0], R[], F[%f0] -> %r4
 215  -live- %i3, %i4, %r0, %r2, %r4
 215  strlen %r2 -> %i2
 218  strlen %r4 -> %i1
 221  strgetitem %r2, $0 -> %i0
 225  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r2, %r4
 225  goto_if_not_int_eq %i0, $'-', L11
 230  int_sub %i2, $1 -> %i2
 234  int_copy $1 -> %i5
 237  ref_copy $<* struct rpy_string> -> %r6
 240  L12:
 240  strgetitem %r4, $0 -> %i0
 244  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r4, %r6
 244  goto_if_not_int_eq %i0, $'-', L13
 249  int_sub %i1, $1 -> %i1
 253  int_copy $1 -> %i9
 256  ref_copy $<* struct rpy_string> -> %r3
 259  L14:
 259  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char> -> %r5
 264  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__align> -> %i12
 269  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__width> -> %i11
 274  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char>
 279  setfield_gc_i %r0, $'<', FieldDescr<pypy.objspace.std.newformat.Formatter.inst__align>
 284  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__width>
 289  residual_call_ir_r $<* fn Formatter._parse_number>, I[%i5], R[%r0, %r2], <CallDescr(rri) EF=5> -> %r1
 299  -live- %i1, %i11, %i12, %i2, %i3, %i4, %i5, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 299  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i0
 304  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i10
 309  residual_call_ir_r $<* fn Formatter._parse_number>, I[%i9], R[%r0, %r4], <CallDescr(rri) EF=5> -> %r1
 319  -live- %i0, %i1, %i10, %i11, %i12, %i2, %i3, %i4, %i5, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 319  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i7
 324  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i8
 329  strlen %r2 -> %i6
 332  int_sub %i6, %i10 -> %i6
 336  strlen %r4 -> %i13
 339  int_sub %i13, %i8 -> %i13
 343  inline_call_ir_r <JitCode 'Formatter._calc_num_width'>, I[$0, %i5, %i2, %i6, %i0], R[%r0, %r6, %r2] -> %r6
 357  -live- %i1, %i10, %i11, %i12, %i13, %i3, %i4, %i5, %i7, %i8, %i9, %r0, %r2, %r3, %r4, %r5, %r6
 357  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__grouped_digits> -> %r1
 362  -live- %i1, %i10, %i11, %i12, %i13, %i3, %i4, %i5, %i7, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 362  goto_if_not_int_is_true %i4, L15
 366  L16:
 366  inline_call_ir_r <JitCode 'Formatter._calc_num_width'>, I[$0, %i9, %i1, %i13, %i7], R[%r0, %r3, %r4] -> %r7
 380  -live- %i10, %i11, %i12, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 380  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__grouped_digits> -> %r3
 385  -live- %i10, %i11, %i12, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 385  goto_if_not_int_is_true %i4, L17
 389  setfield_gc_i %r6, $0, FieldDescr<pypy.objspace.std.newformat.NumberSpec.inst_n_total>
 394  L18:
 394  setfield_gc_i %r0, %i12, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__align>
 399  setfield_gc_i %r0, %i11, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__width>
 404  setfield_gc_r %r0, %r5, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char>
 409  getfield_gc_i %r6, FieldDescr<pypy.objspace.std.newformat.NumberSpec.inst_n_total> -> %i0
 414  getfield_gc_i %r7, FieldDescr<pypy.objspace.std.newformat.NumberSpec.inst_n_total> -> %i1
 419  int_add %i0, %i1 -> %i0
 423  int_add %i0, $1 -> %i0
 427  int_mul %i3, $2 -> %i1
 431  int_add %i0, %i1 -> %i0
 435  inline_call_ir_i <JitCode 'Formatter._calc_padding'>, I[%i0], R[%r0, $<* struct rpy_string>] -> %i0
 444  -live- %i10, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r6, %r7
 444  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018dd52e20> -> %r8
 448  newstr $100 -> %r5
 451  setfield_gc_r %r8, %r5, FieldDescr<stringbuilder.current_buf>
 456  setfield_gc_i %r8, $0, FieldDescr<stringbuilder.current_pos>
 461  setfield_gc_i %r8, $100, FieldDescr<stringbuilder.current_end>
 466  setfield_gc_i %r8, $100, FieldDescr<stringbuilder.total_size>
 471  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__fill_char> -> %r5
 476  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__left_pad> -> %i0
 481  strgetitem %r5, $0 -> %i1
 485  inline_call_ir_i <JitCode 'll_jit_try_append_multiple_char__stringbuilderPtr_Char_Signed'>, I[%i1, %i0], R[%r8] -> %i2
 494  -live- %i0, %i1, %i10, %i2, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 494  -live- %i0, %i1, %i10, %i2, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 494  goto_if_not %i2, L19
 498  L20:
 498  -live- %i10, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 498  goto_if_not_int_is_true %i3, L21
 502  strgetitem $<* struct rpy_string>, $0 -> %i2
 506  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 511  getfield_gc_i %r8, FieldDescr<stringbuilder.current_end> -> %i1
 516  int_eq %i0, %i1 -> %i0
 520  conditional_call_ir_v %i0, $<* fn ll_grow_by__stringbuilderPtr_Signed>, I[$1], R[%r8], <CallDescr(ri) EF=5>
 529  -live- %i10, %i2, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 529  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 534  int_add %i0, $1 -> %i1
 538  setfield_gc_i %r8, %i1, FieldDescr<stringbuilder.current_pos>
 543  getfield_gc_r %r8, FieldDescr<stringbuilder.current_buf> -> %r9
 548  strsetitem %r9, %i0, %i2
 552  L22:
 552  -live- %i10, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 552  goto_if_not_int_is_true %i4, L23
 556  L24:
 556  inline_call_ir_r <JitCode 'Formatter._fill_number'>, I[%i9, $0, %i8, $False], R[%r0, %r7, %r4, %r5, %r3] -> %r2
 571  -live- %i3, %r0, %r2, %r5, %r8
 571  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r8, %r2]
 577  -live- %i3, %r0, %r5, %r8
 577  strgetitem $<* struct rpy_string>, $0 -> %i2
 581  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 586  getfield_gc_i %r8, FieldDescr<stringbuilder.current_end> -> %i1
 591  int_eq %i0, %i1 -> %i0
 595  conditional_call_ir_v %i0, $<* fn ll_grow_by__stringbuilderPtr_Signed>, I[$1], R[%r8], <CallDescr(ri) EF=5>
 604  -live- %i2, %i3, %r0, %r5, %r8
 604  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 609  int_add %i0, $1 -> %i1
 613  setfield_gc_i %r8, %i1, FieldDescr<stringbuilder.current_pos>
 618  getfield_gc_r %r8, FieldDescr<stringbuilder.current_buf> -> %r2
 623  strsetitem %r2, %i0, %i2
 627  -live- %i1, %i3, %r0, %r5, %r8
 627  goto_if_not_int_is_true %i3, L25
 631  strgetitem $<* struct rpy_string>, $0 -> %i2
 635  getfield_gc_i %r8, FieldDescr<stringbuilder.current_end> -> %i0
 640  int_eq %i1, %i0 -> %i0
 644  conditional_call_ir_v %i0, $<* fn ll_grow_by__stringbuilderPtr_Signed>, I[$1], R[%r8], <CallDescr(ri) EF=5>
 653  -live- %i2, %r0, %r5, %r8
 653  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 658  int_add %i0, $1 -> %i1
 662  setfield_gc_i %r8, %i1, FieldDescr<stringbuilder.current_pos>
 667  getfield_gc_r %r8, FieldDescr<stringbuilder.current_buf> -> %r2
 672  strsetitem %r2, %i0, %i2
 676  L26:
 676  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__right_pad> -> %i0
 681  strgetitem %r5, $0 -> %i1
 685  inline_call_ir_i <JitCode 'll_jit_try_append_multiple_char__stringbuilderPtr_Char_Signed'>, I[%i1, %i0], R[%r8] -> %i2
 694  -live- %i0, %i1, %i2, %r8
 694  -live- %i0, %i1, %i2, %r8
 694  goto_if_not %i2, L27
 698  L28:
 698  ref_isvirtual %r8 -> %i0
 701  -live- %i0, %r8
 701  goto_if_not %i0, L29
 705  getfield_gc_r %r8, FieldDescr<stringbuilder.extra_pieces> -> %r2
 710  -live- %r2, %r8
 710  goto_if_not_ptr_nonzero %r2, L30
 714  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r8], <CallDescr(r) EF=5>
 720  -live- %r8
 720  L31:
 720  getfield_gc_r %r8, FieldDescr<stringbuilder.current_buf> -> %r0
 725  L32:
 725  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r2
 729  setfield_gc_r %r2, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 734  ref_return %r2
 736  ---
 736  L30:
 736  getfield_gc_i %r8, FieldDescr<stringbuilder.current_pos> -> %i0
 741  getfield_gc_i %r8, FieldDescr<stringbuilder.total_size> -> %i1
 746  -live- %i0, %i1, %r8
 746  goto_if_not_int_ne %i0, %i1, L33
 751  getfield_gc_r %r8, FieldDescr<stringbuilder.current_buf> -> %r2
 756  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i0], R[%r2], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r2
 765  -live- %i0, %r2, %r8
 765  setfield_gc_r %r8, %r2, FieldDescr<stringbuilder.current_buf>
 770  setfield_gc_i %r8, %i0, FieldDescr<stringbuilder.current_end>
 775  setfield_gc_i %r8, %i0, FieldDescr<stringbuilder.total_size>
 780  goto L31
 783  ---
 783  L33:
 783  goto L31
 786  ---
 786  L29:
 786  residual_call_r_r $<* fn ll_build_trampoline__v1269___simple_call__function_>, R[%r8], <CallDescr(r) EF=5> -> %r0
 793  -live- %r0
 793  goto L32
 796  ---
 796  L27:
 796  residual_call_ir_v $<* fn _ll_append_multiple_char__stringbuilderPtr_Char_Signed>, I[%i1, %i0], R[%r8], <CallDescr(rii) EF=5>
 805  -live- %r8
 805  goto L28
 808  ---
 808  L25:
 808  goto L26
 811  ---
 811  L23:
 811  inline_call_ir_r <JitCode 'Formatter._fill_number'>, I[%i5, $0, %i10, $False], R[%r0, %r6, %r2, %r5, %r1] -> %r2
 826  -live- %i3, %i8, %i9, %r0, %r2, %r3, %r4, %r5, %r7, %r8
 826  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r8, %r2]
 832  -live- %i3, %i8, %i9, %r0, %r3, %r4, %r5, %r7, %r8
 832  goto L24
 835  ---
 835  L21:
 835  goto L22
 838  ---
 838  L19:
 838  residual_call_ir_v $<* fn _ll_append_multiple_char__stringbuilderPtr_Char_Signed>, I[%i1, %i0], R[%r8], <CallDescr(rii) EF=5>
 847  -live- %i10, %i3, %i4, %i5, %i8, %i9, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 847  goto L20
 850  ---
 850  L17:
 850  goto L18
 853  ---
 853  L15:
 853  setfield_gc_i %r0, $'+', FieldDescr<pypy.objspace.std.newformat.Formatter.inst__sign>
 858  goto L16
 861  ---
 861  L13:
 861  int_copy $0 -> %i9
 864  ref_copy $<* struct rpy_string> -> %r3
 867  goto L14
 870  ---
 870  L11:
 870  int_copy $0 -> %i5
 873  ref_copy $<* struct rpy_string> -> %r6
 876  goto L12
 879  ---
 879  L9:
 879  goto L10
 882  ---
 882  L6:
 882  -live- %r0, %r1
 882  getfield_gc_f_pure %r1, FieldDescr<pypy.objspace.std.complexobject.W_ComplexObject.inst_realval> -> %f0
 887  -live- %f0, %r0, %r1
 887  goto_if_not_float_eq %f0, $0.0, L34
 892  residual_call_irf_f $<* fn copysign>, I[], R[], F[$1.0, %f0], <CallDescr(ff) EF=0> -> %f0
 902  -live- %f0, %r0, %r1
 902  goto_if_not_float_eq %f0, $1.0, L35
 907  int_copy $12 -> %i0
 910  int_copy $'g' -> %i1
 913  int_copy $0 -> %i3
 916  int_copy $1 -> %i4
 919  goto L8
 922  ---
 922  L35:
 922  int_copy $12 -> %i0
 925  int_copy $'g' -> %i1
 928  int_copy $1 -> %i3
 931  int_copy $0 -> %i4
 934  goto L8
 937  ---
 937  L34:
 937  int_copy $12 -> %i0
 940  int_copy $'g' -> %i1
 943  int_copy $1 -> %i3
 946  int_copy $0 -> %i4
 949  goto L8
 952  ---
 952  L7:
 952  -live- %r0, %r1
 952  int_copy $6 -> %i0
 955  int_copy $'g' -> %i1
 958  int_copy $0 -> %i3
 961  int_copy $0 -> %i4
 964  goto L8
 967  ---
 967  L1:
 967  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.newformat.Formatter.inst__thousands_sep> -> %i0
 972  -live- %i0, %i1, %r0, %r1
 972  goto_if_not %i0, L36
 976  ref_copy $<* struct rpy_string> -> %r2
 979  ref_copy $<* struct rpy_string> -> %r3
 982  ref_copy $<* struct rpy_string> -> %r4
 985  goto L2
 988  ---
 988  L36:
 988  ref_copy $<* struct rpy_string> -> %r2
 991  ref_copy $<* struct rpy_string> -> %r3
 994  ref_copy $<* struct rpy_string> -> %r4
 997  goto L2
