
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] __snprintf_capacity = 0
  [2] __snprintf_size = 0
  [3] __snprintf_buffer = (char *) 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [4] phi()
  [5] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [6] return 
  to:@return

__stackcall void snputc(char c)
snputc: scope:[snputc]  from
  [7] snputc::c#0 = stackidx(char,snputc::OFFSET_STACK_C)
  [8] __snprintf_size = ++ __snprintf_size
  [9] if(__snprintf_size<=__snprintf_capacity) goto snputc::@1
  to:snputc::@return
snputc::@return: scope:[snputc]  from snputc snputc::@2
  [10] return 
  to:@return
snputc::@1: scope:[snputc]  from snputc
  [11] if(__snprintf_size!=__snprintf_capacity) goto snputc::@3
  to:snputc::@2
snputc::@3: scope:[snputc]  from snputc::@1
  [12] phi()
  to:snputc::@2
snputc::@2: scope:[snputc]  from snputc::@1 snputc::@3
  [13] snputc::c#2 = phi( snputc::@3/snputc::c#0, snputc::@1/0 )
  [14] *__snprintf_buffer = snputc::c#2
  [15] __snprintf_buffer = ++ __snprintf_buffer
  to:snputc::@return

void main()
main: scope:[main]  from __start::@1
  [16] phi()
  [17] call snprintf_init
  to:main::@1
main::@1: scope:[main]  from main
  [18] phi()
  [19] call printf_str
  to:main::@2
main::@2: scope:[main]  from main::@1
  [20] stackpush(char) = 0
  [21] callexecute snputc 
  sideeffect stackpullbytes(1)
  [23] call print
  to:main::@3
main::@3: scope:[main]  from main::@2
  [24] phi()
  [25] call snprintf_init
  to:main::@4
main::@4: scope:[main]  from main::@3
  [26] phi()
  [27] call printf_str
  to:main::@5
main::@5: scope:[main]  from main::@4
  [28] phi()
  [29] call printf_string
  to:main::@6
main::@6: scope:[main]  from main::@5
  [30] stackpush(char) = '!'
  [31] callexecute snputc 
  sideeffect stackpullbytes(1)
  [33] call printf_str
  to:main::@7
main::@7: scope:[main]  from main::@6
  [34] stackpush(char) = 0
  [35] callexecute snputc 
  sideeffect stackpullbytes(1)
  [37] call print
  to:main::@8
main::@8: scope:[main]  from main::@7
  [38] phi()
  [39] call snprintf_init
  to:main::@9
main::@9: scope:[main]  from main::@8
  [40] phi()
  [41] call printf_str
  to:main::@10
main::@10: scope:[main]  from main::@9
  [42] phi()
  [43] call printf_sint
  to:main::@11
main::@11: scope:[main]  from main::@10
  [44] phi()
  [45] call printf_str
  to:main::@12
main::@12: scope:[main]  from main::@11
  [46] phi()
  [47] call printf_uint
  to:main::@13
main::@13: scope:[main]  from main::@12
  [48] phi()
  [49] call printf_str
  to:main::@14
main::@14: scope:[main]  from main::@13
  [50] stackpush(char) = 0
  [51] callexecute snputc 
  sideeffect stackpullbytes(1)
  [53] call print
  to:main::@15
main::@15: scope:[main]  from main::@14
  [54] phi()
  [55] call snprintf_init
  to:main::@16
main::@16: scope:[main]  from main::@15
  [56] phi()
  [57] call printf_str
  to:main::@17
main::@17: scope:[main]  from main::@16
  [58] phi()
  [59] call printf_slong
  to:main::@18
main::@18: scope:[main]  from main::@17
  [60] phi()
  [61] call printf_str
  to:main::@19
main::@19: scope:[main]  from main::@18
  [62] stackpush(char) = 0
  [63] callexecute snputc 
  sideeffect stackpullbytes(1)
  [65] call print
  to:main::@return
main::@return: scope:[main]  from main::@19
  [66] return 
  to:@return

void snprintf_init(char *s , unsigned int n)
snprintf_init: scope:[snprintf_init]  from main main::@15 main::@3 main::@8
  [67] __snprintf_capacity = $ffff
  [68] __snprintf_size = 0
  [69] __snprintf_buffer = BUF
  to:snprintf_init::@return
snprintf_init::@return: scope:[snprintf_init]  from snprintf_init
  [70] return 
  to:@return

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@1 main::@11 main::@13 main::@16 main::@18 main::@4 main::@6 main::@9 printf_number_buffer::@5 printf_string::@1
  [71] printf_str::putc#12 = phi( main::@1/&snputc, main::@11/&snputc, main::@13/&snputc, main::@16/&snputc, main::@18/&snputc, main::@4/&snputc, main::@6/&snputc, main::@9/&snputc, printf_number_buffer::@5/printf_str::putc#0, printf_string::@1/printf_string::putc#0 )
  [71] printf_str::s#12 = phi( main::@1/main::s, main::@11/main::s4, main::@13/main::s5, main::@16/main::s6, main::@18/main::s5, main::@4/main::s1, main::@6/main::s2, main::@9/main::s1, printf_number_buffer::@5/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS, printf_string::@1/main::str )
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  [72] printf_str::s#11 = phi( printf_str/printf_str::s#12, printf_str::@2/printf_str::s#0 )
  [73] printf_str::c#1 = *printf_str::s#11
  [74] printf_str::s#0 = ++ printf_str::s#11
  [75] if(0!=printf_str::c#1) goto printf_str::@2
  to:printf_str::@return
printf_str::@return: scope:[printf_str]  from printf_str::@1
  [76] return 
  to:@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  [77] stackpush(char) = printf_str::c#1
  [78] callexecute *printf_str::putc#12 
  sideeffect stackpullbytes(1)
  to:printf_str::@1

void print(char *msg)
print: scope:[print]  from main::@14 main::@19 main::@2 main::@7
  [80] screen#25 = phi( main::@14/screen#1, main::@19/screen#1, main::@2/(char *) 1024, main::@7/screen#1 )
  to:print::@1
print::@1: scope:[print]  from print print::@2
  [81] screen#1 = phi( print/screen#25, print::@2/screen#0 )
  [81] print::msg#5 = phi( print/BUF, print::@2/print::msg#0 )
  [82] if(0!=*print::msg#5) goto print::@2
  to:print::@return
print::@return: scope:[print]  from print::@1
  [83] return 
  to:@return
print::@2: scope:[print]  from print::@1
  [84] *screen#1 = *print::msg#5
  [85] screen#0 = ++ screen#1
  [86] print::msg#0 = ++ print::msg#5
  to:print::@1

void printf_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
printf_string: scope:[printf_string]  from main::@5
  [87] phi()
  to:printf_string::@1
printf_string::@1: scope:[printf_string]  from printf_string
  [88] phi()
  [89] call printf_str
  to:printf_string::@return
printf_string::@return: scope:[printf_string]  from printf_string::@1
  [90] return 
  to:@return

void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_sint: scope:[printf_sint]  from main::@10
  [91] *((char *)&printf_buffer) = 0
  to:printf_sint::@1
printf_sint::@1: scope:[printf_sint]  from printf_sint
  [92] phi()
  [93] call utoa
  to:printf_sint::@2
printf_sint::@2: scope:[printf_sint]  from printf_sint::@1
  [94] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer)
  [95] call printf_number_buffer
  to:printf_sint::@return
printf_sint::@return: scope:[printf_sint]  from printf_sint::@2
  [96] return 
  to:@return

void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint]  from main::@12
  [97] phi()
  to:printf_uint::@1
printf_uint::@1: scope:[printf_uint]  from printf_uint
  [98] *((char *)&printf_buffer) = 0
  [99] call utoa
  to:printf_uint::@2
printf_uint::@2: scope:[printf_uint]  from printf_uint::@1
  [100] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer)
  [101] call printf_number_buffer
  to:printf_uint::@return
printf_uint::@return: scope:[printf_uint]  from printf_uint::@2
  [102] return 
  to:@return

void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_slong: scope:[printf_slong]  from main::@17
  [103] *((char *)&printf_buffer) = 0
  to:printf_slong::@1
printf_slong::@1: scope:[printf_slong]  from printf_slong
  [104] phi()
  [105] call ultoa
  to:printf_slong::@2
printf_slong::@2: scope:[printf_slong]  from printf_slong::@1
  [106] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer)
  [107] call printf_number_buffer
  to:printf_slong::@return
printf_slong::@return: scope:[printf_slong]  from printf_slong::@2
  [108] return 
  to:@return

void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa]  from printf_sint::@1 printf_uint::@1
  [109] utoa::value#10 = phi( printf_sint::@1/printf_sint::uvalue#0, printf_uint::@1/printf_uint::uvalue#0 )
  [109] utoa::radix#2 = phi( printf_sint::@1/DECIMAL, printf_uint::@1/HEXADECIMAL )
  [110] if(utoa::radix#2==DECIMAL) goto utoa::@1
  to:utoa::@2
utoa::@2: scope:[utoa]  from utoa
  [111] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@2
  [112] if(utoa::radix#2==OCTAL) goto utoa::@1
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@3
  [113] if(utoa::radix#2==BINARY) goto utoa::@1
  to:utoa::@5
utoa::@5: scope:[utoa]  from utoa::@4
  [114] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'
  [115] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'
  [116] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'
  [117] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@5 utoa::@8
  [118] return 
  to:@return
utoa::@1: scope:[utoa]  from utoa utoa::@2 utoa::@3 utoa::@4
  [119] utoa::digit_values#8 = phi( utoa/RADIX_DECIMAL_VALUES, utoa::@2/RADIX_HEXADECIMAL_VALUES, utoa::@3/RADIX_OCTAL_VALUES, utoa::@4/RADIX_BINARY_VALUES )
  [119] utoa::max_digits#7 = phi( utoa/5, utoa::@2/4, utoa::@3/6, utoa::@4/$10 )
  to:utoa::@6
utoa::@6: scope:[utoa]  from utoa::@1 utoa::@9
  [120] utoa::buffer#10 = phi( utoa::@9/utoa::buffer#15, utoa::@1/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [120] utoa::started#2 = phi( utoa::@9/utoa::started#4, utoa::@1/0 )
  [120] utoa::value#3 = phi( utoa::@9/utoa::value#7, utoa::@1/utoa::value#10 )
  [120] utoa::digit#2 = phi( utoa::@9/utoa::digit#1, utoa::@1/0 )
  [121] utoa::$4 = utoa::max_digits#7 - 1
  [122] if(utoa::digit#2<utoa::$4) goto utoa::@7
  to:utoa::@8
utoa::@8: scope:[utoa]  from utoa::@6
  [123] utoa::$11 = (char)utoa::value#3
  [124] *utoa::buffer#10 = DIGITS[utoa::$11]
  [125] utoa::buffer#3 = ++ utoa::buffer#10
  [126] *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@7: scope:[utoa]  from utoa::@6
  [127] utoa::$10 = utoa::digit#2 << 1
  [128] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10]
  [129] if(0!=utoa::started#2) goto utoa::@10
  to:utoa::@12
utoa::@12: scope:[utoa]  from utoa::@7
  [130] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10
  to:utoa::@9
utoa::@9: scope:[utoa]  from utoa::@11 utoa::@12
  [131] utoa::buffer#15 = phi( utoa::@12/utoa::buffer#10, utoa::@11/utoa::buffer#4 )
  [131] utoa::started#4 = phi( utoa::@12/utoa::started#2, utoa::@11/1 )
  [131] utoa::value#7 = phi( utoa::@12/utoa::value#3, utoa::@11/utoa::value#0 )
  [132] utoa::digit#1 = ++ utoa::digit#2
  to:utoa::@6
utoa::@10: scope:[utoa]  from utoa::@12 utoa::@7
  [133] utoa_append::buffer#0 = utoa::buffer#10
  [134] utoa_append::value#0 = utoa::value#3
  [135] utoa_append::sub#0 = utoa::digit_value#0
  [136] call utoa_append
  [137] utoa_append::return#0 = utoa_append::value#2
  to:utoa::@11
utoa::@11: scope:[utoa]  from utoa::@10
  [138] utoa::value#0 = utoa_append::return#0
  [139] utoa::buffer#4 = ++ utoa::buffer#10
  to:utoa::@9

void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer]  from printf_sint::@2 printf_slong::@2 printf_uint::@2
  [140] printf_number_buffer::format_upper_case#10 = phi( printf_sint::@2/printf_sint::format_upper_case#0, printf_slong::@2/printf_slong::format_upper_case#0, printf_uint::@2/printf_uint::format_upper_case#0 )
  [140] printf_number_buffer::putc#10 = phi( printf_sint::@2/printf_sint::putc#0, printf_slong::@2/printf_slong::putc#0, printf_uint::@2/printf_uint::putc#0 )
  [140] printf_number_buffer::buffer_sign#10 = phi( printf_sint::@2/printf_number_buffer::buffer_sign#1, printf_slong::@2/printf_number_buffer::buffer_sign#0, printf_uint::@2/printf_number_buffer::buffer_sign#2 )
  [140] printf_number_buffer::format_zero_padding#10 = phi( printf_sint::@2/printf_sint::format_zero_padding#0, printf_slong::@2/printf_slong::format_zero_padding#0, printf_uint::@2/printf_uint::format_zero_padding#0 )
  [140] printf_number_buffer::format_justify_left#10 = phi( printf_sint::@2/printf_sint::format_justify_left#0, printf_slong::@2/printf_slong::format_justify_left#0, printf_uint::@2/printf_uint::format_justify_left#0 )
  [140] printf_number_buffer::format_min_length#3 = phi( printf_sint::@2/printf_sint::format_min_length#0, printf_slong::@2/printf_slong::format_min_length#0, printf_uint::@2/printf_uint::format_min_length#0 )
  [141] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1
  to:printf_number_buffer::@6
printf_number_buffer::@6: scope:[printf_number_buffer]  from printf_number_buffer
  [142] phi()
  [143] call strlen
  [144] strlen::return#2 = strlen::len#2
  to:printf_number_buffer::@14
printf_number_buffer::@14: scope:[printf_number_buffer]  from printf_number_buffer::@6
  [145] printf_number_buffer::$19 = strlen::return#2
  [146] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
  [147] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13
  to:printf_number_buffer::@7
printf_number_buffer::@7: scope:[printf_number_buffer]  from printf_number_buffer::@14
  [148] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0
  to:printf_number_buffer::@13
printf_number_buffer::@13: scope:[printf_number_buffer]  from printf_number_buffer::@14 printf_number_buffer::@7
  [149] printf_number_buffer::len#2 = phi( printf_number_buffer::@14/printf_number_buffer::len#0, printf_number_buffer::@7/printf_number_buffer::len#1 )
  [150] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2
  [151] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21
  to:printf_number_buffer::@1
printf_number_buffer::@21: scope:[printf_number_buffer]  from printf_number_buffer::@13
  [152] phi()
  to:printf_number_buffer::@1
printf_number_buffer::@1: scope:[printf_number_buffer]  from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@21
  [153] printf_number_buffer::padding#10 = phi( printf_number_buffer/0, printf_number_buffer::@21/printf_number_buffer::padding#1, printf_number_buffer::@13/0 )
  [154] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2
  to:printf_number_buffer::@17
printf_number_buffer::@17: scope:[printf_number_buffer]  from printf_number_buffer::@1
  [155] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2
  to:printf_number_buffer::@16
printf_number_buffer::@16: scope:[printf_number_buffer]  from printf_number_buffer::@17
  [156] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
  to:printf_number_buffer::@2
printf_number_buffer::@8: scope:[printf_number_buffer]  from printf_number_buffer::@16
  [157] printf_padding::putc#0 = printf_number_buffer::putc#10
  [158] printf_padding::length#0 = (char)printf_number_buffer::padding#10
  [159] call printf_padding
  to:printf_number_buffer::@2
printf_number_buffer::@2: scope:[printf_number_buffer]  from printf_number_buffer::@1 printf_number_buffer::@16 printf_number_buffer::@17 printf_number_buffer::@8
  [160] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3
  to:printf_number_buffer::@9
printf_number_buffer::@9: scope:[printf_number_buffer]  from printf_number_buffer::@2
  [161] stackpush(char) = printf_number_buffer::buffer_sign#10
  [162] callexecute *printf_number_buffer::putc#10 
  sideeffect stackpullbytes(1)
  to:printf_number_buffer::@3
printf_number_buffer::@3: scope:[printf_number_buffer]  from printf_number_buffer::@2 printf_number_buffer::@9
  [164] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4
  to:printf_number_buffer::@18
printf_number_buffer::@18: scope:[printf_number_buffer]  from printf_number_buffer::@3
  [165] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
  to:printf_number_buffer::@4
printf_number_buffer::@10: scope:[printf_number_buffer]  from printf_number_buffer::@18
  [166] printf_padding::putc#1 = printf_number_buffer::putc#10
  [167] printf_padding::length#1 = (char)printf_number_buffer::padding#10
  [168] call printf_padding
  to:printf_number_buffer::@4
printf_number_buffer::@4: scope:[printf_number_buffer]  from printf_number_buffer::@10 printf_number_buffer::@18 printf_number_buffer::@3
  [169] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5
  to:printf_number_buffer::@11
printf_number_buffer::@11: scope:[printf_number_buffer]  from printf_number_buffer::@4
  [170] phi()
  [171] call strupr
  to:printf_number_buffer::@5
printf_number_buffer::@5: scope:[printf_number_buffer]  from printf_number_buffer::@11 printf_number_buffer::@4
  [172] printf_str::putc#0 = printf_number_buffer::putc#10
  [173] call printf_str
  to:printf_number_buffer::@15
printf_number_buffer::@15: scope:[printf_number_buffer]  from printf_number_buffer::@5
  [174] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return
  to:printf_number_buffer::@20
printf_number_buffer::@20: scope:[printf_number_buffer]  from printf_number_buffer::@15
  [175] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return
  to:printf_number_buffer::@19
printf_number_buffer::@19: scope:[printf_number_buffer]  from printf_number_buffer::@20
  [176] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
  to:printf_number_buffer::@return
printf_number_buffer::@12: scope:[printf_number_buffer]  from printf_number_buffer::@19
  [177] printf_padding::putc#2 = printf_number_buffer::putc#10
  [178] printf_padding::length#2 = (char)printf_number_buffer::padding#10
  [179] call printf_padding
  to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer]  from printf_number_buffer::@12 printf_number_buffer::@15 printf_number_buffer::@19 printf_number_buffer::@20
  [180] return 
  to:@return

void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa]  from printf_slong::@1
  [181] phi()
  to:ultoa::@1
ultoa::@1: scope:[ultoa]  from ultoa ultoa::@4
  [182] ultoa::buffer#11 = phi( ultoa::@4/ultoa::buffer#14, ultoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [182] ultoa::started#2 = phi( ultoa::@4/ultoa::started#4, ultoa/0 )
  [182] ultoa::value#2 = phi( ultoa::@4/ultoa::value#6, ultoa/printf_slong::uvalue#0 )
  [182] ultoa::digit#2 = phi( ultoa::@4/ultoa::digit#1, ultoa/0 )
  [183] if(ultoa::digit#2<ultoa::max_digits#1-1) goto ultoa::@2
  to:ultoa::@3
ultoa::@3: scope:[ultoa]  from ultoa::@1
  [184] ultoa::$11 = (char)ultoa::value#2
  [185] *ultoa::buffer#11 = DIGITS[ultoa::$11]
  [186] ultoa::buffer#3 = ++ ultoa::buffer#11
  [187] *ultoa::buffer#3 = 0
  to:ultoa::@return
ultoa::@return: scope:[ultoa]  from ultoa::@3
  [188] return 
  to:@return
ultoa::@2: scope:[ultoa]  from ultoa::@1
  [189] ultoa::$10 = ultoa::digit#2 << 2
  [190] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10]
  [191] if(0!=ultoa::started#2) goto ultoa::@5
  to:ultoa::@7
ultoa::@7: scope:[ultoa]  from ultoa::@2
  [192] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5
  to:ultoa::@4
ultoa::@4: scope:[ultoa]  from ultoa::@6 ultoa::@7
  [193] ultoa::buffer#14 = phi( ultoa::@7/ultoa::buffer#11, ultoa::@6/ultoa::buffer#4 )
  [193] ultoa::started#4 = phi( ultoa::@7/ultoa::started#2, ultoa::@6/1 )
  [193] ultoa::value#6 = phi( ultoa::@7/ultoa::value#2, ultoa::@6/ultoa::value#0 )
  [194] ultoa::digit#1 = ++ ultoa::digit#2
  to:ultoa::@1
ultoa::@5: scope:[ultoa]  from ultoa::@2 ultoa::@7
  [195] ultoa_append::buffer#0 = ultoa::buffer#11
  [196] ultoa_append::value#0 = ultoa::value#2
  [197] ultoa_append::sub#0 = ultoa::digit_value#0
  [198] call ultoa_append
  [199] ultoa_append::return#0 = ultoa_append::value#2
  to:ultoa::@6
ultoa::@6: scope:[ultoa]  from ultoa::@5
  [200] ultoa::value#0 = ultoa_append::return#0
  [201] ultoa::buffer#4 = ++ ultoa::buffer#11
  to:ultoa::@4

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@10
  [202] phi()
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  [203] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
  [203] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
  [204] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
  to:utoa_append::@3
utoa_append::@3: scope:[utoa_append]  from utoa_append::@1
  [205] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  [206] return 
  to:@return
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  [207] utoa_append::digit#1 = ++ utoa_append::digit#2
  [208] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
  to:utoa_append::@1

unsigned int strlen(char *str)
strlen: scope:[strlen]  from printf_number_buffer::@6
  [209] phi()
  to:strlen::@1
strlen::@1: scope:[strlen]  from strlen strlen::@2
  [210] strlen::len#2 = phi( strlen/0, strlen::@2/strlen::len#1 )
  [210] strlen::str#3 = phi( strlen/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS, strlen::@2/strlen::str#0 )
  [211] if(0!=*strlen::str#3) goto strlen::@2
  to:strlen::@return
strlen::@return: scope:[strlen]  from strlen::@1
  [212] return 
  to:@return
strlen::@2: scope:[strlen]  from strlen::@1
  [213] strlen::len#1 = ++ strlen::len#2
  [214] strlen::str#0 = ++ strlen::str#3
  to:strlen::@1

void printf_padding(void (*putc)(char) , char pad , char length)
printf_padding: scope:[printf_padding]  from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8
  [215] printf_padding::putc#7 = phi( printf_number_buffer::@10/printf_padding::putc#1, printf_number_buffer::@12/printf_padding::putc#2, printf_number_buffer::@8/printf_padding::putc#0 )
  [215] printf_padding::pad#7 = phi( printf_number_buffer::@10/'0', printf_number_buffer::@12/' ', printf_number_buffer::@8/' ' )
  [215] printf_padding::length#6 = phi( printf_number_buffer::@10/printf_padding::length#1, printf_number_buffer::@12/printf_padding::length#2, printf_number_buffer::@8/printf_padding::length#0 )
  to:printf_padding::@1
printf_padding::@1: scope:[printf_padding]  from printf_padding printf_padding::@3
  [216] printf_padding::i#2 = phi( printf_padding/0, printf_padding::@3/printf_padding::i#1 )
  [217] if(printf_padding::i#2<printf_padding::length#6) goto printf_padding::@2
  to:printf_padding::@return
printf_padding::@return: scope:[printf_padding]  from printf_padding::@1
  [218] return 
  to:@return
printf_padding::@2: scope:[printf_padding]  from printf_padding::@1
  [219] stackpush(char) = printf_padding::pad#7
  [220] callexecute *printf_padding::putc#7 
  sideeffect stackpullbytes(1)
  to:printf_padding::@3
printf_padding::@3: scope:[printf_padding]  from printf_padding::@2
  [222] printf_padding::i#1 = ++ printf_padding::i#2
  to:printf_padding::@1

char * strupr(char *str)
strupr: scope:[strupr]  from printf_number_buffer::@11
  [223] phi()
  to:strupr::@1
strupr::@1: scope:[strupr]  from strupr strupr::@3
  [224] strupr::src#2 = phi( strupr/strupr::str#0, strupr::@3/strupr::src#1 )
  [225] if(0!=*strupr::src#2) goto strupr::@2
  to:strupr::@return
strupr::@return: scope:[strupr]  from strupr::@1
  [226] return 
  to:@return
strupr::@2: scope:[strupr]  from strupr::@1
  [227] toupper::ch#0 = *strupr::src#2
  [228] call toupper
  [229] toupper::return#3 = toupper::return#2
  to:strupr::@3
strupr::@3: scope:[strupr]  from strupr::@2
  [230] strupr::$0 = toupper::return#3
  [231] *strupr::src#2 = strupr::$0
  [232] strupr::src#1 = ++ strupr::src#2
  to:strupr::@1

unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append]  from ultoa::@5
  [233] phi()
  to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append]  from ultoa_append ultoa_append::@2
  [234] ultoa_append::digit#2 = phi( ultoa_append/0, ultoa_append::@2/ultoa_append::digit#1 )
  [234] ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#0, ultoa_append::@2/ultoa_append::value#1 )
  [235] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
  to:ultoa_append::@3
ultoa_append::@3: scope:[ultoa_append]  from ultoa_append::@1
  [236] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2]
  to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append]  from ultoa_append::@3
  [237] return 
  to:@return
ultoa_append::@2: scope:[ultoa_append]  from ultoa_append::@1
  [238] ultoa_append::digit#1 = ++ ultoa_append::digit#2
  [239] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0
  to:ultoa_append::@1

char toupper(char ch)
toupper: scope:[toupper]  from strupr::@2
  [240] if(toupper::ch#0<'a') goto toupper::@return
  to:toupper::@2
toupper::@2: scope:[toupper]  from toupper
  [241] if(toupper::ch#0<='z') goto toupper::@1
  to:toupper::@return
toupper::@1: scope:[toupper]  from toupper::@2
  [242] toupper::return#0 = toupper::ch#0 + 'A'-'a'
  to:toupper::@return
toupper::@return: scope:[toupper]  from toupper toupper::@1 toupper::@2
  [243] toupper::return#2 = phi( toupper::@1/toupper::return#0, toupper/toupper::ch#0, toupper::@2/toupper::ch#0 )
  [244] return 
  to:@return
