Changes in / [ff29f08:f6f0cca3]


Ignore:
Files:
15 added
16 deleted
98 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    rff29f08 rf6f0cca3  
    260260                def install_dir = pwd tmp: true
    261261
    262                 //Output compiler version to help with debug
    263                 echo """C++ Compiler :"""
    264                 sh "which ${compiler.cpp_cc} && ${compiler.cpp_cc} --version"
    265                 echo """C   Compiler :"""
    266                 sh "which ${compiler.cfa_cc} && ${compiler.cfa_cc} --version"
    267 
    268262                //Configure the conpilation (Output is not relevant)
    269                 //Use the current directory as the installation target so nothing escapes the sandbox
     263                //Use the current directory as the installation target so nothing
     264                //escapes the sandbox
    270265                //Also specify the compiler by hand
    271266                sh "./configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --prefix=${install_dir} --enable-silent-rules --quiet"
  • doc/bibliography/pl.bib

    rff29f08 rf6f0cca3  
    137137
    138138@article{Nierstrasz87,
    139     keywords    = {Hybrid, active objects, object-oriented languages, object-based languages, delegation, concurrency},
     139    keywords    = {Hybrid, active objects, object-oriented languages,
     140                  object-based languages, delegation, concurrency},
    140141    contributer = {pabuhr@plg},
    141142    author      = {O. M. Nierstrasz},
     
    781782    howpublished= {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html}
    782783                  {{http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}}},
    783     optnote     = {Accessed: 2016-09},
     784    note        = {Accessed: 2016-09},
    784785}
    785786
     
    854855    keywords    = {ANSI C 89},
    855856    contributer = {gjditchfield@plg},
    856     author      = {C90},
    857     title       = {Programming Languages -- {C}},
     857    title       = {American National Standard for Information Systems -- Programming Language -- {C}},
    858858    organization= {American National Standards Institute},
    859     address     = {New York, NY, U.S.A.},
    860     year        = 1990,
    861     note        = {ANSI/ISO 9899-1990}
     859    address     = {1430 Broadway, New York, New York  10018},
     860    month       = dec,
     861    year        = 1989,
     862    note        = {X3.159-1989}
    862863}
    863864
     
    887888    title       = {\textsf{C}{$\mathbf{\forall}$} Features},
    888889    howpublished= {\url{https://plg.uwaterloo.ca/~cforall/features}},
    889     optnote     = {Accessed: 2018-01-01},
     890    note        = {Accessed: 2018-01-01},
    890891}
    891892
     
    899900    address     = {Waterloo, Ontario, Canada, N2L 3G1},
    900901    note        = {\href{http://plg.uwaterloo.ca/theses/EstevesThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-EstevesThesis.pdf}},
    901 }
    902 
    903 @misc{CFAStackEvaluation,
    904     author      = {Aaron Moss},
    905     title       = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},
    906     year        = 2018,
    907     howpublished= {\href{https://plg.uwaterloo.ca/~cforall/evaluation.zip}{https://plg.uwaterloo.ca/\-\-$\sim$cforall/\-StackEvaluation.zip}},
    908     optnote     = {[Accessed May 2018]},
    909 }
    910 
    911 @article{Moss18,
    912     keywords    = {concurrency, C++},
    913     contributer = {pabuhr@plg},
    914     author      = {Aaron Moss and Robert Schluntz and Peter A. Buhr},
    915     title       = {\textsf{C}$\mathbf{\forall}$ : Adding Modern Programming Language Features to C},
    916     year        = 2018,
    917     journal     = spe,
    918     note        = {Accepted, to appear},
    919902}
    920903
     
    16571640}
    16581641
    1659 @misc{Taylor10,
    1660     keywords    = {const, poisoning},
    1661     contributer = {pabuhr@plg},
    1662     author      = {Ian Lance Taylor},
    1663     title       = {const},
    1664     month       = oct,
    1665     year        = 2010,
    1666     howpublished= {\href{https://www.airs.com/blog/archives/428}
    1667                   {https://www.airs.com/\-blog/\-archives/\-428}},
    1668     optnote     = {Accessed: 2018-05},
    1669 }
    1670 
    16711642@phdthesis{Ditchfield92,
    16721643    keywords    = {C, parametric polymorphism, overloading},
     
    27842755@misc{GCCExtensions,
    27852756    contributer = {a3moss@uwaterloo.ca},
    2786     key         = {C Extensions},
     2757    key         = {{GNU}},
    27872758    author      = {{C Extensions}},
    27882759    title       = {Extensions to the {C} Language Family},
    27892760    year        = 2014,
    27902761    howpublished= {\href{https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/C-Extensions.html}{https://\-gcc.gnu.org/\-onlinedocs/\-gcc-4.7.2/\-gcc/\-C\-Extensions.html}},
    2791     optnote     = {Accessed: 2017-04-02},
     2762    note        = {Accessed: 2017-04-02},
    27922763}
    27932764
     
    29762947    month       = jul, year = 1987,
    29772948    volume      = 4, number = 4, pages = {9-16}
    2978 }
    2979 
    2980 @misc{Sutter05c,
    2981     contributer = {pabuhr@plg},
    2982     title       = {The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software},
    2983     author      = {Herb Sutter},
    2984     howpublished= {\url{http://www.gotw.ca/publications/concurrency-ddj.htm}},
    2985     year        = {2005},
    2986     note        = {originally Dr. Dobb's Journal 30(3)},
    29872949}
    29882950
     
    31753137    year        = 2014,
    31763138    howpublished= {https://developer.gnome.org/gobject/stable/},
    3177     optnote     = {Accessed: 2017-04},
     3139    note        = {Accessed: 2017-04},
    31783140}
    31793141
     
    32473209
    32483210% H
    3249 
    3250 @manual{Haskell10,
    3251     keywords    = {Haskell},
    3252     contributer = {pabuhr@plg},
    3253     author      = {Haskell},
    3254     title       = {Haskell 2010 Language Report},
    3255     edition     = {{S}imon {M}arlow},
    3256     year        = 2010,
    3257     note        = {\href{https://haskell.org/definition/haskell2010.pdf}{https://haskell.org/\-definition/\-haskell2010.pdf}},
    3258 }
    32593211
    32603212@article{Michael04a,
     
    38083760    keywords    = {concurrency, critical section},
    38093761    contributer = {pabuhr@plg},
    3810     author      = {Dominic Duggan and G. V. Cormack and John Ophel},
     3762    author      = {Dominic Duggan and Gordon V. Cormack and John Ophel},
    38113763    title       = {Kinded Type Inference for Parametric Overloading},
    38123764    journal     = acta,
     
    47334685    year        = 2015,
    47344686    howpublished= {\href{https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/ObjectiveC.html}{https://developer.apple.com/\-library/\-content/\-documentation/\-General/\-Conceptual/\-DevPedia-\-CocoaCore/\-ObjectiveC.html}},
    4735     optnote     = {Accessed: 2018-03}
     4687    note        = {Accessed: 2018-03}
    47364688}
    47374689
     
    47434695    year        = 2015,
    47444696    howpublished= {\href{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}{https://developer.apple.com/\-library/\-content/\-documentation/\-Xcode/\-Conceptual/\-RN-Xcode-Archive/\-Chapters/\-xc7\_release\_notes.html}},
    4745     optnote     = {Accessed: 2017-04}
     4697    note        = {Accessed: 2017-04}
    47464698}
    47474699
     
    58055757    keywords    = {Cyclone, existential types, polymorphism, type variables},
    58065758    contributer = {a3moss@plg},
    5807     author      = {D. Grossman},
     5759    author      = {Dan Grossman},
    58085760    title       = {Quantified Types in an Imperative Language},
    58095761    journal     = toplas,
     
    68106762    title       = {{TIOBE} Index},
    68116763    howpublished= {\href{http://www.tiobe.com/tiobe_index}{http://\-www.tiobe.com/\-tiobe\_index}},
    6812     optnote     = {Accessed: 2018-09},
     6764    note        = {Accessed: 2018-09},
    68136765}
    68146766
     
    71357087    year        = 2017,
    71367088    howpublished= {\url{https://wiki.gnome.org/Projects/Vala/Manual}},
    7137     optnote     = {Accessed: 2017-04}
     7089    note        = {Accessed: 2017-04}
    71387090}
    71397091
  • doc/papers/AMA/AMA-stix/Documents/README.txt

    rff29f08 rf6f0cca3  
    1313%   NJDnatbib.sty --> NJD natbib reference package.
    1414%   Stix-Fonts (folder) -->   Stix font files
    15 %   Execute(double click) --> Windows-Stix-fontinstaller.exe from Stix-Fonts folder (This EXE file will install fonts to local drive)
     15
     16%   MiKTeX 2.9 (Freeware software) is required to install STIX/LATO fonts
     17%   Download MiKTeX installer & instructions from the below URLs
     18        https://miktex.org/download
     19        Instructions to install the basic MiKTeX installer
     20        https://miktex.org/howto/install-miktex
     21
     22%   Execute(double click) --> Windows-Stix-fontinstaller.exe from Stix-Fonts folder (This EXE file will install fonts to local drive) (please rename Windows-Stix-fontinstaller.e_xe to Windows-Stix-fontinstaller.exe)
    1623%   Still shows font error, please do the following
    1724%   Start-->run--> type "mo_edmin.exe" and press enter
  • doc/papers/AMA/AMA-stix/ama/WileyNJD-AMA.bst

    rff29f08 rf6f0cca3  
    502502      editor empty$
    503503      { booktitle emphasize * }
    504     { " " * format.editors * " " * booktitle emphasize * ", " * }
     504      { " " * format.editors * " " * booktitle emphasize * ", " * }
    505505      if$
    506506    }
     
    691691    { format.journal emphasize "journal" output.check
    692692      format.date add.semicolon "year" output.check
    693       blank.sep
    694693      format.volume output
    695694      format.number output
     
    825824      new.block
    826825      format.pages output
    827       new.block
    828826      organization output
    829       new.block
    830827      publisher output
    831828      inproformat.date "year" output.check
     
    866863    { new.block organization new.block address new.block.checkb
    867864      organization output
    868       new.block
    869865      address output
    870866    }
     
    887883  new.block
    888884  school "school" output.check
    889   new.block
    890885  address output
    891886  format.date "year" output.check
     
    932927  "PhD thesis" format.thesis.type output.nonnull
    933928  school "school" output.check
    934   new.block
    935929  address output
    936930  format.date "year" output.check
  • doc/papers/AMA/AMA-stix/ama/WileyNJD-v2.cls

    rff29f08 rf6f0cca3  
    484484\if@STIXLargeOneCol%
    485485\RequirePackage[not1,notextcomp,lcgreekalpha]{stix}%
     486\usepackage[scaled]{helvet}
     487\renewcommand\familydefault{\sfdefault}
    486488\usepackage[T1]{fontenc}
    487489\BXhsize=170mm%
     
    526528%\RequirePackage[not1,notextcomp,lcgreekalpha]{stix}%
    527529
    528 \captionsetup[figure]{labelformat=simple, labelsep=none, skip=10pt, labelfont=bf}
    529 \captionsetup[table]{labelformat=simple, labelsep=none, skip=10pt, labelfont=bf}
    530 \renewcommand{\thefigure}{\arabic{figure}\enspace }
    531 
    532 \renewcommand{\thetable}{\arabic{table}\enspace }
     530\captionsetup[figure]{labelformat=simple, labelsep=space, skip=10pt, labelfont=bf}
     531\captionsetup[table]{labelformat=simple, labelsep=space, skip=10pt, labelfont=bf}
     532\renewcommand{\thefigure}{\arabic{figure}}
     533
     534\renewcommand{\thetable}{\arabic{table}}
    533535
    534536\renewcommand\figurename{\textbf{FIGURE}}%%
     
    964966% Footnotes
    965967%
    966 %%\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
     968%\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
    967969
    968970
     
    12771279
    12781280\if@font@stix%
    1279   \def\footnotetextfont{\rmfamily\fontsize{8bp}{10bp}\selectfont}\else%
     1281  \def\footnotetextfont{\sffamily\fontsize{8bp}{10bp}\selectfont}\else%
    12801282  %%
    1281   \def\footnotetextfont{\rmfamily\fontsize{6bp}{8bp}\selectfont}
     1283  \def\footnotetextfont{\sffamily\fontsize{6bp}{8bp}\selectfont}
    12821284\fi%
    12831285%
     
    12921294\DeclareRobustCommand\sfitseries{\not@math@alphabet\sfitseries\normalfont\fontseries{m}\fontshape{it}\selectfont}
    12931295\DeclareTextFontCommand{\textsfi}{\sfitseries}
    1294 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
     1296\DeclareOldFontCommand{\rm}{\normalfont\sffamily}{\mathrm}
    12951297\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
    12961298\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
     
    13201322\renewcommand\normalsize{%
    13211323  \if@font@stix%
    1322     \@setfontsize\normalsize{10bp}{13bp}%
     1324    \@setfontsize\normalsize{9bp}{12bp}%
    13231325  \else%
    13241326    \@setfontsize\normalsize{8bp}{13bp}%
     
    14121414\gdef\@stix@font@defn{%
    14131415  %
    1414   \def\infoboxfont{\fontfamily{tim}\fontsize{8}{8}\selectfont}%
     1416%  \def\infoboxfont{\fontfamily{tim}\fontsize{8}{8}\selectfont}%
    14151417  %
    1416   \def\watermarkfont{\reset@font\fontfamily{\ffdefault}\fontsize{45}{45}\bfseries\selectfont}
     1418%  \def\watermarkfont{\reset@font\fontfamily{\ffdefault}\fontsize{45}{45}\bfseries\selectfont}
    14171419  %
    1418   \def\pagenumfont{\rmfamily\fontsize{7}{9}\bfseries\selectfont}%
    1419   \def\cnmpagenumfont{\rmfamily\fontsize{7}{9}\selectfont\bfseries}%
    1420 %%%  \def\runningheadfont{\rmfamily\fontsize{7}{9}\scshape\selectfont}%
    1421   \def\runningheadfont{\rmfamily\fontsize{7}{9}\selectfont}%New updations 19aug2016
    1422   \def\runningfootfont{\rmfamily\fontsize{7}{9}\selectfont}%
    1423   \def\titlepageheadfont{\rmfamily\fontsize{7}{9}\selectfont}%
     1420  \def\pagenumfont{\sffamily\fontsize{7}{9}\bfseries\selectfont}%
     1421  \def\cnmpagenumfont{\sffamily\fontsize{7}{9}\selectfont\bfseries}%
     1422%%%  \def\runningheadfont{\sffamily\fontsize{7}{9}\scshape\selectfont}%
     1423  \def\runningheadfont{\sffamily\fontsize{7}{9}\selectfont}%New updations 19aug2016
     1424  \def\runningfootfont{\sffamily\fontsize{7}{9}\selectfont}%
     1425  \def\titlepageheadfont{\sffamily\fontsize{7}{9}\selectfont}%
    14241426  %
    1425   \def\BRarttypefont{\reset@font\rmfamily\fontsize{18}{18}\fontseries{b}\selectfont}%
    1426   \def\pubheadfont{\reset@font\rmfamily\fontsize{7}{9}\fontseries{b}\selectfont}%
    1427   \def\arttypefont{\rmfamily\fontsize{9}{9}\fontseries{b}\selectfont}%
    1428   \def\SParttypefont{\rmfamily\fontsize{9}{12}\fontseries{b}\selectfont}%
    1429   \def\titlefont{\rmfamily\fontsize{18}{23}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil\let\mathbcal\titmathbcal}%
    1430   \def\subtitlefont{\rmfamily\fontsize{16}{21}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1431   \def\Authorfont{\rmfamily\fontsize{12}{18}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1432   \def\absheadfont{\hsize\abs@colii@hsize\rmfamily\fontsize{10}{10}\fontseries{b}\selectfont\bfseries\leftskip7\p@\rightskip\leftskip}% LN20FEB2016
    1433   \def\legalstatementfont{\rmfamily\fontsize{7}{10}\selectfont\leftskip0\p@\rightskip\leftskip}%
    1434     \def\BRsectionfont{\rmfamily\fontsize{10}{16}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1435   \def\sectionfont{\rmfamily\fontsize{12}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1436   \def\subsectionfont{\rmfamily\fontsize{12}{13}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1437   \def\subsubsectionfont{\rmfamily\fontsize{12}{13}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1438   \def\paragraphfont{\rmfamily\fontsize{10.5}{13}\fontseries{b}\selectfont}%
    1439   \def\subparagraphfont{\rmfamily\fontsize{10}{13}\fontseries{b}\selectfont}%
    1440   \def\appsectionfont{\rmfamily\fontsize{10}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1427  \def\BRarttypefont{\reset@font\sffamily\fontsize{18}{18}\fontseries{b}\selectfont}%
     1428  \def\pubheadfont{\reset@font\sffamily\fontsize{7}{9}\fontseries{b}\selectfont}%
     1429  \def\arttypefont{\sffamily\fontsize{9}{9}\fontseries{b}\selectfont}%
     1430  \def\SParttypefont{\sffamily\fontsize{9}{12}\fontseries{b}\selectfont}%
     1431  \def\titlefont{\sffamily\fontsize{18}{23}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1432  \def\subtitlefont{\sffamily\fontsize{16}{21}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1433  \def\Authorfont{\sffamily\fontsize{12}{18}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1434  \def\absheadfont{\hsize\abs@colii@hsize\sffamily\fontsize{10}{10}\fontseries{b}\selectfont\bfseries\leftskip7\p@\rightskip\leftskip}% LN20FEB2016
     1435  \def\legalstatementfont{\sffamily\fontsize{7}{10}\selectfont\leftskip0\p@\rightskip\leftskip}%
     1436    \def\BRsectionfont{\sffamily\fontsize{10}{16}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1437  \def\sectionfont{\sffamily\fontsize{12}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1438  \def\subsectionfont{\sffamily\fontsize{12}{13}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1439  \def\subsubsectionfont{\sffamily\fontsize{12}{13}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1440  \def\paragraphfont{\sffamily\fontsize{10.5}{13}\fontseries{b}\selectfont}%
     1441  \def\subparagraphfont{\sffamily\fontsize{10}{13}\fontseries{b}\selectfont}%
     1442  \def\appsectionfont{\sffamily\fontsize{10}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    14411443  %
    1442   \def\boxheadfont{\rmfamily\fontsize{10}{13}\fontseries{b}\selectfont}
    1443   \def\boxtitlefont{\rmfamily\fontsize{10}{13}\bfseries\selectfont}
     1444  \def\boxheadfont{\sffamily\fontsize{10}{13}\fontseries{b}\selectfont}
     1445  \def\boxtitlefont{\sffamily\fontsize{10}{13}\bfseries\selectfont}
    14441446  %
    1445   \def\GnSabsfont{\rmfamily\fontsize{9}{15}\selectfont}%
    1446   \def\GnSabsfootfont{\reset@font\rmfamily\fontsize{14}{0}\bfseries\selectfont}%
     1447  \def\GnSabsfont{\sffamily\fontsize{9}{15}\selectfont}%
     1448  \def\GnSabsfootfont{\reset@font\sffamily\fontsize{14}{0}\bfseries\selectfont}%
    14471449  %
    1448   \def\suppinfofont{\noindent\rmfamily}%
     1450  \def\suppinfofont{\noindent\sffamily}%
    14491451  \def\suppinfoheadfont{\noindent\fontsize{10}{13}\fontseries{b}\selectfont}%
    1450   \def\suppinfocaptionfont{\noindent\rmfamily}%
     1452  \def\suppinfocaptionfont{\noindent\sffamily}%
    14511453  %
    1452   \def\figurenumfont{\rmfamily\fontsize{9bp}{12}\fontseries{b}\selectfont}%
    1453   \def\figurecaptionfont{\rmfamily\fontsize{8.5bp}{12}\selectfont}
     1454  \def\figurenumfont{\sffamily\fontsize{9bp}{12}\fontseries{b}\selectfont}%
     1455  \def\figurecaptionfont{\sffamily\fontsize{8.5bp}{12}\selectfont}
    14541456  \def\bwfiginfofont{\fontfamily{tim}\fontsize{10bp}{10bp}\selectfont}%
    14551457  %
    1456   \def\tablenumfont{\rmfamily\fontsize{9bp}{11.5bp}\fontseries{b}\selectfont}%
    1457   \def\keypointheadfont{\reset@font\rmfamily\fontsize{10bp}{13bp}\fontseries{b}\selectfont}%
    1458   \def\tablecaptionfont{\rmfamily\fontsize{8.5bp}{12bp}\selectfont}
    1459   \def\tablebodyfont{\rmfamily\fontsize{8.5bp}{11.5bp}\selectfont}
    1460   \def\tablecolheadfont{\rmfamily\fontsize{8.5bp}{11.5bp}\selectfont\bfseries}
    1461   \def\tablefootnotefont{\rmfamily\fontsize{7.5bp}{10.5bp}\selectfont}
     1458  \def\tablenumfont{\sffamily\fontsize{9bp}{11.5bp}\fontseries{b}\selectfont}%
     1459  \def\keypointheadfont{\reset@font\sffamily\fontsize{10bp}{13bp}\fontseries{b}\selectfont}%
     1460  \def\tablecaptionfont{\sffamily\fontsize{8.5bp}{12bp}\selectfont}
     1461  \def\tablebodyfont{\sffamily\fontsize{8.5bp}{11.5bp}\selectfont}
     1462  \def\tablecolheadfont{\sffamily\fontsize{8.5bp}{11.5bp}\selectfont\bfseries}
     1463  \def\tablefootnotefont{\sffamily\fontsize{7.5bp}{10.5bp}\selectfont}
    14621464  %
    1463 %%  \def\footnotetextfont{\rmfamily\fontsize{8bp}{10bp}\selectfont}
     1465%%  \def\footnotetextfont{\sffamily\fontsize{8bp}{10bp}\selectfont}
    14641466  %
    14651467  \def\listfont{\normalsize}%
     
    14711473  %
    14721474  \def\ackheadfont{\fontsize{10}{13}\selectfont\fontseries{b}\selectfont}
    1473   \def\addressfont{\hsize\abs@coli@hsize\rmfamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1474   \def\corresfont{\hsize\abs@coli@hsize\rmfamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1475   \def\FIfont{\hsize\abs@coli@hsize\rmfamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1476   \def\JELfont{\hsize\abs@coli@hsize\rmfamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1477   \def\keywordsheadfont{\hsize\abs@colii@hsize\rmfamily\fontsize{8}{8}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
    1478   \def\abstractfont{\hsize\abs@colii@hsize\rmfamily\fontsize{10}{15}\selectfont\leftskip7\p@\rightskip\leftskip}%
    1479   \def\keywordsfont{\rmfamily\fontsize{8}{13}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
     1475  \def\addressfont{\hsize\abs@coli@hsize\sffamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1476  \def\corresfont{\hsize\abs@coli@hsize\sffamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1477  \def\FIfont{\hsize\abs@coli@hsize\sffamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1478  \def\JELfont{\hsize\abs@coli@hsize\sffamily\fontsize{8}{11}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1479  \def\keywordsheadfont{\hsize\abs@colii@hsize\sffamily\fontsize{8}{8}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
     1480  \def\abstractfont{\hsize\abs@colii@hsize\sffamily\fontsize{9}{14}\selectfont\leftskip7\p@\rightskip\leftskip}%
     1481  \def\keywordsfont{\sffamily\fontsize{8}{13}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
    14801482  %
    14811483}%
    14821484\gdef\@lato@font@defn{%
    14831485  %
    1484   \def\infoboxfont{\fontfamily{tim}\fontsize{8}{8}\selectfont}%
     1486%  \def\infoboxfont{\fontfamily{tim}\fontsize{8}{8}\selectfont}%
    14851487  %
    1486   \def\watermarkfont{\reset@font\fontfamily{\ffdefault}\fontsize{45}{45}\bfseries\selectfont}
     1488%  \def\watermarkfont{\reset@font\fontfamily{\ffdefault}\fontsize{45}{45}\bfseries\selectfont}
    14871489  %
    1488   \def\pagenumfont{\rmfamily\fontsize{7}{9}\bfseries\selectfont}%
    1489   \def\cnmpagenumfont{\rmfamily\fontsize{7}{9}\selectfont\bfseries}%
    1490 %%%  \def\runningheadfont{\rmfamily\fontsize{7}{9}\scshape\selectfont}%
    1491   \def\runningheadfont{\rmfamily\fontsize{7}{9}\selectfont}%New updations 19aug2016
    1492   \def\runningfootfont{\rmfamily\fontsize{7}{9}\selectfont}%
    1493   \def\titlepageheadfont{\rmfamily\fontsize{7}{9}\selectfont}%
     1490  \def\pagenumfont{\sffamily\fontsize{7}{9}\bfseries\selectfont}%
     1491  \def\cnmpagenumfont{\sffamily\fontsize{7}{9}\selectfont\bfseries}%
     1492%%%  \def\runningheadfont{\sffamily\fontsize{7}{9}\scshape\selectfont}%
     1493  \def\runningheadfont{\sffamily\fontsize{7}{9}\selectfont}%New updations 19aug2016
     1494  \def\runningfootfont{\sffamily\fontsize{7}{9}\selectfont}%
     1495  \def\titlepageheadfont{\sffamily\fontsize{7}{9}\selectfont}%
    14941496  %
    1495   \def\BRarttypefont{\reset@font\rmfamily\fontsize{18}{18}\fontseries{b}\selectfont}%
    1496   \def\pubheadfont{\reset@font\rmfamily\fontsize{7}{9}\fontseries{b}\selectfont}%
    1497   \def\arttypefont{\rmfamily\fontsize{9}{9}\fontseries{b}\selectfont}%
    1498   \def\SParttypefont{\rmfamily\fontsize{9}{12}\fontseries{b}\selectfont}%
    1499   \def\titlefont{\rmfamily\fontsize{18}{23}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil\let\mathbcal\titmathbcal}%
    1500   \def\subtitlefont{\rmfamily\fontsize{16}{21}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1501   \def\Authorfont{\rmfamily\fontsize{12}{18}\selectfont\bfseries\leftskip\z@\rightskip\z@ plus1fil}%
    1502   \def\addressfont{\hsize\abs@coli@hsize\rmfamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1503   \def\corresfont{\hsize\abs@coli@hsize\rmfamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1497  \def\BRarttypefont{\reset@font\sffamily\fontsize{18}{18}\fontseries{b}\selectfont}%
     1498  \def\pubheadfont{\reset@font\sffamily\fontsize{7}{9}\fontseries{b}\selectfont}%
     1499  \def\arttypefont{\sffamily\fontsize{9}{9}\fontseries{b}\selectfont}%
     1500  \def\SParttypefont{\sffamily\fontsize{9}{12}\fontseries{b}\selectfont}%
     1501  \def\titlefont{\sffamily\fontsize{18}{23}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil\let\mathbcal\titmathbcal}%
     1502  \def\subtitlefont{\sffamily\fontsize{16}{21}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1503  \def\Authorfont{\sffamily\fontsize{12}{18}\selectfont\bfseries\leftskip\z@\rightskip\z@ plus1fil}%
     1504  \def\addressfont{\hsize\abs@coli@hsize\sffamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1505  \def\corresfont{\hsize\abs@coli@hsize\sffamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    15041506  %
    1505   \def\FIfont{\hsize\abs@coli@hsize\rmfamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1506   \def\JELfont{\hsize\abs@coli@hsize\rmfamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1507   \def\abstractfont{\hsize\abs@colii@hsize\rmfamily\fontsize{8}{13}\selectfont\leftskip7\p@\rightskip\leftskip}%
    1508   \def\keywordsheadfont{\hsize\abs@colii@hsize\rmfamily\fontsize{7}{7}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
    1509   \def\absheadfont{\hsize\abs@colii@hsize\rmfamily\fontsize{10}{10}\fontseries{b}\selectfont\bfseries\leftskip7\p@\rightskip\leftskip}% LN20FEB2016
    1510   \def\keywordsfont{\rmfamily\fontsize{8}{13}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
    1511   \def\legalstatementfont{\rmfamily\fontsize{7}{10}\selectfont\leftskip0\p@\rightskip\leftskip}%
     1507  \def\FIfont{\hsize\abs@coli@hsize\sffamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1508  \def\JELfont{\hsize\abs@coli@hsize\sffamily\fontsize{7}{10}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1509  \def\abstractfont{\hsize\abs@colii@hsize\sffamily\fontsize{8}{13}\selectfont\leftskip7\p@\rightskip\leftskip}%
     1510  \def\keywordsheadfont{\hsize\abs@colii@hsize\sffamily\fontsize{7}{7}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
     1511  \def\absheadfont{\hsize\abs@colii@hsize\sffamily\fontsize{10}{10}\fontseries{b}\selectfont\bfseries\leftskip7\p@\rightskip\leftskip}% LN20FEB2016
     1512  \def\keywordsfont{\sffamily\fontsize{8}{13}\selectfont\ifAbstractexist\leftskip7\p@\rightskip\leftskip\fi}%
     1513  \def\legalstatementfont{\sffamily\fontsize{7}{10}\selectfont\leftskip0\p@\rightskip\leftskip}%
    15121514  %
    1513   \def\BRsectionfont{\rmfamily\fontsize{10}{16}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1514   \def\sectionfont{\rmfamily\fontsize{10}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1515   \def\subsectionfont{\rmfamily\fontsize{10}{14}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1516   \def\subsubsectionfont{\rmfamily\fontsize{9}{12.5}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    1517   \def\paragraphfont{\rmfamily\fontsize{8.5}{13}\fontseries{b}\selectfont}%
    1518   \def\subparagraphfont{\rmfamily\fontsize{8.5}{13}\fontseries{b}\selectfont}%
    1519   \def\appsectionfont{\rmfamily\fontsize{8}{11}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1515  \def\BRsectionfont{\sffamily\fontsize{10}{16}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1516  \def\sectionfont{\sffamily\fontsize{10}{13}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1517  \def\subsectionfont{\sffamily\fontsize{10}{14}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1518  \def\subsubsectionfont{\sffamily\fontsize{9}{12.5}\bfseries\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
     1519  \def\paragraphfont{\sffamily\fontsize{8.5}{13}\fontseries{b}\selectfont}%
     1520  \def\subparagraphfont{\sffamily\fontsize{8.5}{13}\fontseries{b}\selectfont}%
     1521  \def\appsectionfont{\sffamily\fontsize{8}{11}\fontseries{b}\selectfont\leftskip\z@\rightskip\z@ plus1fil}%
    15201522  %
    1521   \def\boxheadfont{\rmfamily\fontsize{8}{10}\fontseries{b}\selectfont}
    1522   \def\boxtitlefont{\rmfamily\fontsize{8}{10}\bfseries\selectfont}
     1523  \def\boxheadfont{\sffamily\fontsize{8}{10}\fontseries{b}\selectfont}
     1524  \def\boxtitlefont{\sffamily\fontsize{8}{10}\bfseries\selectfont}
    15231525  %
    1524   \def\GnSabsfont{\rmfamily\fontsize{9}{15}\selectfont}%
    1525   \def\GnSabsfootfont{\reset@font\rmfamily\fontsize{14}{0}\bfseries\selectfont}%
     1526  \def\GnSabsfont{\sffamily\fontsize{9}{15}\selectfont}%
     1527  \def\GnSabsfootfont{\reset@font\sffamily\fontsize{14}{0}\bfseries\selectfont}%
    15261528  %
    1527   \def\suppinfofont{\noindent\rmfamily}%
     1529  \def\suppinfofont{\noindent\sffamily}%
    15281530  \def\suppinfoheadfont{\noindent\fontsize{8}{13}\fontseries{b}\selectfont}%
    1529   \def\suppinfocaptionfont{\noindent\rmfamily}%
     1531  \def\suppinfocaptionfont{\noindent\sffamily}%
    15301532  %
    1531   \def\figurenumfont{\rmfamily\fontsize{7bp}{9}\fontseries{b}\selectfont}%
    1532   \def\figurecaptionfont{\rmfamily\fontsize{8bp}{11}\selectfont}
     1533  \def\figurenumfont{\sffamily\fontsize{7bp}{9}\fontseries{b}\selectfont}%
     1534  \def\figurecaptionfont{\sffamily\fontsize{8bp}{11}\selectfont}
    15331535  \def\bwfiginfofont{\fontfamily{tim}\fontsize{10bp}{10bp}\selectfont}%
    15341536  %
    1535   \def\tablenumfont{\rmfamily\fontsize{7bp}{9bp}\fontseries{b}\selectfont}%
    1536   \def\keypointheadfont{\reset@font\rmfamily\fontsize{9bp}{11bp}\fontseries{b}\selectfont}%
    1537   \def\tablecaptionfont{\rmfamily\fontsize{8bp}{9bp}\selectfont}
    1538   \def\tablebodyfont{\rmfamily\fontsize{7.5bp}{9bp}\selectfont}
    1539   \def\tablecolheadfont{\rmfamily\fontsize{7.5bp}{9bp}\selectfont\bfseries}
    1540   \def\tablefootnotefont{\rmfamily\fontsize{7.5bp}{9bp}\selectfont}
     1537  \def\tablenumfont{\sffamily\fontsize{7bp}{9bp}\fontseries{b}\selectfont}%
     1538  \def\keypointheadfont{\reset@font\sffamily\fontsize{9bp}{11bp}\fontseries{b}\selectfont}%
     1539  \def\tablecaptionfont{\sffamily\fontsize{8bp}{9bp}\selectfont}
     1540  \def\tablebodyfont{\sffamily\fontsize{7.5bp}{9bp}\selectfont}
     1541  \def\tablecolheadfont{\sffamily\fontsize{7.5bp}{9bp}\selectfont\bfseries}
     1542  \def\tablefootnotefont{\sffamily\fontsize{7.5bp}{9bp}\selectfont}
    15411543  %
    1542 %%  \def\footnotetextfont{\rmfamily\fontsize{8bp}{10bp}\selectfont}
     1544%%  \def\footnotetextfont{\sffamily\fontsize{8bp}{10bp}\selectfont}
    15431545  %
    15441546  \def\listfont{\normalsize}%
     
    32473249    \fi
    32483250  \fi%
    3249   \renewcommand\thefigure{\@Alph\c@section\arabic{figure}\enspace }%
    3250   \renewcommand\thetable{\@Alph\c@section\arabic{table}\enspace }%
     3251  \renewcommand\thefigure{\@Alph\c@section\arabic{figure}}%
     3252  \renewcommand\thetable{\@Alph\c@section\arabic{table}}%
    32513253  \renewcommand\theequation{\@Alph\c@section\arabic{equation}}%
    32523254}{%
  • doc/papers/concurrency/Makefile

    rff29f08 rf6f0cca3  
    7575        mkdir -p ${Build}
    7676
    77 ${BASE}.out.ps: ${Build}
    78         ln -fs ${Build}/Paper.out.ps .
     77${BASE}.out.ps:
     78        ln -fs build/Paper.out.ps .
    7979
    8080WileyNJD-AMA.bst:
    8181        ln -fs ../AMA/AMA-stix/ama/WileyNJD-AMA.bst .
    8282
    83 %.tex : %.fig ${Build}
     83%.tex : %.fig
    8484        fig2dev -L eepic $< > ${Build}/$@
    8585
    86 %.ps : %.fig ${Build}
     86%.ps : %.fig
    8787        fig2dev -L ps $< > ${Build}/$@
    8888
    89 %.pstex : %.fig ${Build}
     89%.pstex : %.fig
    9090        fig2dev -L pstex $< > ${Build}/$@
    9191        fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
  • doc/papers/concurrency/Paper.tex

    rff29f08 rf6f0cca3  
    2222\captionsetup{justification=raggedright,singlelinecheck=false}
    2323\usepackage{siunitx}
    24 \sisetup{binary-units=true}
     24\sisetup{ binary-units=true }
    2525
    2626\hypersetup{breaklinks=true}
     
    3232\renewcommand{\linenumberfont}{\scriptsize\sffamily}
    3333
    34 \renewcommand{\textfraction}{0.0}                       % the entire page maybe devoted to floats with no text on the page at all
     34\renewcommand{\textfraction}{0.0}       % the entire page maybe devoted to floats with no text on the page at all
    3535
    3636\lefthyphenmin=3                                                        % hyphen only after 4 characters
     
    7070%\DeclareTextCommandDefault{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}
    7171\renewcommand{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.075ex}}}
    72 %\def\myCHarFont{\fontencoding{T1}\selectfont}%
    73 % \def\{{\ttfamily\upshape\myCHarFont \char`\}}}%
    74 
    75 \renewcommand*{\thefootnote}{\Alph{footnote}} % hack because fnsymbol does not work
    76 %\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
    7772
    7873\makeatletter
     
    9085\setlength{\gcolumnposn}{3.5in}
    9186\setlength{\columnposn}{\gcolumnposn}
    92 
    9387\newcommand{\C}[2][\@empty]{\ifx#1\@empty\else\global\setlength{\columnposn}{#1}\global\columnposn=\columnposn\fi\hfill\makebox[\textwidth-\columnposn][l]{\lst@basicstyle{\LstCommentStyle{#2}}}}
    9488\newcommand{\CRT}{\global\columnposn=\gcolumnposn}
     
    176170literate={-}{\makebox[1ex][c]{\raisebox{0.4ex}{\rule{0.8ex}{0.1ex}}}}1 {^}{\raisebox{0.6ex}{$\scriptstyle\land\,$}}1
    177171        {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 % {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1
    178         {<}{\textrm{\textless}}1 {>}{\textrm{\textgreater}}1
    179         {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textrm{\textgreater}}}2,
     172        {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.4ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textgreater}}2,
    180173moredelim=**[is][\color{red}]{`}{`},
    181174}% lstset
     
    219212\lstMakeShortInline@%
    220213
    221 \let\OLDthebibliography\thebibliography
    222 \renewcommand\thebibliography[1]{
    223   \OLDthebibliography{#1}
    224   \setlength{\parskip}{0pt}
    225   \setlength{\itemsep}{4pt plus 0.3ex}
    226 }
    227214
    228215\title{\texorpdfstring{Concurrency in \protect\CFA}{Concurrency in Cforall}}
     
    241228\CFA is a modern, polymorphic, \emph{non-object-oriented} extension of the C programming language.
    242229This paper discusses the design of the concurrency and parallelism features in \CFA, and the concurrent runtime-system.
    243 These features are created from scratch as ISO C lacks concurrency, relying largely on the pthreads library.
     230These features are created from scratch as ISO C lacks concurrency, relying largely on pthreads library.
    244231Coroutines and lightweight (user) threads are introduced into the language.
    245232In addition, monitors are added as a high-level mechanism for mutual exclusion and synchronization.
     
    257244\maketitle
    258245
    259 
     246% ======================================================================
     247% ======================================================================
    260248\section{Introduction}
     249% ======================================================================
     250% ======================================================================
    261251
    262252This paper provides a minimal concurrency \newterm{Abstract Program Interface} (API) that is simple, efficient and can be used to build other concurrency features.
     
    264254An easier approach for programmers is to support higher-level constructs as the basis of concurrency.
    265255Indeed, for highly productive concurrent programming, high-level approaches are much more popular~\cite{Hochstein05}.
    266 Examples of high-level approaches are task (work) based~\cite{TBB}, implicit threading~\cite{OpenMP}, monitors~\cite{Java}, channels~\cite{CSP,Go}, and message passing~\cite{Erlang,MPI}.
    267 
    268 The following terminology is used.
     256Examples of high-level approaches are task based~\cite{TBB}, message passing~\cite{Erlang,MPI}, and implicit threading~\cite{OpenMP}.
     257
     258This paper uses the following terminology.
    269259A \newterm{thread} is a fundamental unit of execution that runs a sequence of code and requires a stack to maintain state.
    270260Multiple simultaneous threads give rise to \newterm{concurrency}, which requires locking to ensure safe communication and access to shared data.
    271261% Correspondingly, concurrency is defined as the concepts and challenges that occur when multiple independent (sharing memory, timing dependencies, \etc) concurrent threads are introduced.
    272 \newterm{Locking}, and by extension \newterm{locks}, are defined as a mechanism to prevent progress of threads to provide safety.
     262\newterm{Locking}, and by extension locks, are defined as a mechanism to prevent progress of threads to provide safety.
    273263\newterm{Parallelism} is running multiple threads simultaneously.
    274264Parallelism implies \emph{actual} simultaneous execution, where concurrency only requires \emph{apparent} simultaneous execution.
    275 As such, parallelism only affects performance, which is observed through differences in space and/or time at runtime.
    276 
    277 Hence, there are two problems to be solved: concurrency and parallelism.
     265As such, parallelism only affects performance, which is observed through differences in space and/or time.
     266
     267Hence, there are two problems to be solved in the design of concurrency for a programming language: concurrency and parallelism.
    278268While these two concepts are often combined, they are distinct, requiring different tools~\cite[\S~2]{Buhr05a}.
    279269Concurrency tools handle synchronization and mutual exclusion, while parallelism tools handle performance, cost and resource utilization.
    280270
    281271The proposed concurrency API is implemented in a dialect of C, called \CFA.
    282 The paper discusses how the language features are added to the \CFA translator with respect to parsing, semantic, and type checking, and the corresponding high-performance runtime-library to implement the concurrency features.
    283 
    284 
     272The paper discusses how the language features are added to the \CFA translator with respect to parsing, semantic, and type checking, and the corresponding high-perforamnce runtime-library to implement the concurrency features.
     273
     274% ======================================================================
     275% ======================================================================
    285276\section{\CFA Overview}
     277% ======================================================================
     278% ======================================================================
    286279
    287280The following is a quick introduction to the \CFA language, specifically tailored to the features needed to support concurrency.
    288 Extended versions and explanation of the following code examples are available at the \CFA website~\cite{Cforall} or in Moss~\etal~\cite{Moss18}.
    289 
    290 \CFA is an extension of ISO-C, and hence, supports all C paradigms.
     281Most of the following code examples can be found on the \CFA website~\cite{Cforall}.
     282
     283\CFA is an extension of ISO-C, and therefore, supports all of the same paradigms as C.
    291284%It is a non-object-oriented system-language, meaning most of the major abstractions have either no runtime overhead or can be opted out easily.
    292 Like C, the basics of \CFA revolve around structures and functions.
    293 Virtually all of the code generated by the \CFA translator respects C memory layouts and calling conventions.
    294 While \CFA is not an object-oriented language, lacking the concept of a receiver (\eg @this@) and nominal inheritance-relationships, C does have a notion of objects: ``region of data storage in the execution environment, the contents of which can represent values''~\cite[3.15]{C11}.
    295 While some \CFA features are common in object-oriented programming-languages, they are an independent capability allowing \CFA to adopt them while retaining a procedural paradigm.
     285Like C, the basics of \CFA revolve around structures and routines, which are thin abstractions over machine code.
     286The vast majority of the code produced by the \CFA translator respects memory layouts and calling conventions laid out by C.
     287Interestingly, while \CFA is not an object-oriented language, lacking the concept of a receiver (\eg @this@) and inheritance, it does have some notion of objects\footnote{C defines the term objects as : ``region of data storage in the execution environment, the contents of which can represent
     288values''~\cite[3.15]{C11}}, most importantly construction and destruction of objects.
    296289
    297290
    298291\subsection{References}
    299292
    300 \CFA provides multi-level rebindable references, as an alternative to pointers, which significantly reduces syntactic noise.
    301 \begin{cfa}
    302 int x = 1, y = 2, z = 3;
    303 int * p1 = &x, ** p2 = &p1,  *** p3 = &p2,      $\C{// pointers to x}$
    304         `&` r1 = x,  `&&` r2 = r1,  `&&&` r3 = r2;      $\C{// references to x}$
    305 int * p4 = &z, `&` r4 = z;
    306 
    307 *p1 = 3; **p2 = 3; ***p3 = 3;       // change x
    308 r1 =  3;     r2 = 3;      r3 = 3;        // change x: implicit dereferences *r1, **r2, ***r3
    309 **p3 = &y; *p3 = &p4;                // change p1, p2
    310 `&`r3 = &y; `&&`r3 = &`&`r4;             // change r1, r2: cancel implicit dereferences (&*)**r3, (&(&*)*)*r3, &(&*)r4
    311 \end{cfa}
    312 A reference is a handle to an object, like a pointer, but is automatically dereferenced the specified number of levels.
    313 Referencing (address-of @&@) a reference variable cancels one of the implicit dereferences, until there are no more implicit references, after which normal expression behaviour applies.
    314 
    315 
    316 \subsection{\texorpdfstring{\protect\lstinline{with} Statement}{with Statement}}
    317 \label{s:WithStatement}
    318 
    319 Heterogeneous data is aggregated into a structure/union.
    320 To reduce syntactic noise, \CFA provides a @with@ statement (see Pascal~\cite[\S~4.F]{Pascal}) to elide aggregate field-qualification by opening a scope containing the field identifiers.
    321 \begin{cquote}
    322 \vspace*{-\baselineskip}%???
    323 \lstDeleteShortInline@%
    324 \begin{cfa}
    325 struct S { char c; int i; double d; };
    326 struct T { double m, n; };
    327 // multiple aggregate parameters
    328 \end{cfa}
    329 \begin{tabular}{@{}l@{\hspace{2\parindentlnth}}|@{\hspace{2\parindentlnth}}l@{}}
    330 \begin{cfa}
    331 void f( S & s, T & t ) {
    332         `s.`c; `s.`i; `s.`d;
    333         `t.`m; `t.`n;
    334 }
    335 \end{cfa}
    336 &
    337 \begin{cfa}
    338 void f( S & s, T & t ) `with ( s, t )` {
    339         c; i; d;                // no qualification
    340         m; n;
    341 }
    342 \end{cfa}
    343 \end{tabular}
    344 \lstMakeShortInline@%
    345 \end{cquote}
    346 Object-oriented programming languages only provide implicit qualification for the receiver.
    347 
    348 In detail, the @with@ statement has the form:
    349 \begin{cfa}
    350 $\emph{with-statement}$:
    351         'with' '(' $\emph{expression-list}$ ')' $\emph{compound-statement}$
    352 \end{cfa}
    353 and may appear as the body of a function or nested within a function body.
    354 Each expression in the expression-list provides a type and object.
    355 The type must be an aggregate type.
    356 (Enumerations are already opened.)
    357 The object is the implicit qualifier for the open structure-fields.
    358 All expressions in the expression list are open in parallel within the compound statement, which is different from Pascal, which nests the openings from left to right.
    359 
    360 
     293Like \CC, \CFA introduces rebind-able references providing multiple dereferencing as an alternative to pointers.
     294In regards to concurrency, the semantic difference between pointers and references are not particularly relevant, but since this document uses mostly references, here is a quick overview of the semantics:
     295\begin{cfa}
     296int x, y, z;
     297int * p1 = &x, ** p2 = &p1, *** p3 = &p2,       $\C{// pointers to x}$
     298        & r1 = x,   && r2 = r1, &&& r3 = r2;    $\C{// references to x}$
     299
     300*p1 = 3; **p2 = 3; ***p3 = 3;                           $\C{// change x}$
     301  r1 = 3;    r2 = 3;      r3 = 3;                       $\C{// change x}$
     302**p3 = &y; *p3 = &z;                                            $\C{// change p1, p2}$
     303&&r3 = &y; &r3 = &z;                                            $\C{// change p1, p2}$
     304int & ar[3] = {x, y, z};                                        $\C{// initialize array of references}$
     305
     306typeof( ar[1]) p;                                                       $\C{// is int, referenced object type}$
     307typeof(&ar[1]) q;                                                       $\C{// is int \&, reference type}$
     308sizeof( ar[1]) == sizeof(int);                          $\C{// is true, referenced object size}$
     309sizeof(&ar[1]) == sizeof(int *);                        $\C{// is true, reference size}$
     310\end{cfa}
     311The important take away from this code example is that a reference offers a handle to an object, much like a pointer, but which is automatically dereferenced for convenience.
     312
     313% ======================================================================
    361314\subsection{Overloading}
    362315
    363 \CFA maximizes the ability to reuse names via overloading to aggressively address the naming problem.
    364 Both variables and functions may be overloaded, where selection is based on types, and number of returns (as in Ada~\cite{Ada}) and arguments.
    365 \begin{cquote}
    366 \vspace*{-\baselineskip}%???
    367 \lstDeleteShortInline@%
    368 \begin{cfa}
    369 // selection based on type
    370 \end{cfa}
    371 \begin{tabular}{@{}l@{\hspace{2\parindentlnth}}|@{\hspace{2\parindentlnth}}l@{}}
    372 \begin{cfa}
    373 const short int `MIN` = -32768;
    374 const int `MIN` = -2147483648;
    375 const long int `MIN` = -9223372036854775808L;
    376 \end{cfa}
    377 &
    378 \begin{cfa}
    379 short int si = `MIN`;
    380 int i = `MIN`;
    381 long int li = `MIN`;
    382 \end{cfa}
    383 \end{tabular}
     316Another important feature of \CFA is function overloading as in Java and \CC, where routines with the same name are selected based on the number and type of the arguments.
     317As well, \CFA uses the return type as part of the selection criteria, as in Ada~\cite{Ada}.
     318For routines with multiple parameters and returns, the selection is complex.
    384319\begin{cfa}
    385320// selection based on type and number of parameters
    386 \end{cfa}
    387 \begin{tabular}{@{}l@{\hspace{2.7\parindentlnth}}|@{\hspace{2\parindentlnth}}l@{}}
    388 \begin{cfa}
    389 void `f`( void );
    390 void `f`( char );
    391 void `f`( int, double );
    392 \end{cfa}
    393 &
    394 \begin{cfa}
    395 `f`();
    396 `f`( 'a' );
    397 `f`( 3, 5.2 );
    398 \end{cfa}
    399 \end{tabular}
    400 \begin{cfa}
    401 // selection based on type and number of returns
    402 \end{cfa}
    403 \begin{tabular}{@{}l@{\hspace{2\parindentlnth}}|@{\hspace{2\parindentlnth}}l@{}}
    404 \begin{cfa}
    405 char `f`( int );
    406 double `f`( int );
    407 [char, double] `f`( int );
    408 \end{cfa}
    409 &
    410 \begin{cfa}
    411 char c = `f`( 3 );
    412 double d = `f`( 3 );
    413 [d, c] = `f`( 3 );
    414 \end{cfa}
    415 \end{tabular}
    416 \lstMakeShortInline@%
    417 \end{cquote}
    418 Overloading is important for \CFA concurrency since the runtime system relies on creating different types to represent concurrency objects.
    419 Therefore, overloading is necessary to prevent the need for long prefixes and other naming conventions to prevent name clashes.
    420 As seen in Section~\ref{basics}, function @main@ is heavily overloaded.
    421 
    422 Variable overloading is useful in the parallel semantics of the @with@ statement for fields with the same name:
    423 \begin{cfa}
    424 struct S { int `i`; int j; double m; } s;
    425 struct T { int `i`; int k; int m; } t;
    426 with ( s, t ) {
    427         j + k;                                                                  $\C{// unambiguous, s.j + t.k}$
    428         m = 5.0;                                                                $\C{// unambiguous, s.m = 5.0}$
    429         m = 1;                                                                  $\C{// unambiguous, t.m = 1}$
    430         int a = m;                                                              $\C{// unambiguous, a = t.m }$
    431         double b = m;                                                   $\C{// unambiguous, b = s.m}$
    432         int c = `s.i` + `t.i`;                                  $\C{// unambiguous, qualification}$
    433         (double)m;                                                              $\C{// unambiguous, cast s.m}$
    434 }
    435 \end{cfa}
    436 For parallel semantics, both @s.i@ and @t.i@ are visible the same type, so only @i@ is ambiguous without qualification.
    437 
    438 
     321void f(void);                   $\C{// (1)}$
     322void f(char);                   $\C{// (2)}$
     323void f(int, double);    $\C{// (3)}$
     324f();                                    $\C{// select (1)}$
     325f('a');                                 $\C{// select (2)}$
     326f(3, 5.2);                              $\C{// select (3)}$
     327
     328// selection based on  type and number of returns
     329char   f(int);                  $\C{// (1)}$
     330double f(int);                  $\C{// (2)}$
     331char   c = f(3);                $\C{// select (1)}$
     332double d = f(4);                $\C{// select (2)}$
     333\end{cfa}
     334This feature is particularly important for concurrency since the runtime system relies on creating different types to represent concurrency objects.
     335Therefore, overloading is necessary to prevent the need for long prefixes and other naming conventions that prevent name clashes.
     336As seen in section \ref{basics}, routine @main@ is an example that benefits from overloading.
     337
     338% ======================================================================
    439339\subsection{Operators}
    440 
    441340Overloading also extends to operators.
    442 Operator-overloading syntax names a routine with the operator symbol and question marks for the operands:
    443 \begin{cquote}
    444 \lstDeleteShortInline@%
    445 \begin{tabular}{@{}ll@{\hspace{\parindentlnth}}|@{\hspace{\parindentlnth}}l@{}}
    446 \begin{cfa}
    447 int ++? (int op);
    448 int ?++ (int op);
    449 int `?+?` (int op1, int op2);
    450 int ?<=?(int op1, int op2);
    451 int ?=? (int & op1, int op2);
    452 int ?+=?(int & op1, int op2);
    453 \end{cfa}
    454 &
    455 \begin{cfa}
    456 // unary prefix increment
    457 // unary postfix increment
    458 // binary plus
    459 // binary less than
    460 // binary assignment
    461 // binary plus-assignment
    462 \end{cfa}
    463 &
    464 \begin{cfa}
    465 struct S { int i, j; };
    466 S `?+?`( S op1, S op2) { // add two structures
     341The syntax for denoting operator-overloading is to name a routine with the symbol of the operator and question marks where the arguments of the operation appear, \eg:
     342\begin{cfa}
     343int ++? (int op);                       $\C{// unary prefix increment}$
     344int ?++ (int op);                       $\C{// unary postfix increment}$
     345int ?+? (int op1, int op2);             $\C{// binary plus}$
     346int ?<=?(int op1, int op2);             $\C{// binary less than}$
     347int ?=? (int & op1, int op2);           $\C{// binary assignment}$
     348int ?+=?(int & op1, int op2);           $\C{// binary plus-assignment}$
     349
     350struct S {int i, j;};
     351S ?+?(S op1, S op2) {                           $\C{// add two structures}$
    467352        return (S){op1.i + op2.i, op1.j + op2.j};
    468353}
    469354S s1 = {1, 2}, s2 = {2, 3}, s3;
    470 s3 = s1 `+` s2;         // compute sum: s3 == {2, 5}
    471 \end{cfa}
    472 \end{tabular}
    473 \lstMakeShortInline@%
    474 \end{cquote}
    475 While concurrency does not use operator overloading directly, it provides an introduction for the syntax of constructors.
    476 
    477 
     355s3 = s1 + s2;                                           $\C{// compute sum: s3 == {2, 5}}$
     356\end{cfa}
     357While concurrency does not use operator overloading directly, this feature is more important as an introduction for the syntax of constructors.
     358
     359% ======================================================================
     360\subsection{Constructors/Destructors}
     361Object lifetime is often a challenge in concurrency. \CFA uses the approach of giving concurrent meaning to object lifetime as a means of synchronization and/or mutual exclusion.
     362Since \CFA relies heavily on the lifetime of objects, constructors and destructors is a core feature required for concurrency and parallelism. \CFA uses the following syntax for constructors and destructors:
     363\begin{cfa}
     364struct S {
     365        size_t size;
     366        int * ia;
     367};
     368void ?{}(S & s, int asize) {    $\C{// constructor operator}$
     369        s.size = asize;                         $\C{// initialize fields}$
     370        s.ia = calloc(size, sizeof(S));
     371}
     372void ^?{}(S & s) {                              $\C{// destructor operator}$
     373        free(ia);                                       $\C{// de-initialization fields}$
     374}
     375int main() {
     376        S x = {10}, y = {100};          $\C{// implicit calls: ?\{\}(x, 10), ?\{\}(y, 100)}$
     377        ...                                                     $\C{// use x and y}$
     378        ^x{};  ^y{};                            $\C{// explicit calls to de-initialize}$
     379        x{20};  y{200};                         $\C{// explicit calls to reinitialize}$
     380        ...                                                     $\C{// reuse x and y}$
     381}                                                               $\C{// implicit calls: \^?\{\}(y), \^?\{\}(x)}$
     382\end{cfa}
     383The language guarantees that every object and all their fields are constructed.
     384Like \CC, construction of an object is automatically done on allocation and destruction of the object is done on deallocation.
     385Allocation and deallocation can occur on the stack or on the heap.
     386\begin{cfa}
     387{
     388        struct S s = {10};      $\C{// allocation, call constructor}$
     389        ...
     390}                                               $\C{// deallocation, call destructor}$
     391struct S * s = new();   $\C{// allocation, call constructor}$
     392...
     393delete(s);                              $\C{// deallocation, call destructor}$
     394\end{cfa}
     395Note that like \CC, \CFA introduces @new@ and @delete@, which behave like @malloc@ and @free@ in addition to constructing and destructing objects, after calling @malloc@ and before calling @free@, respectively.
     396
     397% ======================================================================
    478398\subsection{Parametric Polymorphism}
    479399\label{s:ParametricPolymorphism}
    480 
    481 The signature feature of \CFA is parametric-polymorphic functions~\cite{} with functions generalized using a @forall@ clause (giving the language its name), which allow separately compiled routines to support generic usage over multiple types.
     400Routines in \CFA can also be reused for multiple types.
     401This capability is done using the @forall@ clauses, which allow separately compiled routines to support generic usage over multiple types.
    482402For example, the following sum function works for any type that supports construction from 0 and addition:
    483403\begin{cfa}
    484 forall( otype T | { void `?{}`( T *, zero_t ); T `?+?`( T, T ); } ) // constraint type, 0 and +
    485 T sum( T a[$\,$], size_t size ) {
    486         `T` total = { `0` };                                    $\C{// initialize by 0 constructor}$
    487         for ( size_t i = 0; i < size; i += 1 )
    488                 total = total `+` a[i];                         $\C{// select appropriate +}$
     404// constraint type, 0 and +
     405forall(otype T | { void ?{}(T *, zero_t); T ?+?(T, T); })
     406T sum(T a[ ], size_t size) {
     407        T total = 0;                            $\C{// construct T from 0}$
     408        for(size_t i = 0; i < size; i++)
     409                total = total + a[i];   $\C{// select appropriate +}$
    489410        return total;
    490411}
     412
    491413S sa[5];
    492 int i = sum( sa, 5 );                                           $\C{// use S's 0 construction and +}$
    493 \end{cfa}
    494 
    495 \CFA provides \newterm{traits} to name a group of type assertions, where the trait name allows specifying the same set of assertions in multiple locations, preventing repetition mistakes at each function declaration:
    496 \begin{cfa}
    497 trait `sumable`( otype T ) {
    498         void `?{}`( T &, zero_t );                              $\C{// 0 literal constructor}$
    499         T `?+?`( T, T );                                                $\C{// assortment of additions}$
    500         T ?+=?( T &, T );
    501         T ++?( T & );
    502         T ?++( T & );
     414int i = sum(sa, 5);                             $\C{// use S's 0 construction and +}$
     415\end{cfa}
     416
     417Since writing constraints on types can become cumbersome for more constrained functions, \CFA also has the concept of traits.
     418Traits are named collection of constraints that can be used both instead and in addition to regular constraints:
     419\begin{cfa}
     420trait summable( otype T ) {
     421        void ?{}(T *, zero_t);          $\C{// constructor from 0 literal}$
     422        T ?+?(T, T);                            $\C{// assortment of additions}$
     423        T ?+=?(T *, T);
     424        T ++?(T *);
     425        T ?++(T *);
    503426};
    504 forall( otype T `| sumable( T )` )                      $\C{// use trait}$
    505 T sum( T a[$\,$], size_t size );
    506 \end{cfa}
    507 
    508 Assertions can be @otype@ or @dtype@.
    509 @otype@ refers to a ``complete'' object, \ie an object has a size, default constructor, copy constructor, destructor and an assignment operator.
    510 @dtype@ only guarantees an object has a size and alignment.
    511 
    512 Using the return type for discrimination, it is possible to write a type-safe @alloc@ based on the C @malloc@:
    513 \begin{cfa}
    514 forall( dtype T | sized(T) ) T * alloc( void ) { return (T *)malloc( sizeof(T) ); }
    515 int * ip = alloc();                                                     $\C{// select type and size from left-hand side}$
    516 double * dp = alloc();
    517 struct S {...} * sp = alloc();
    518 \end{cfa}
    519 where the return type supplies the type/size of the allocation, which is impossible in most type systems.
    520 
    521 
    522 \subsection{Constructors / Destructors}
    523 
    524 Object lifetime is a challenge in non-managed programming languages.
    525 \CFA responds with \CC-like constructors and destructors:
    526 \begin{cfa}
    527 struct VLA { int len, * data; };                        $\C{// variable length array of integers}$
    528 void ?{}( VLA & vla ) with ( vla ) { len = 10;  data = alloc( len ); }  $\C{// default constructor}$
    529 void ?{}( VLA & vla, int size, char fill ) with ( vla ) { len = size;  data = alloc( len, fill ); } // initialization
    530 void ?{}( VLA & vla, VLA other ) { vla.len = other.len;  vla.data = other.data; } $\C{// copy, shallow}$
    531 void ^?{}( VLA & vla ) with ( vla ) { free( data ); } $\C{// destructor}$
    532 {
    533         VLA  x,            y = { 20, 0x01 },     z = y; $\C{// z points to y}$
    534         //    x{};         y{ 20, 0x01 };          z{ z, y };
    535         ^x{};                                                                   $\C{// deallocate x}$
    536         x{};                                                                    $\C{// reallocate x}$
    537         z{ 5, 0xff };                                                   $\C{// reallocate z, not pointing to y}$
    538         ^y{};                                                                   $\C{// deallocate y}$
    539         y{ x };                                                                 $\C{// reallocate y, points to x}$
    540         x{};                                                                    $\C{// reallocate x, not pointing to y}$
    541         //  ^z{};  ^y{};  ^x{};
    542 }
    543 \end{cfa}
    544 Like \CC, construction is implicit on allocation (stack/heap) and destruction is implicit on deallocation.
    545 The object and all their fields are constructed/destructed.
    546 \CFA also provides @new@ and @delete@, which behave like @malloc@ and @free@, in addition to constructing and destructing objects:
    547 \begin{cfa}
    548 {       struct S s = {10};                                              $\C{// allocation, call constructor}$
    549         ...
    550 }                                                                                       $\C{// deallocation, call destructor}$
    551 struct S * s = new();                                           $\C{// allocation, call constructor}$
    552 ...
    553 delete( s );                                                            $\C{// deallocation, call destructor}$
    554 \end{cfa}
    555 \CFA concurrency uses object lifetime as a means of synchronization and/or mutual exclusion.
    556 
    557 
     427forall( otype T | summable(T) ) $\C{// use trait}$
     428T sum(T a[], size_t size);
     429\end{cfa}
     430
     431Note that the type use for assertions can be either an @otype@ or a @dtype@.
     432Types declared as @otype@ refer to ``complete'' objects, \ie objects with a size, a default constructor, a copy constructor, a destructor and an assignment operator.
     433Using @dtype@, on the other hand, has none of these assumptions but is extremely restrictive, it only guarantees the object is addressable.
     434
     435% ======================================================================
     436\subsection{with Clause/Statement}
     437Since \CFA lacks the concept of a receiver, certain functions end up needing to repeat variable names often.
     438To remove this inconvenience, \CFA provides the @with@ statement, which opens an aggregate scope making its fields directly accessible (like Pascal).
     439\begin{cfa}
     440struct S { int i, j; };
     441int mem(S & this) with (this)           $\C{// with clause}$
     442        i = 1;                                                  $\C{// this->i}$
     443        j = 2;                                                  $\C{// this->j}$
     444}
     445int foo() {
     446        struct S1 { ... } s1;
     447        struct S2 { ... } s2;
     448        with (s1)                                               $\C{// with statement}$
     449        {
     450                // access fields of s1 without qualification
     451                with (s2)                                       $\C{// nesting}$
     452                {
     453                        // access fields of s1 and s2 without qualification
     454                }
     455        }
     456        with (s1, s2)                                   $\C{// scopes open in parallel}$
     457        {
     458                // access fields of s1 and s2 without qualification
     459        }
     460}
     461\end{cfa}
     462
     463For more information on \CFA see \cite{cforall-ug,Schluntz17,www-cfa}.
     464
     465% ======================================================================
     466% ======================================================================
    558467\section{Concurrency Basics}\label{basics}
    559 
    560 At its core, concurrency is based on multiple call-stacks and scheduling threads executing on these stacks.
    561 Multiple call stacks (or contexts) and a single thread of execution, called \newterm{coroutining}~\cite{Conway63,Marlin80}, does \emph{not} imply concurrency~\cite[\S~2]{Buhr05a}.
    562 In coroutining, the single thread is self-scheduling across the stacks, so execution is deterministic, \ie given fixed inputs, the execution path to the outputs is fixed and predictable.
    563 A \newterm{stackless} coroutine executes on the caller's stack~\cite{Python} but this approach is restrictive, \eg preventing modularization and supporting only iterator/generator-style programming;
    564 a \newterm{stackfull} coroutine executes on its own stack, allowing full generality.
    565 Only stackfull coroutines are a stepping-stone to concurrency.
    566 
    567 The transition to concurrency, even for execution with a single thread and multiple stacks, occurs when coroutines also context switch to a scheduling oracle, introducing non-determinism from the coroutine perspective~\cite[\S~3]{Buhr05a}.
    568 Therefore, a minimal concurrency system is possible using coroutines (see Section \ref{coroutine}) in conjunction with a scheduler to decide where to context switch next.
    569 The resulting execution system now follows a cooperative threading-model, called \newterm{non-preemptive scheduling}.
    570 
    571 Because the scheduler is special, it can either be a stackless or stackfull coroutine.
    572 For stackless, the scheduler performs scheduling on the stack of the current coroutine and switches directly to the next coroutine, so there is one context switch.
    573 For stackfull, the current coroutine switches to the scheduler, which performs scheduling, and it then switches to the next coroutine, so there are two context switches.
    574 A stackfull scheduler is often used for simplicity and security, even through there is a slightly higher runtime-cost.
    575 
    576 Regardless of the approach used, a subset of concurrency related challenges start to appear.
    577 For the complete set of concurrency challenges to occur, the missing feature is \newterm{preemption}, where context switching occurs randomly between any two instructions, often based on a timer interrupt, called \newterm{preemptive scheduling}.
    578 While a scheduler introduces uncertainty in the order of execution, preemption introduces uncertainty where context switches occur.
    579 Interestingly, uncertainty is necessary for the runtime (operating) system to give the illusion of parallelism on a single processor and increase performance on multiple processors.
    580 The reason is that only the runtime has complete knowledge about resources and how to best utilized them.
    581 However, the introduction of unrestricted non-determinism results in the need for \newterm{mutual exclusion} and \newterm{synchronization} to restrict non-determinism for correctness;
    582 otherwise, it is impossible to write meaningful programs.
     468% ======================================================================
     469% ======================================================================
     470
     471At its core, concurrency is based on having multiple call-stacks and scheduling among threads of execution executing on these stacks.
     472Multiple call stacks (or contexts) and a single thread of execution does \emph{not} imply concurrency.
     473Execution with a single thread and multiple stacks where the thread is deterministically self-scheduling across the stacks is called \newterm{coroutining};
     474execution with a single thread and multiple stacks but where the thread is scheduled by an oracle (non-deterministic from the thread's perspective) across the stacks is called concurrency~\cite[\S~3]{Buhr05a}.
     475Therefore, a minimal concurrency system can be achieved using coroutines (see Section \ref{coroutine}), which instead of context-switching among each other, always defer to an oracle for where to context-switch next.
     476
     477While coroutines can execute on the caller's stack-frame, stack-full coroutines allow full generality and are sufficient as the basis for concurrency.
     478The aforementioned oracle is a scheduler and the whole system now follows a cooperative threading-model (a.k.a., non-preemptive scheduling).
     479The oracle/scheduler can either be a stack-less or stack-full entity and correspondingly require one or two context-switches to run a different coroutine.
     480In any case, a subset of concurrency related challenges start to appear.
     481For the complete set of concurrency challenges to occur, the only feature missing is preemption.
     482
     483A scheduler introduces order of execution uncertainty, while preemption introduces uncertainty about where context switches occur.
     484Mutual exclusion and synchronization are ways of limiting non-determinism in a concurrent system.
     485Now it is important to understand that uncertainty is desirable; uncertainty can be used by runtime systems to significantly increase performance and is often the basis of giving a user the illusion that tasks are running in parallel.
    583486Optimal performance in concurrent applications is often obtained by having as much non-determinism as correctness allows.
    584487
     
    586489\subsection{\protect\CFA's Thread Building Blocks}
    587490
    588 An important missing feature in C is threading\footnote{While the C11 standard defines a ``threads.h'' header, it is minimal and defined as optional.
     491One of the important features that are missing in C is threading\footnote{While the C11 standard defines a ``threads.h'' header, it is minimal and defined as optional.
    589492As such, library support for threading is far from widespread.
    590493At the time of writing the paper, neither \protect\lstinline|gcc| nor \protect\lstinline|clang| support ``threads.h'' in their standard libraries.}.
    591 On modern architectures, a lack of threading is unacceptable~\cite{Sutter05, Sutter05b}, and therefore existing and new programming languages must have tools for writing efficient concurrent programs to take advantage of parallelism.
     494On modern architectures, a lack of threading is unacceptable~\cite{Sutter05, Sutter05b}, and therefore modern programming languages must have the proper tools to allow users to write efficient concurrent programs to take advantage of parallelism.
    592495As an extension of C, \CFA needs to express these concepts in a way that is as natural as possible to programmers familiar with imperative languages.
    593 Furthermore, because C is a system-level language, programmers expect to choose precisely which features they need and which cost they are willing to pay.
    594 Hence, concurrent programs should be written using high-level mechanisms, and only step down to lower-level mechanisms when performance bottlenecks are encountered.
     496And being a system-level language means programmers expect to choose precisely which features they need and which cost they are willing to pay.
    595497
    596498
    597499\subsection{Coroutines: A Stepping Stone}\label{coroutine}
    598500
    599 While the focus of this discussion is concurrency and parallelism, it is important to address coroutines, which are a significant building block of a concurrency system.
    600 Coroutines are generalized routines allowing execution to be temporarily suspend and later resumed.
    601 Hence, unlike a normal routine, a coroutine may not terminate when it returns to its caller, allowing it to be restarted with the values and execution location present at the point of suspension.
    602 This capability is accomplish via the coroutine's stack, where suspend/resume context switch among stacks.
    603 Because threading design-challenges are present in coroutines, their design effort is relevant, and this effort can be easily exposed to programmers giving them a useful new programming paradigm because a coroutine handles the class of problems that need to retain state between calls, \eg plugins, device drivers, and finite-state machines.
    604 Therefore, the core \CFA coroutine-API for has two fundamental features: independent call-stacks and @suspend@/@resume@ operations.
    605 
    606 For example, a problem made easier with coroutines is unbounded generators, \eg generating an infinite sequence of Fibonacci numbers, where Figure~\ref{f:C-fibonacci} shows conventional approaches for writing a Fibonacci generator in C.
     501While the focus of this proposal is concurrency and parallelism, it is important to address coroutines, which are a significant building block of a concurrency system.
     502\newterm{Coroutine}s are generalized routines with points where execution is suspended and resumed at a later time.
     503Suspend/resume is a context switche and coroutines have other context-management operations.
     504Many design challenges of threads are partially present in designing coroutines, which makes the design effort relevant.
     505The core \textbf{api} of coroutines has two features: independent call-stacks and @suspend@/@resume@.
     506
     507A coroutine handles the class of problems that need to retain state between calls (\eg plugin, device driver, finite-state machine).
     508For example, a problem made easier with coroutines is unbounded generators, \eg generating an infinite sequence of Fibonacci numbers:
    607509\begin{displaymath}
    608 \mathsf{fib}(n) = \left \{
     510f(n) = \left \{
    609511\begin{array}{ll}
    610 0                                       & n = 0         \\
    611 1                                       & n = 1         \\
    612 \mathsf{fib}(n-1) + \mathsf{fib}(n-2)   & n \ge 2       \\
     5120                               & n = 0         \\
     5131                               & n = 1         \\
     514f(n-1) + f(n-2) & n \ge 2       \\
    613515\end{array}
    614516\right.
    615517\end{displaymath}
     518Figure~\ref{f:C-fibonacci} shows conventional approaches for writing a Fibonacci generator in C.
     519
    616520Figure~\ref{f:GlobalVariables} illustrates the following problems:
    617 unique unencapsulated global variables necessary to retain state between calls;
    618 only one Fibonacci generator;
    619 execution state must be explicitly retained via explicit state variables.
     521unencapsulated global variables necessary to retain state between calls;
     522only one fibonacci generator can run at a time;
     523execution state must be explicitly retained.
    620524Figure~\ref{f:ExternalState} addresses these issues:
    621525unencapsulated program global variables become encapsulated structure variables;
    622 unique global variables are replaced by multiple Fibonacci objects;
    623 explicit execution state is removed by precomputing the first two Fibonacci numbers and returning $\mathsf{fib}(n-2)$.
     526multiple fibonacci generators can run at a time by declaring multiple fibonacci objects;
     527explicit execution state is removed by precomputing the first two Fibonacci numbers and returning $f(n-2)$.
    624528
    625529\begin{figure}
     
    681585\begin{lstlisting}[aboveskip=0pt,belowskip=0pt]
    682586`coroutine` Fib { int fn; };
    683 void main( Fib & fib ) with( fib ) {
     587void main( Fib & f ) with( f ) {
    684588        int f1, f2;
    685589        fn = 0;  f1 = fn;  `suspend()`;
     
    705609\begin{lstlisting}[aboveskip=0pt,belowskip=0pt]
    706610`coroutine` Fib { int ret; };
    707 void main( Fib & f ) with( fib ) {
     611void main( Fib & f ) with( f ) {
    708612        int fn, f1 = 1, f2 = 0;
    709613        for ( ;; ) {
     
    732636\end{figure}
    733637
    734 Using a coroutine, it is possible to express the Fibonacci formula directly without any of the C problems.
    735 Figure~\ref{f:Coroutine3States} creates a @coroutine@ type:
    736 \begin{cfa}
    737 `coroutine` Fib { int fn; };
    738 \end{cfa}
    739 which provides communication, @fn@, for the \newterm{coroutine main}, @main@, which runs on the coroutine stack, and possibly multiple interface functions, @next@.
    740 Like the structure in Figure~\ref{f:ExternalState}, the coroutine type allows multiple instances, where instances of this type are passed to the (overloaded) coroutine main.
    741 The coroutine main's stack holds the state for the next generation, @f1@ and @f2@, and the code has the three suspend points, representing the three states in the Fibonacci formula, to context switch back to the caller's resume.
    742 The interface function, @next@, takes a Fibonacci instance and context switches to it using @resume@;
    743 on return, the Fibonacci field, @fn@, contains the next value in the sequence, which is returned.
    744 The first @resume@ is special because it cocalls the coroutine at its coroutine main and allocates the stack;
    745 when the coroutine main returns, its stack is deallocated.
    746 Hence, @Fib@ is an object at creation, transitions to a coroutine on its first resume, and transitions back to an object when the coroutine main finishes.
    747 Figure~\ref{f:Coroutine1State} shows the coroutine version of the C version in Figure~\ref{f:ExternalState}.
    748 Coroutine generators are called \newterm{output coroutines} because values are returned by the coroutine.
    749 
    750 Figure~\ref{f:CFAFmt} shows an \newterm{input coroutine}, @Format@, for restructuring text into groups of character blocks of fixed size.
    751 For example, the input of the left is reformatted into the output on the right.
    752 \begin{quote}
    753 \tt
    754 \begin{tabular}{@{}l|l@{}}
    755 \multicolumn{1}{c|}{\textbf{\textrm{input}}} & \multicolumn{1}{c}{\textbf{\textrm{output}}} \\
    756 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
    757 &
    758 \begin{tabular}[t]{@{}lllll@{}}
    759 abcd    & efgh  & ijkl  & mnop  & qrst  \\
    760 uvwx    & yzab  & cdef  & ghij  & klmn  \\
    761 opqr    & stuv  & wxyz  &               &
    762 \end{tabular}
    763 \end{tabular}
    764 \end{quote}
    765 The example takes advantage of resuming coroutines in the constructor to prime the coroutine loops so the first character sent for formatting appears inside the nested loops.
    766 The destruction provides a newline if formatted text ends with a full line.
    767 Figure~\ref{f:CFmt} shows the C equivalent formatter, where the loops of the coroutine are flatten (linearized) and rechecked on each call because execution location is not retained between calls.
     638Figure~\ref{f:Coroutine3States} creates a @coroutine@ type, which provides communication for multiple interface functions, and the \newterm{coroutine main}, which runs on the coroutine stack.
     639\begin{cfa}
     640`coroutine C { char c; int i; _Bool s; };`      $\C{// used for communication}$
     641void ?{}( C & c ) { s = false; }                        $\C{// constructor}$
     642void main( C & cor ) with( cor ) {                      $\C{// actual coroutine}$
     643        while ( ! s ) // process c
     644        if ( v == ... ) s = false;
     645}
     646// interface functions
     647char cont( C & cor, char ch ) { c = ch; resume( cor ); return c; }
     648_Bool stop( C & cor, int v ) { s = true; i = v; resume( cor ); return s; }
     649\end{cfa}
     650
     651encapsulates the Fibonacci state in the  shows is an example of a solution to the Fibonacci problem using \CFA coroutines, where the coroutine stack holds sufficient state for the next generation.
     652This solution has the advantage of having very strong decoupling between how the sequence is generated and how it is used.
     653Indeed, this version is as easy to use as the @fibonacci_state@ solution, while the implementation is very similar to the @fibonacci_func@ example.
     654
     655Figure~\ref{f:fmt-line} shows the @Format@ coroutine for restructuring text into groups of character blocks of fixed size.
     656The example takes advantage of resuming coroutines in the constructor to simplify the code and highlights the idea that interesting control flow can occur in the constructor.
    768657
    769658\begin{figure}
    770 \centering
    771 \newbox\myboxA
    772 \begin{lrbox}{\myboxA}
    773 \begin{lstlisting}[aboveskip=0pt,belowskip=0pt]
     659\begin{cfa}[xleftmargin=4\parindentlnth]
    774660`coroutine` Format {
    775         char ch;   // used for communication
    776         int g, b;  // global because used in destructor
     661        char ch;                                                                $\C{// used for communication}$
     662        int g, b;                                                               $\C{// global because used in destructor}$
    777663};
     664void ?{}( Format & fmt ) { `resume( fmt );` } $\C{// prime (start) coroutine}$
     665void ^?{}( Format & fmt ) with( fmt ) { if ( g != 0 || b != 0 ) sout | endl; }
    778666void main( Format & fmt ) with( fmt ) {
    779         for ( ;; ) {   
    780                 for ( g = 0; g < 5; g += 1 ) {  // group
    781                         for ( b = 0; b < 4; b += 1 ) { // block
     667        for ( ;; ) {                                                    $\C{// for as many characters}$
     668                for ( g = 0; g < 5; g += 1 ) {          $\C{// groups of 5 blocks}$
     669                        for ( b = 0; b < 4; b += 1 ) {  $\C{// blocks of 4 characters}$
    782670                                `suspend();`
    783                                 sout | ch;              // separator
     671                                sout | ch;                                      $\C{// print character}$
    784672                        }
    785                         sout | "  ";               // separator
     673                        sout | "  ";                                    $\C{// print block separator}$
    786674                }
    787                 sout | endl;
     675                sout | endl;                                            $\C{// print group separator}$
    788676        }
    789677}
    790 void ?{}( Format & fmt ) { `resume( fmt );` }
    791 void ^?{}( Format & fmt ) with( fmt ) {
    792         if ( g != 0 || b != 0 ) sout | endl;
    793 }
    794 void format( Format & fmt ) {
     678void prt( Format & fmt, char ch ) {
     679        fmt.ch = ch;
    795680        `resume( fmt );`
    796681}
    797682int main() {
    798683        Format fmt;
    799         eof: for ( ;; ) {
    800                 sin | fmt.ch;
    801           if ( eof( sin ) ) break eof;
    802                 format( fmt );
     684        char ch;
     685        for ( ;; ) {                                                    $\C{// read until end of file}$
     686                sin | ch;                                                       $\C{// read one character}$
     687          if ( eof( sin ) ) break;                              $\C{// eof ?}$
     688                prt( fmt, ch );                                         $\C{// push character for formatting}$
    803689        }
    804690}
    805 \end{lstlisting}
    806 \end{lrbox}
    807 
    808 \newbox\myboxB
    809 \begin{lrbox}{\myboxB}
    810 \begin{lstlisting}[aboveskip=0pt,belowskip=0pt]
    811 struct Format {
    812         char ch;
    813         int g, b;
    814 };
    815 void format( struct Format * fmt ) {
    816         if ( fmt->ch != -1 ) { // not EOF
    817                 printf( "%c", fmt->ch );
    818                 fmt->b += 1;
    819                 if ( fmt->b == 4 ) {  // block
    820                         printf( "  " );      // separator
    821                         fmt->b = 0;
    822                         fmt->g += 1;
    823                 }
    824                 if ( fmt->g == 5 ) {  // group
    825                         printf( "\n" );      // separator
    826                         fmt->g = 0;
    827                 }
    828         } else {
    829                 if ( fmt->g != 0 || fmt->b != 0 ) printf( "\n" );
    830         }
    831 }
    832 int main() {
    833         struct Format fmt = { 0, 0, 0 };
    834         for ( ;; ) {
    835                 scanf( "%c", &fmt.ch );
    836           if ( feof( stdin ) ) break;
    837                 format( &fmt );
    838         }
    839         fmt.ch = -1;
    840         format( &fmt );
    841 }
    842 \end{lstlisting}
    843 \end{lrbox}
    844 \subfloat[\CFA Coroutine]{\label{f:CFAFmt}\usebox\myboxA}
    845 \qquad
    846 \subfloat[C Linearized]{\label{f:CFmt}\usebox\myboxB}
     691\end{cfa}
    847692\caption{Formatting text into lines of 5 blocks of 4 characters.}
    848693\label{f:fmt-line}
    849694\end{figure}
    850695
    851 The previous examples are \newterm{asymmetric (semi) coroutine}s because one coroutine always calls a resuming function for another coroutine, and the resumed coroutine always suspends back to its last resumer, similar to call/return for normal functions.
    852 However, there is no stack growth because @resume@/@suspend@ context switch to an existing stack frames rather than create a new one.
    853 \newterm{Symmetric (full) coroutine}s have a coroutine call a resuming function for another coroutine, which eventually forms a cycle.
    854 (The trivial cycle is a coroutine resuming itself.)
    855 This control flow is similar to recursion for normal routines, but again there is no stack growth from the context switch.
    856 
    857696\begin{figure}
    858697\centering
    859 \lstset{language=CFA,escapechar={},moredelim=**[is][\protect\color{red}]{`}{`}}% allow $
     698\lstset{language=CFA,escapechar={},moredelim=**[is][\protect\color{red}]{`}{`}}
    860699\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    861700\begin{cfa}
     
    889728        Prod prod;
    890729        Cons cons = { prod };
     730        srandom( getpid() );
    891731        start( prod, 5, cons );
    892732}
     
    925765        `resume( cons );`
    926766}
     767
    927768\end{cfa}
    928769\end{tabular}
     
    930771\label{f:ProdCons}
    931772\end{figure}
    932 
    933 Figure~\ref{f:ProdCons} shows a producer/consumer symmetric-coroutine performing bi-directional communication.
    934 Since the solution involves a full-coroutining cycle, the program main creates one coroutine in isolation, passes this coroutine to its partner, and closes the cycle at the call to @start@.
    935 The @start@ function communicates both the number of elements to be produced and the consumer into the producer's coroutine structure.
    936 Then the @resume@ to @prod@ creates @prod@'s stack with a frame for @prod@'s coroutine main at the top, and context switches to it.
    937 @prod@'s coroutine main starts, creates local variables that are retained between coroutine activations, and executes $N$ iterations, each generating two random vales, calling the consumer to deliver the values, and printing the status returned from the consumer.
    938 
    939 The producer call to @delivery@ transfers values into the consumer's communication variables, resumes the consumer, and returns the consumer status.
    940 For the first resume, @cons@'s stack is initialized, creating local variables retained between subsequent activations of the coroutine.
    941 The consumer iterates until the @done@ flag is set, prints, increments status, and calls back to the producer's @payment@ member, and on return prints the receipt from the producer and increments the money for the next payment.
    942 The call from the consumer to the producer's @payment@ member introduces the cycle between producer and consumer.
    943 When @payment@ is called, the consumer copies values into the producer's communication variable and a resume is executed.
    944 The context switch restarts the producer at the point where it was last context switched and it continues in member @delivery@ after the resume.
    945 
    946 The @delivery@ member returns the status value in @prod@'s @main@ member, where the status is printed.
    947 The loop then repeats calling @delivery@, where each call resumes the consumer coroutine.
    948 The context switch to the consumer continues in @payment@.
    949 The consumer increments and returns the receipt to the call in @cons@'s @main@ member.
    950 The loop then repeats calling @payment@, where each call resumes the producer coroutine.
    951 
    952 After iterating $N$ times, the producer calls @stop@.
    953 The @done@ flag is set to stop the consumer's execution and a resume is executed.
    954 The context switch restarts @cons@ in @payment@ and it returns with the last receipt.
    955 The consumer terminates its loops because @done@ is true, its @main@ terminates, so @cons@ transitions from a coroutine back to an object, and @prod@ reactivates after the resume in @stop@.
    956 The @stop@ member returns and @prod@'s @main@ member terminates.
    957 The program main restarts after the resume in @start@.
    958 The @start@ member returns and the program main terminates.
    959773
    960774
     
    36013415\bibliography{pl,local}
    36023416
    3603 
    36043417\end{document}
    36053418
  • doc/papers/general/.gitignore

    rff29f08 rf6f0cca3  
    88Paper.out.ps
    99WileyNJD-AMA.bst
    10 evaluation.zip
  • doc/papers/general/Makefile

    rff29f08 rf6f0cca3  
    4545        @rm -frv ${DOCUMENT} ${BASE}.ps WileyNJD-AMA.bst ${BASE}.out.ps ${Build}
    4646
    47 Paper.zip :
    48         zip -x general/.gitignore -x general/"*AMA*" -x general/Paper.out.ps -x general/Paper.tex.plain -x general/evaluation.zip -x general/mail -x general/response -x general/test.c -x general/evaluation.zip -x general/Paper.tex.plain -x general/Paper.ps -x general/Paper.pdf -x general/"*build*" -x general/evaluation/.gitignore -x general/evaluation/timing.xlsx -r Paper.zip general
    49 
    50 evaluation.zip :
    51         zip -x evaluation/.gitignore  -x evaluation/timing.xlsx -x evaluation/timing.dat -r evaluation.zip evaluation
    52 
    5347# File Dependencies #
    5448
     
    7266## Define the default recipes.
    7367
    74 ${Build} :
     68${Build}:
    7569        mkdir -p ${Build}
    7670
    77 ${BASE}.out.ps : ${Build}
    78         ln -fs ${Build}/Paper.out.ps .
     71${BASE}.out.ps:
     72        ln -fs build/Paper.out.ps .
    7973
    80 WileyNJD-AMA.bst :
     74WileyNJD-AMA.bst:
    8175        ln -fs ../AMA/AMA-stix/ama/WileyNJD-AMA.bst .
    8276
    83 ${GRAPHS} : ${Build} timing.gp timing.dat
     77${GRAPHS} : timing.gp timing.dat
    8478        gnuplot -e Build="'${Build}/'" evaluation/timing.gp
    8579
    86 %.tex : %.fig ${Build}
     80%.tex : %.fig
    8781        fig2dev -L eepic $< > ${Build}/$@
    8882
    89 %.ps : %.fig ${Build}
     83%.ps : %.fig
    9084        fig2dev -L ps $< > ${Build}/$@
    9185
    92 %.pstex : %.fig ${Build}
     86%.pstex : %.fig
    9387        fig2dev -L pstex $< > ${Build}/$@
    9488        fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
  • doc/papers/general/Paper.tex

    rff29f08 rf6f0cca3  
    5454\newcommand{\TODO}[1]{} % TODO elided
    5555
    56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    57 
    5856% Default underscore is too low and wide. Cannot use lstlisting "literate" as replacing underscore
    5957% removes it as a variable-name character so keywords in variables are highlighted. MUST APPEAR
     
    6260\renewcommand{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.075ex}}}
    6361
    64 \renewcommand*{\thefootnote}{\Alph{footnote}} % hack because fnsymbol does not work
    65 %\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
    66 
    6762\makeatletter
    6863% parindent is relative, i.e., toggled on/off in environments like itemize, so store the value for
     
    7974\setlength{\gcolumnposn}{3.5in}
    8075\setlength{\columnposn}{\gcolumnposn}
    81 
    8276\newcommand{\C}[2][\@empty]{\ifx#1\@empty\else\global\setlength{\columnposn}{#1}\global\columnposn=\columnposn\fi\hfill\makebox[\textwidth-\columnposn][l]{\lst@basicstyle{\LstCommentStyle{#2}}}}
    8377\newcommand{\CRT}{\global\columnposn=\gcolumnposn}
     
    165159literate={-}{\makebox[1ex][c]{\raisebox{0.4ex}{\rule{0.8ex}{0.1ex}}}}1 {^}{\raisebox{0.6ex}{$\scriptstyle\land\,$}}1
    166160        {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 % {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1
    167         {<}{\textrm{\textless}}1 {>}{\textrm{\textgreater}}1
    168         {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textrm{\textgreater}}}2,
     161        {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.4ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textgreater}}2,
    169162moredelim=**[is][\color{red}]{`}{`},
    170163}% lstset
     
    180173\lstMakeShortInline@%
    181174
    182 \let\OLDthebibliography\thebibliography
    183 \renewcommand\thebibliography[1]{
    184   \OLDthebibliography{#1}
    185   \setlength{\parskip}{0pt}
    186   \setlength{\itemsep}{4pt plus 0.3ex}
    187 }
    188175
    189176\title{\texorpdfstring{\protect\CFA : Adding Modern Programming Language Features to C}{Cforall : Adding Modern Programming Language Features to C}}
     
    203190The C programming language is a foundational technology for modern computing with millions of lines of code implementing everything from commercial operating-systems to hobby projects.
    204191This installation base and the programmers producing it represent a massive software-engineering investment spanning decades and likely to continue for decades more.
    205 Nevertheless, C, first standardized almost forty years ago, lacks many features that make programming in more modern languages safer and more productive.
    206 
    207 The goal of the \CFA project (pronounced ``C-for-all'') is to create an extension of C that provides modern safety and productivity features while still ensuring strong backwards compatibility with C and its programmers.
    208 Prior projects have attempted similar goals but failed to honour C programming-style;
    209 for instance, adding object-oriented or functional programming with garbage collection is a non-starter for many C developers.
     192Nevertheless, C, first standardized over thirty years ago, lacks many features that make programming in more modern languages safer and more productive.
     193
     194The goal of the \CFA project is to create an extension of C that provides modern safety and productivity features while still ensuring strong backwards compatibility with C and its programmers.
     195Prior projects have attempted similar goals but failed to honour C programming-style; for instance, adding object-oriented or functional programming with garbage collection is a non-starter for many C developers.
    210196Specifically, \CFA is designed to have an orthogonal feature-set based closely on the C programming paradigm, so that \CFA features can be added \emph{incrementally} to existing C code-bases, and C programmers can learn \CFA extensions on an as-needed basis, preserving investment in existing code and programmers.
    211197This paper presents a quick tour of \CFA features showing how their design avoids shortcomings of similar features in C and other C-like languages.
     
    241227Love it or hate it, C is extremely popular, highly used, and one of the few systems languages.
    242228In many cases, \CC is often used solely as a better C.
    243 Nevertheless, C, first standardized almost forty years ago~\cite{ANSI89:C}, lacks many features that make programming in more modern languages safer and more productive.
    244 
    245 \CFA (pronounced ``C-for-all'', and written \CFA or Cforall) is an evolutionary extension of the C programming language that adds modern language-features to C, while maintaining both source and runtime compatibility with C and a familiar programming model for programmers.
     229Nevertheless, C, first standardized over thirty years ago, lacks many features that make programming in more modern languages safer and more productive.
     230
     231\CFA (pronounced ``C-for-all'', and written \CFA or Cforall) is an evolutionary extension of the C programming language that aims to add modern language features to C, while maintaining both source and runtime compatibility with C and a familiar programming model for programmers.
    246232The four key design goals for \CFA~\cite{Bilson03} are:
    247233(1) The behaviour of standard C code must remain the same when translated by a \CFA compiler as when translated by a C compiler;
     
    252238\CC is used similarly, but has the disadvantages of multiple legacy design-choices that cannot be updated and active divergence of the language model from C, requiring significant effort and training to incrementally add \CC to a C-based project.
    253239
    254 All languages features discussed in this paper are working, except some advanced exception-handling features.
    255 Not discussed in this paper are the integrated concurrency-constructs and user-level threading-library~\cite{Delisle18}.
    256 \CFA is an \emph{open-source} project implemented as a source-to-source translator from \CFA to the gcc-dialect of C~\cite{GCCExtensions}, allowing it to leverage the portability and code optimizations provided by gcc, meeting goals (1)--(3).
     240\CFA is currently implemented as a source-to-source translator from \CFA to the gcc-dialect of C~\cite{GCCExtensions}, allowing it to leverage the portability and code optimizations provided by gcc, meeting goals (1)--(3).
    257241Ultimately, a compiler is necessary for advanced features and optimal performance.
    258 % @plg2[9]% cd cfa-cc/src; cloc ArgTweak CodeGen CodeTools Common Concurrency ControlStruct Designators GenPoly InitTweak MakeLibCfa.cc MakeLibCfa.h Parser ResolvExpr SymTab SynTree Tuples driver prelude main.cc
    259 % -------------------------------------------------------------------------------
    260 % Language                     files          blank        comment           code
    261 % -------------------------------------------------------------------------------
    262 % C++                            108           5420           5232          34961
    263 % C/C++ Header                    86           2379           2450           8464
    264 % Teamcenter def                   2            115             65           1387
    265 % make                             5            168             87           1052
    266 % C                               20            109            403            488
    267 % awk                              1             12             26            121
    268 % sed                              1              0              0              6
    269 % -------------------------------------------------------------------------------
    270 % SUM:                           223           8203           8263          46479
    271 % -------------------------------------------------------------------------------
    272 The \CFA translator is 200+ files and 46,000+ lines of code written in C/\CC.
    273 Starting with a translator versus a compiler makes it easier and faster to generate and debug C object-code rather than intermediate, assembler or machine code.
    274 The translator design is based on the \emph{visitor pattern}, allowing multiple passes over the abstract code-tree, which works well for incrementally adding new feature through additional visitor passes.
    275 At the heart of the translator is the type resolver, which handles the polymorphic routine/type overload-resolution.
    276 % @plg2[8]% cd cfa-cc/src; cloc libcfa
    277 % -------------------------------------------------------------------------------
    278 % Language                     files          blank        comment           code
    279 % -------------------------------------------------------------------------------
    280 % C                               35           1256           1240           9116
    281 % C/C++ Header                    54            358           1106           1198
    282 % make                             2            201            325           1167
    283 % C++                              3             18             17            124
    284 % Assembly                         3             56             97            111
    285 % Bourne Shell                     2              2              0             25
    286 % awk                              1              4              0             22
    287 % -------------------------------------------------------------------------------
    288 % SUM:                           100           1895           2785          11763
    289 % -------------------------------------------------------------------------------
    290 The \CFA runtime system is 100+ files and 11,000+ lines of code, written in \CFA.
    291 Currently, the \CFA runtime is the largest \emph{user} of \CFA providing a vehicle to test the language features and implementation.
    292 % @plg2[6]% cd cfa-cc/src; cloc tests examples benchmark
    293 % -------------------------------------------------------------------------------
    294 % Language                     files          blank        comment           code
    295 % -------------------------------------------------------------------------------
    296 % C                              237          12260           2869          23286
    297 % make                             8            464            245           2838
    298 % C/C++ Header                    22            225            175            785
    299 % Python                           5            131             93            420
    300 % C++                             10             48              5            201
    301 % Lua                              2             31              4            126
    302 % Java                             4              5              0             80
    303 % Go                               2             11              9             40
    304 % -------------------------------------------------------------------------------
    305 % SUM:                           290          13175           3400          27776
    306 % -------------------------------------------------------------------------------
    307 The \CFA tests are 290+ files and 27,000+ lines of code.
    308 The tests illustrate syntactic and semantic features in \CFA, plus a growing number of runtime benchmarks.
    309 The tests check for correctness and are used for daily regression testing of 3800+ commits.
     242All features discussed in this paper are working, unless otherwise stated as under construction.
    310243
    311244Finally, it is impossible to describe a programming language without usages before definitions.
     
    328261There are only two hard things in Computer Science: cache invalidation and \emph{naming things} -- Phil Karlton
    329262\end{quote}
    330 \vspace{-9pt}
    331263C already has a limited form of ad-hoc polymorphism in the form of its basic arithmetic operators, which apply to a variety of different types using identical syntax.
    332264\CFA extends the built-in operator overloading by allowing users to define overloads for any function, not just operators, and even any variable;
     
    334266Code generation for these overloaded functions and variables is implemented by the usual approach of mangling the identifier names to include a representation of their type, while \CFA decides which overload to apply based on the same ``usual arithmetic conversions'' used in C to disambiguate operator overloads.
    335267As an example:
    336 \begin{cfa}
    337 int max = 2147483647;                                           $\C[4in]{// (1)}$
    338 double max = 1.7976931348623157E+308;           $\C{// (2)}$
     268
     269\begin{cfa}
     270int max = 2147483647;                                   $\C[4in]{// (1)}$
     271double max = 1.7976931348623157E+308;   $\C{// (2)}$
    339272int max( int a, int b ) { return a < b ? b : a; }  $\C{// (3)}$
    340273double max( double a, double b ) { return a < b ? b : a; }  $\C{// (4)}\CRT$
    341 max( 7, -max );                                         $\C{// uses (3) and (1), by matching int from constant 7}$
     274max( 7, -max );                                         $\C[2.75in]{// uses (3) and (1), by matching int from constant 7}$
    342275max( max, 3.14 );                                       $\C{// uses (4) and (2), by matching double from constant 3.14}$
    343 max( max, -max );                                       $\C{// ERROR, ambiguous}$
    344 int m = max( max, -max );                       $\C{// uses (3) and (1) twice, by matching return type}$
     276max( max, -max );                                       $\C{// ERROR: ambiguous}$
     277int m = max( max, -max );                       $\C{// uses (3) and (1) twice, by matching return type}\CRT$
    345278\end{cfa}
    346279
     
    351284As is shown later, there are a number of situations where \CFA takes advantage of available type information to disambiguate, where other programming languages generate ambiguities.
    352285
    353 \Celeven added @_Generic@ expressions~\cite[\S~6.5.1.1]{C11}, which is used with preprocessor macros to provide ad-hoc polymorphism;
     286\Celeven added @_Generic@ expressions, which is used in preprocessor macros to provide a form of ad-hoc polymorphism;
    354287however, this polymorphism is both functionally and ergonomically inferior to \CFA name overloading.
    355288The macro wrapping the generic expression imposes some limitations;
    356289\eg, it cannot implement the example above, because the variables @max@ are ambiguous with the functions @max@.
    357290Ergonomic limitations of @_Generic@ include the necessity to put a fixed list of supported types in a single place and manually dispatch to appropriate overloads, as well as possible namespace pollution from the dispatch functions, which must all have distinct names.
    358 \CFA supports @_Generic@ expressions for backwards compatibility, but it is an unnecessary mechanism. \TODO{actually implement that}
     291For backwards compatibility, \CFA supports @_Generic@ expressions, but it is an unnecessary mechanism. \TODO{actually implement that}
    359292
    360293% http://fanf.livejournal.com/144696.html
     
    384317\begin{cfa}
    385318forall( otype T `| { T ?+?(T, T); }` ) T twice( T x ) { return x `+` x; }  $\C{// ? denotes operands}$
    386 int val = twice( twice( 3.7 ) );  $\C{// val == 14}$
     319int val = twice( twice( 3.7 ) );
    387320\end{cfa}
    388321which works for any type @T@ with a matching addition operator.
    389322The polymorphism is achieved by creating a wrapper function for calling @+@ with @T@ bound to @double@, then passing this function to the first call of @twice@.
    390323There is now the option of using the same @twice@ and converting the result to @int@ on assignment, or creating another @twice@ with type parameter @T@ bound to @int@ because \CFA uses the return type~\cite{Cormack81,Baker82,Ada} in its type analysis.
    391 The first approach has a late conversion from @double@ to @int@ on the final assignment, while the second has an early conversion to @int@.
     324The first approach has a late conversion from @double@ to @int@ on the final assignment, while the second has an eager conversion to @int@.
    392325\CFA minimizes the number of conversions and their potential to lose information, so it selects the first approach, which corresponds with C-programmer intuition.
    393326
     
    396329A simple example is leveraging the existing type-unsafe (@void *@) C @bsearch@ to binary search a sorted float array:
    397330\begin{cfa}
    398 void * bsearch( const void * key, const void * base, size_t nmemb, size_t size,
    399                                 int (* compar)( const void *, const void * ));
     331void * bsearch( const void * key, const void * base, size_t nmemb, size_t size, int (* compar)( const void *, const void * ));
    400332int comp( const void * t1, const void * t2 ) {
    401333         return *(double *)t1 < *(double *)t2 ? -1 : *(double *)t2 < *(double *)t1 ? 1 : 0;
     
    423355
    424356\CFA has replacement libraries condensing hundreds of existing C functions into tens of \CFA overloaded functions, all without rewriting the actual computations (see Section~\ref{sec:libraries}).
    425 For example, it is possible to write a type-safe \CFA wrapper @malloc@ based on the C @malloc@, where the return type supplies the type/size of the allocation, which is impossible in most type systems.
     357For example, it is possible to write a type-safe \CFA wrapper @malloc@ based on the C @malloc@:
    426358\begin{cfa}
    427359forall( dtype T | sized(T) ) T * malloc( void ) { return (T *)malloc( sizeof(T) ); }
    428 // select type and size from left-hand side
    429 int * ip = malloc();  double * dp = malloc();  struct S {...} * sp = malloc();
    430 \end{cfa}
     360int * ip = malloc();                                            $\C{// select type and size from left-hand side}$
     361double * dp = malloc();
     362struct S {...} * sp = malloc();
     363\end{cfa}
     364where the return type supplies the type/size of the allocation, which is impossible in most type systems.
    431365
    432366Call-site inferencing and nested functions provide a localized form of inheritance.
     
    435369\begin{cfa}
    436370forall( otype T | { int ?<?( T, T ); } ) void qsort( const T * arr, size_t size ) { /* use C qsort */ }
    437 int main() {
     371{
    438372        int ?<?( double x, double y ) { return x `>` y; } $\C{// locally override behaviour}$
    439         qsort( vals, 10 );                                                      $\C{// descending sort}$
    440 }
    441 \end{cfa}
    442 The local version of @?<?@ performs @?>?@ overriding the built-in @?<?@ so it is passed to @qsort@.
     373        qsort( vals, size );                                    $\C{// descending sort}$
     374}
     375\end{cfa}
     376Within the block, the nested version of @?<?@ performs @?>?@ and this local version overrides the built-in @?<?@ so it is passed to @qsort@.
    443377Hence, programmers can easily form local environments, adding and modifying appropriate functions, to maximize reuse of other existing functions and types.
    444378
    445 To reduce duplication, it is possible to distribute a group of @forall@ (and storage-class qualifiers) over functions/types, so each block declaration is prefixed by the group (see example in Appendix~\ref{s:CforallStack}).
    446 \begin{cfa}
    447 forall( otype `T` ) {                                                   $\C{// distribution block, add forall qualifier to declarations}$
     379Under construction is a mechanism to distribute @forall@ over routines/types, where each block declaration is prefixed with the initial @forall@ clause significantly reducing duplication (see @stack@ examples in Section~\ref{sec:eval}):
     380\begin{cfa}
     381forall( otype `T` ) {                                                   $\C{// forall block}$
    448382        struct stack { stack_node(`T`) * head; };       $\C{// generic type}$
    449         inline {                                                                        $\C{// nested distribution block, add forall/inline to declarations}$
    450                 void push( stack(`T`) & s, `T` value ) ...      $\C{// generic operations}$
    451         }
    452 }
    453 \end{cfa}
    454 
    455 
    456 \vspace*{-2pt}
     383        void push( stack(`T`) & s, `T` value ) ...      $\C{// generic operations}$
     384        T pop( stack(`T`) & s ) ...
     385}
     386\end{cfa}
     387
     388
    457389\subsection{Traits}
    458390
    459391\CFA provides \newterm{traits} to name a group of type assertions, where the trait name allows specifying the same set of assertions in multiple locations, preventing repetition mistakes at each function declaration:
    460 
    461 \begin{cquote}
    462 \lstDeleteShortInline@%
    463 \begin{tabular}{@{}l@{\hspace{\parindentlnth}}|@{\hspace{\parindentlnth}}l@{}}
    464 \begin{cfa}
    465 trait `sumable`( otype T ) {
    466         void `?{}`( T &, zero_t ); // 0 literal constructor
    467         T ?+?( T, T );                   // assortment of additions
    468         T `?+=?`( T &, T );
    469         T ++?( T & );
    470         T ?++( T & );
     392\begin{cfa}
     393trait `summable`( otype T ) {
     394        void ?{}( T *, zero_t );                                $\C{// constructor from 0 literal}$
     395        T ?+?( T, T );                                                  $\C{// assortment of additions}$
     396        T ?+=?( T *, T );
     397        T ++?( T * );
     398        T ?++( T * );
    471399};
    472 \end{cfa}
    473 &
    474 \begin{cfa}
    475 forall( otype T `| sumable( T )` ) // use trait
    476 T sum( T a[$\,$], size_t size ) {
    477         `T` total = { `0` };  // initialize by 0 constructor
    478         for ( size_t i = 0; i < size; i += 1 )
    479                 total `+=` a[i]; // select appropriate +
     400forall( otype T `| summable( T )` ) T sum( T a[$\,$], size_t size ) {$\C{// use trait}$
     401        `T` total = { `0` };                                    $\C{// instantiate T from 0 by calling its constructor}$
     402        for ( unsigned int i = 0; i < size; i += 1 ) total `+=` a[i]; $\C{// select appropriate +}$
    480403        return total;
    481404}
    482405\end{cfa}
    483 \end{tabular}
    484 \lstMakeShortInline@%
    485 \end{cquote}
    486 
    487 Note, the @sumable@ trait does not include a copy constructor needed for the right side of @?+=?@ and return;
    488 it is provided by @otype@, which is syntactic sugar for the following trait:
     406
     407In fact, the set of @summable@ trait operators is incomplete, as it is missing assignment for type @T@, but @otype@ is syntactic sugar for the following implicit trait:
    489408\begin{cfa}
    490409trait otype( dtype T | sized(T) ) {  // sized is a pseudo-trait for types with known size and alignment
     
    504423Instead, each polymorphic function (or generic type) defines the structural type needed for its execution (polymorphic type-key), and this key is fulfilled at each call site from the lexical environment, which is similar to Go~\cite{Go} interfaces.
    505424Hence, new lexical scopes and nested functions are used extensively to create local subtypes, as in the @qsort@ example, without having to manage a nominal-inheritance hierarchy.
    506 % (Nominal inheritance can be approximated with traits using marker variables or functions, as is done in Go.)
     425(Nominal inheritance can be approximated with traits using marker variables or functions, as is done in Go.)
    507426
    508427% Nominal inheritance can be simulated with traits using marker variables or functions:
     
    543462
    544463\CC, Java, and other languages use \newterm{generic types} to produce type-safe abstract data-types.
    545 \CFA generic types integrate efficiently and naturally with the existing polymorphic functions, while retaining backwards compatibility with C and providing separate compilation.
     464\CFA also implements generic types that integrate efficiently and naturally with the existing polymorphic functions, while retaining backwards compatibility with C and providing separate compilation.
    546465However, for known concrete parameters, the generic-type definition can be inlined, like \CC templates.
    547466
    548467A generic type can be declared by placing a @forall@ specifier on a @struct@ or @union@ declaration, and instantiated using a parenthesized list of types after the type name:
    549 \begin{cquote}
    550 \lstDeleteShortInline@%
    551 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    552 \begin{cfa}
    553 `forall( otype R, otype S )` struct pair {
    554         R first;        S second;
     468\begin{cfa}
     469forall( otype R, otype S ) struct pair {
     470        R first;
     471        S second;
    555472};
    556 `forall( otype T )` // dynamic
    557 T value( pair(const char *, T) p ) { return p.second; }
    558 `forall( dtype F, otype T )` // dtype-static (concrete)
    559 T value( pair(F *, T * ) p) { return *p.second; }
    560 \end{cfa}
    561 &
    562 \begin{cfa}
    563 pair(const char *, int) p = {"magic", 42}; // concrete
     473forall( otype T ) T value( pair( const char *, T ) p ) { return p.second; } $\C{// dynamic}$
     474forall( dtype F, otype T ) T value( pair( F *, T * ) p ) { return *p.second; } $\C{// dtype-static (concrete)}$
     475
     476pair( const char *, int ) p = { "magic", 42 }; $\C{// concrete}$
    564477int i = value( p );
    565 pair(void *, int *) q = { 0, &p.second }; // concrete
     478pair( void *, int * ) q = { 0, &p.second }; $\C{// concrete}$
    566479i = value( q );
    567480double d = 1.0;
    568 pair(double *, double *) r = { &d, &d }; // concrete
     481pair( double *, double * ) r = { &d, &d }; $\C{// concrete}$
    569482d = value( r );
    570483\end{cfa}
    571 \end{tabular}
    572 \lstMakeShortInline@%
    573 \end{cquote}
    574484
    575485\CFA classifies generic types as either \newterm{concrete} or \newterm{dynamic}.
    576486Concrete types have a fixed memory layout regardless of type parameters, while dynamic types vary in memory layout depending on their type parameters.
    577487A \newterm{dtype-static} type has polymorphic parameters but is still concrete.
    578 Polymorphic pointers are an example of dtype-static types;
    579 given some type variable @T@, @T@ is a polymorphic type, as is @T *@, but @T *@ has a fixed size and can therefore be represented by @void *@ in code generation.
     488Polymorphic pointers are an example of dtype-static types, \eg @forall(dtype T) T *@ is a polymorphic type, but for any @T@, @T *@  is a fixed-sized pointer, and therefore, can be represented by a @void *@ in code generation.
    580489
    581490\CFA generic types also allow checked argument-constraints.
     
    594503\begin{cfa}
    595504struct _pair_conc0 {
    596         const char * first;  int second;
     505        const char * first;
     506        int second;
    597507};
    598508\end{cfa}
     
    602512\begin{cfa}
    603513struct _pair_conc1 {
    604         void * first, * second;
     514        void * first;
     515        void * second;
    605516};
    606517\end{cfa}
     
    657568Another useful pattern enabled by reused dtype-static type instantiations is zero-cost \newterm{tag-structures}.
    658569Sometimes information is only used for type-checking and can be omitted at runtime, \eg:
    659 \begin{cquote}
    660 \lstDeleteShortInline@%
    661 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    662570\begin{cfa}
    663571forall( dtype Unit ) struct scalar { unsigned long value; };
    664572struct metres {};
    665573struct litres {};
     574
    666575forall( dtype U ) scalar(U) ?+?( scalar(U) a, scalar(U) b ) {
    667576        return (scalar(U)){ a.value + b.value };
    668577}
    669 \end{cfa}
    670 &
    671 \begin{cfa}
    672 scalar(metres) half_marathon = { 21_098 };
    673 scalar(litres) pool = { 2_500_000 };
    674 scalar(metres) marathon = half_marathon +
    675                                                         half_marathon;
    676 scalar(litres) two_pools = pool + pool;
    677 `marathon + pool;`      // ERROR, mismatched types
    678 \end{cfa}
    679 \end{tabular}
    680 \lstMakeShortInline@%
    681 \end{cquote}
     578scalar(metres) half_marathon = { 21_093 };
     579scalar(litres) swimming_pool = { 2_500_000 };
     580scalar(metres) marathon = half_marathon + half_marathon;
     581scalar(litres) two_pools = swimming_pool + swimming_pool;
     582marathon + swimming_pool;                                       $\C{// compilation ERROR}$
     583\end{cfa}
    682584@scalar@ is a dtype-static type, so all uses have a single structure definition, containing @unsigned long@, and can share the same implementations of common functions like @?+?@.
    683585These implementations may even be separately compiled, unlike \CC template functions.
     
    961863}
    962864\end{cfa}
    963 One more step permits the summation of any sumable type with all arguments of the same type:
    964 \begin{cfa}
    965 trait sumable( otype T ) {
     865One more step permits the summation of any summable type with all arguments of the same type:
     866\begin{cfa}
     867trait summable( otype T ) {
    966868        T ?+?( T, T );
    967869};
    968 forall( otype R | sumable( R ) ) R sum( R x, R y ) {
     870forall( otype R | summable( R ) ) R sum( R x, R y ) {
    969871        return x + y;
    970872}
    971 forall( otype R, ttype Params | sumable(R) | { R sum(R, Params); } ) R sum(R x, R y, Params rest) {
     873forall( otype R, ttype Params | summable(R) | { R sum(R, Params); } ) R sum(R x, R y, Params rest) {
    972874        return sum( x + y, rest );
    973875}
     
    1020922\begin{cfa}
    1021923forall( dtype T0, dtype T1 | sized(T0) | sized(T1) ) struct _tuple2 {
    1022         T0 field_0;  T1 field_1;                                        $\C{// generated before the first 2-tuple}$
     924        T0 field_0;                                                             $\C{// generated before the first 2-tuple}$
     925        T1 field_1;
    1023926};
    1024927_tuple2(int, int) f() {
    1025928        _tuple2(double, double) x;
    1026929        forall( dtype T0, dtype T1, dtype T2 | sized(T0) | sized(T1) | sized(T2) ) struct _tuple3 {
    1027                 T0 field_0;  T1 field_1;  T2 field_2;   $\C{// generated before the first 3-tuple}$
     930                T0 field_0;                                                     $\C{// generated before the first 3-tuple}$
     931                T1 field_1;
     932                T2 field_2;
    1028933        };
    1029934        _tuple3(int, double, int) y;
    1030935}
    1031936\end{cfa}
    1032 Tuple expressions are then converted directly into compound literals, \eg @[5, 'x', 1.24]@ becomes @(_tuple3(int, char,@ @double)){ 5, 'x', 1.24 }@.
     937{\sloppy
     938Tuple expressions are then simply converted directly into compound literals, \eg @[5, 'x', 1.24]@ becomes @(_tuple3(int, char, double)){ 5, 'x', 1.24 }@.
     939\par}%
    1033940
    1034941\begin{comment}
     
    11151022\lstDeleteShortInline@%
    11161023\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    1117 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1024\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    11181025\begin{cfa}
    11191026case 2, 10, 34, 42:
     
    11301037\lstDeleteShortInline@%
    11311038\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    1132 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1039\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    11331040\begin{cfa}
    11341041case 2~42:
     
    11831090\centering
    11841091\lstDeleteShortInline@%
    1185 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    1186 \multicolumn{1}{@{}c|@{\hspace{\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1092\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     1093\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    11871094\begin{cfa}
    11881095`choose` ( day ) {
    11891096  case Mon~Thu:  // program
    11901097
    1191   case Fri:    // program
     1098  case Fri:  // program
    11921099        wallet += pay;
    11931100        `fallthrough;`
    1194   case Sat:   // party
     1101  case Sat:  // party
    11951102        wallet -= party;
    11961103
    11971104  case Sun:  // rest
    11981105
    1199   default:    // print error
     1106  default:  // error
    12001107}
    12011108\end{cfa}
     
    12051112  case Mon: case Tue: case Wed: case Thu:  // program
    12061113        `break;`
    1207   case Fri:    // program
     1114  case Fri:  // program
    12081115        wallet += pay;
    12091116
    1210   case Sat:   // party
     1117  case Sat:  // party
    12111118        wallet -= party;
    12121119        `break;`
    12131120  case Sun:  // rest
    12141121        `break;`
    1215   default:    // print error
     1122  default:  // error
    12161123}
    12171124\end{cfa}
     
    12291136\centering
    12301137\lstDeleteShortInline@%
    1231 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    1232 \multicolumn{1}{@{}c|@{\hspace{\parindentlnth}}}{\textbf{non-terminator}}       & \multicolumn{1}{c@{}}{\textbf{target label}}  \\
     1138\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     1139\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{non-terminator}}  & \multicolumn{1}{c}{\textbf{target label}}     \\
    12331140\begin{cfa}
    12341141choose ( ... ) {
     
    12731180\begin{figure}
    12741181\lstDeleteShortInline@%
    1275 \begin{tabular}{@{\hspace{\parindentlnth}}l|@{\hspace{\parindentlnth}}l@{\hspace{\parindentlnth}}l@{}}
    1276 \multicolumn{1}{@{\hspace{\parindentlnth}}c|@{\hspace{\parindentlnth}}}{\textbf{\CFA}}  & \multicolumn{1}{@{\hspace{\parindentlnth}}c@{}}{\textbf{C}}   \\
     1182\begin{tabular}{@{\hspace{\parindentlnth}}l@{\hspace{\parindentlnth}}l@{\hspace{\parindentlnth}}l@{}}
     1183\multicolumn{1}{@{\hspace{\parindentlnth}}c@{\hspace{\parindentlnth}}}{\textbf{\CFA}}   & \multicolumn{1}{@{\hspace{\parindentlnth}}c}{\textbf{C}}      \\
    12771184\begin{cfa}
    12781185`LC:` {
     
    12821189                `LIF:` if ( ... ) {
    12831190                        `LF:` for ( ... ) {
    1284                                 ... break `LC`; ...
    1285                                 ... break `LS`; ...
    1286                                 ... break `LIF`; ...
    1287                                 ... continue `LF;` ...
    1288                                 ... break `LF`; ...
     1191                                `LW:` while ( ... ) {
     1192                                        ... break `LC`; ...
     1193                                        ... break `LS`; ...
     1194                                        ... break `LIF`; ...
     1195                                        ... continue `LF;` ...
     1196                                        ... break `LF`; ...
     1197                                        ... continue `LW`; ...
     1198                                        ... break `LW`; ...
     1199                                } // while
    12891200                        } // for
    12901201                } else {
     
    13021213                if ( ... ) {
    13031214                        for ( ... ) {
    1304                                 ... goto `LC`; ...
    1305                                 ... goto `LS`; ...
    1306                                 ... goto `LIF`; ...
    1307                                 ... goto `LFC`; ...
    1308                                 ... goto `LFB`; ...
     1215                                while ( ... ) {
     1216                                        ... goto `LC`; ...
     1217                                        ... goto `LS`; ...
     1218                                        ... goto `LIF`; ...
     1219                                        ... goto `LFC`; ...
     1220                                        ... goto `LFB`; ...
     1221                                        ... goto `LWC`; ...
     1222                                        ... goto `LWB`; ...
     1223                                  `LWC`: ; } `LWB:` ;
    13091224                          `LFC:` ; } `LFB:` ;
    13101225                } else {
     
    13281243// continue loop
    13291244// terminate loop
     1245// continue loop
     1246// terminate loop
    13301247
    13311248
    13321249
    13331250// terminate if
     1251
     1252
    13341253
    13351254\end{cfa}
     
    13581277\subsection{Exception Handling}
    13591278
    1360 The following framework for \CFA exception-handling is in place, excluding some runtime type-information and virtual functions.
     1279The following framework for \CFA exception handling is in place, excluding some runtime type-information and virtual functions.
    13611280\CFA provides two forms of exception handling: \newterm{fix-up} and \newterm{recovery} (see Figure~\ref{f:CFAExceptionHandling})~\cite{Buhr92b,Buhr00a}.
    13621281Both mechanisms provide dynamic call to a handler using dynamic name-lookup, where fix-up has dynamic return and recovery has static return from the handler.
     
    13691288\begin{cquote}
    13701289\lstDeleteShortInline@%
    1371 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    1372 \multicolumn{1}{@{}c|@{\hspace{\parindentlnth}}}{\textbf{Resumption}}   & \multicolumn{1}{c@{}}{\textbf{Termination}}   \\
     1290\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     1291\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{Resumption}}      & \multicolumn{1}{c}{\textbf{Termination}}      \\
    13731292\begin{cfa}
    13741293`exception R { int fix; };`
     
    14361355resume( $\emph{alternate-stack}$ )
    14371356\end{cfa}
    1438 These overloads of @resume@ raise the specified exception or the currently propagating exception (reresume) at another \CFA coroutine or task~\cite{Delisle18}.
     1357These overloads of @resume@ raise the specified exception or the currently propagating exception (reresume) at another \CFA coroutine or task\footnote{\CFA coroutine and concurrency features are discussed in a separately submitted paper.}~\cite{Delisle18}.
    14391358Nonlocal raise is restricted to resumption to provide the exception handler the greatest flexibility because processing the exception does not unwind its stack, allowing it to continue after the handler returns.
    14401359
     
    14861405If an exception is raised and caught, the handler is run before the finally clause.
    14871406Like a destructor (see Section~\ref{s:ConstructorsDestructors}), a finally clause can raise an exception but not if there is an exception being propagated.
    1488 Mimicking the @finally@ clause with mechanisms like RAII is non-trivial when there are multiple types and local accesses.
     1407Mimicking the @finally@ clause with mechanisms like RAII is non-trivially when there are multiple types and local accesses.
    14891408
    14901409
     
    14921411\label{s:WithStatement}
    14931412
    1494 Heterogeneous data is often aggregated into a structure/union.
    1495 To reduce syntactic noise, \CFA provides a @with@ statement (see Pascal~\cite[\S~4.F]{Pascal}) to elide aggregate field-qualification by opening a scope containing the field identifiers.
    1496 \begin{cquote}
    1497 \vspace*{-\baselineskip}%???
    1498 \lstDeleteShortInline@%
    1499 \begin{cfa}
    1500 struct S { char c; int i; double d; };
     1413Grouping heterogeneous data into \newterm{aggregate}s (structure/union) is a common programming practice, and an aggregate can be further organized into more complex structures, such as arrays and containers:
     1414\begin{cfa}
     1415struct S {                                                                      $\C{// aggregate}$
     1416        char c;                                                                 $\C{// fields}$
     1417        int i;
     1418        double d;
     1419};
     1420S s, as[10];
     1421\end{cfa}
     1422However, functions manipulating aggregates must repeat the aggregate name to access its containing fields:
     1423\begin{cfa}
     1424void f( S s ) {
     1425        `s.`c; `s.`i; `s.`d;                                    $\C{// access containing fields}$
     1426}
     1427\end{cfa}
     1428which extends to multiple levels of qualification for nested aggregates.
     1429A similar situation occurs in object-oriented programming, \eg \CC:
     1430\begin{C++}
     1431struct S {
     1432        char c;                                                                 $\C{// fields}$
     1433        int i;
     1434        double d;
     1435        void f() {                                                              $\C{// implicit ``this'' aggregate}$
     1436                `this->`c; `this->`i; `this->`d;        $\C{// access containing fields}$
     1437        }
     1438}
     1439\end{C++}
     1440Object-oriented nesting of member functions in a \lstinline[language=C++]@class/struct@ allows eliding \lstinline[language=C++]@this->@ because of lexical scoping.
     1441However, for other aggregate parameters, qualification is necessary:
     1442\begin{cfa}
    15011443struct T { double m, n; };
    1502 // multiple aggregate parameters
    1503 \end{cfa}
    1504 \begin{tabular}{@{}l@{\hspace{\parindentlnth}}|@{\hspace{\parindentlnth}}l@{}}
    1505 \begin{cfa}
    1506 void f( S & s, T & t ) {
    1507         `s.`c; `s.`i; `s.`d;
    1508         `t.`m; `t.`n;
    1509 }
    1510 \end{cfa}
    1511 &
    1512 \begin{cfa}
    1513 void f( S & s, T & t ) `with ( s, t )` {
    1514         c; i; d;                // no qualification
    1515         m; n;
    1516 }
    1517 \end{cfa}
    1518 \end{tabular}
    1519 \lstMakeShortInline@%
    1520 \end{cquote}
    1521 Object-oriented programming languages only provide implicit qualification for the receiver.
     1444int S::f( T & t ) {                                                     $\C{// multiple aggregate parameters}$
     1445        c; i; d;                                                                $\C{\color{red}// this--{\textgreater}.c, this--{\textgreater}.i, this--{\textgreater}.d}$
     1446        `t.`m; `t.`n;                                                   $\C{// must qualify}$
     1447}
     1448\end{cfa}
     1449
     1450To simplify the programmer experience, \CFA provides a @with@ statement (see Pascal~\cite[\S~4.F]{Pascal}) to elide aggregate qualification to fields by opening a scope containing the field identifiers.
     1451Hence, the qualified fields become variables with the side-effect that it is easier to optimizing field references in a block.
     1452\begin{cfa}
     1453void f( S & this ) `with ( this )` {            $\C{// with statement}$
     1454        c; i; d;                                                                $\C{\color{red}// this.c, this.i, this.d}$
     1455}
     1456\end{cfa}
     1457with the generality of opening multiple aggregate-parameters:
     1458\begin{cfa}
     1459void f( S & s, T & t ) `with ( s, t )` {                $\C{// multiple aggregate parameters}$
     1460        c; i; d;                                                                $\C{\color{red}// s.c, s.i, s.d}$
     1461        m; n;                                                                   $\C{\color{red}// t.m, t.n}$
     1462}
     1463\end{cfa}
    15221464
    15231465In detail, the @with@ statement has the form:
     
    15321474The object is the implicit qualifier for the open structure-fields.
    15331475
    1534 All expressions in the expression list are open in parallel within the compound statement, which is different from Pascal, which nests the openings from left to right.
     1476All expressions in the expression list are open in parallel within the compound statement.
     1477This semantic is different from Pascal, which nests the openings from left to right.
    15351478The difference between parallel and nesting occurs for fields with the same name and type:
    15361479\begin{cfa}
     
    15391482with ( s, t ) {
    15401483        j + k;                                                                  $\C{// unambiguous, s.j + t.k}$
    1541         m = 5.0;                                                                $\C{// unambiguous, s.m = 5.0}$
    1542         m = 1;                                                                  $\C{// unambiguous, t.m = 1}$
    1543         int a = m;                                                              $\C{// unambiguous, a = t.m }$
    1544         double b = m;                                                   $\C{// unambiguous, b = s.m}$
     1484        m = 5.0;                                                                $\C{// unambiguous, t.m = 5.0}$
     1485        m = 1;                                                                  $\C{// unambiguous, s.m = 1}$
     1486        int a = m;                                                              $\C{// unambiguous, a = s.i }$
     1487        double b = m;                                                   $\C{// unambiguous, b = t.m}$
    15451488        int c = s.i + t.i;                                              $\C{// unambiguous, qualification}$
    1546         (double)m;                                                              $\C{// unambiguous, cast s.m}$
     1489        (double)m;                                                              $\C{// unambiguous, cast}$
    15471490}
    15481491\end{cfa}
     
    15681511and implicitly opened \emph{after} a function-body open, to give them higher priority:
    15691512\begin{cfa}
    1570 void ?{}( S & s, int `i` ) with ( s ) `{` `with( $\emph{\color{red}params}$ )` {
     1513void ?{}( S & s, int `i` ) with ( s ) `with( $\emph{\color{red}params}$ )` {
    15711514        s.i = `i`; j = 3; m = 5.5;
    1572 } `}`
     1515}
    15731516\end{cfa}
    15741517Finally, a cast may be used to disambiguate among overload variables in a @with@ expression:
     
    16381581\lstDeleteShortInline@%
    16391582\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{\hspace{2\parindentlnth}}l@{}}
    1640 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1583\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    16411584\begin{cfa}
    16421585`[5] *` int x1;
     
    16661609\lstDeleteShortInline@%
    16671610\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    1668 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1611\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    16691612\begin{cfa}
    16701613`*` int x, y;
    1671 int z;
    1672 \end{cfa}
    1673 &
    1674 \begin{cfa}
    1675 int `*`x, `*`y, z;
     1614int y;
     1615\end{cfa}
     1616&
     1617\begin{cfa}
     1618int `*`x, `*`y;
    16761619
    16771620\end{cfa}
     
    16791622\lstMakeShortInline@%
    16801623\end{cquote}
    1681 % The downside of the \CFA semantics is the need to separate regular and pointer declarations.
    1682 The separation of regular and pointer declarations by \CFA declarations enforces greater clarity with only slightly more syntax.
     1624The downside of the \CFA semantics is the need to separate regular and pointer declarations.
    16831625
    16841626\begin{comment}
     
    16871629\lstDeleteShortInline@%
    16881630\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{\hspace{2\parindentlnth}}l@{}}
    1689 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{C}}     \\
     1631\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{C}}     \\
    16901632\begin{cfa}
    16911633[ 5 ] int z;
     
    17291671\lstDeleteShortInline@%
    17301672\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{\hspace{2\parindentlnth}}l@{}}
    1731 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{C}}     \\
     1673\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{C}}     \\
    17321674\begin{cfa}
    17331675extern const * const int x;
     
    17541696\lstDeleteShortInline@%
    17551697\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    1756 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1698\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    17571699\begin{cfa}
    17581700y = (* int)x;
     
    17821724\lstDeleteShortInline@%
    17831725\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    1784 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     1726\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    17851727\begin{cfa}
    17861728[double] foo(), foo( int ), foo( double ) {...}
     
    18001742* [ * int ] ( int y ) gp;               $\C{// pointer to function returning pointer to int with int parameter}$
    18011743* [ ] ( int, char ) hp;                 $\C{// pointer to function returning no result with int and char parameters}$
    1802 * [ * int, int ] ( int ) jp;    $\C{// pointer to function returning pointer to int and int with int parameter}\CRT$
    1803 \end{cfa}
    1804 Note, the name of the function pointer is specified last, as for other variable declarations.
     1744* [ * int, int ] ( int ) jp;    $\C{// pointer to function returning pointer to int and int with int parameter}$
     1745\end{cfa}
     1746Note, a function name cannot be specified:
     1747\begin{cfa}
     1748* [ int x ] f () fp;                    $\C{// function name "f" is disallowed}\CRT$
     1749\end{cfa}
    18051750
    18061751Finally, new \CFA declarations may appear together with C declarations in the same program block, but cannot be mixed within a specific declaration.
     
    18591804This provides a much more orthogonal design for library implementors, obviating the need for workarounds such as @std::reference_wrapper@.
    18601805Secondly, \CFA references are rebindable, whereas \CC references have a fixed address.
     1806\newsavebox{\LstBox}
     1807\begin{lrbox}{\LstBox}
     1808\lstset{basicstyle=\footnotesize\linespread{0.9}\sf}
     1809\begin{cfa}
     1810int & r = *new( int );
     1811...                                                                                     $\C{// non-null reference}$
     1812delete &r;                                                                      $\C{// unmanaged (programmer) memory-management}$
     1813r += 1;                                                                         $\C{// undefined reference}$
     1814\end{cfa}
     1815\end{lrbox}
    18611816Rebinding allows \CFA references to be default-initialized (\eg to a null pointer\footnote{
    1862 While effort has been made into non-null reference checking in \CC and Java, the exercise seems moot for any non-managed languages (C/\CC), given that it only handles one of many different error situations, \eg using a pointer after its storage is deleted.}) and point to different addresses throughout their lifetime, like pointers.
     1817While effort has been made into non-null reference checking in \CC and Java, the exercise seems moot for any non-managed languages (C/\CC), given that it only handles one of many different error situations:
     1818\begin{cquote}
     1819\usebox{\LstBox}
     1820\end{cquote}
     1821}%
     1822) and point to different addresses throughout their lifetime, like pointers.
    18631823Rebinding is accomplished by extending the existing syntax and semantics of the address-of operator in C.
    18641824
     
    18721832\begin{itemize}
    18731833\item
    1874 if @R@ is an rvalue of type {@T &@$_1 \cdots$@ &@$_r$} where $r \ge 1$ references (@&@ symbols) then @&R@ has type {@T `*`&@$_{\color{red}2} \cdots$@ &@$_{\color{red}r}$}, \\ \ie @T@ pointer with $r-1$ references (@&@ symbols).
     1834if @R@ is an rvalue of type {@T &@$_1 \cdots$@ &@$_r$} where $r \ge 1$ references (@&@ symbols) than @&R@ has type {@T `*`&@$_{\color{red}2} \cdots$@ &@$_{\color{red}r}$}, \\ \ie @T@ pointer with $r-1$ references (@&@ symbols).
    18751835       
    18761836\item
     
    19061866\end{cfa}
    19071867This allows complex values to be succinctly and efficiently passed to functions, without the syntactic overhead of explicit definition of a temporary variable or the runtime cost of pass-by-value.
    1908 \CC allows a similar binding, but only for @const@ references; the more general semantics of \CFA are an attempt to avoid the \newterm{const poisoning} problem~\cite{Taylor10}, in which addition of a @const@ qualifier to one reference requires a cascading chain of added qualifiers.
     1868\CC allows a similar binding, but only for @const@ references; the more general semantics of \CFA are an attempt to avoid the \newterm{const hell} problem, in which addition of a @const@ qualifier to one reference requires a cascading chain of added qualifiers.
    19091869
    19101870
     
    19201880\begin{tabular}{@{}l@{\hspace{3em}}l|l@{}}
    19211881\multicolumn{1}{c@{\hspace{3em}}}{\textbf{C Type Nesting}}      & \multicolumn{1}{c|}{\textbf{C Implicit Hoisting}}     & \multicolumn{1}{c}{\textbf{\CFA}}     \\
     1882\hline
    19221883\begin{cfa}
    19231884struct S {
     
    19991960The symbol \lstinline+^+ is used for the destructor name because it was the last binary operator that could be used in a unary context.}.
    20001961The name @{}@ comes from the syntax for the initializer: @struct S { int i, j; } s = `{` 2, 3 `}`@.
    2001 Like other \CFA operators, these names represent the syntax used to explicitly call the constructor or destructor, \eg @s{...}@ or @^s{...}@.
     1962Like other \CFA operators, these names represent the syntax used to call the constructor or destructor, \eg @?{}(x, ...)@ or @^{}(x, ...)@.
    20021963The constructor and destructor have return type @void@, and the first parameter is a reference to the object type to be constructed or destructed.
    20031964While the first parameter is informally called the @this@ parameter, as in object-oriented languages, any variable name may be used.
    2004 Both constructors and destructors allow additional parameters after the @this@ parameter for specifying values for initialization/de-initialization\footnote{
     1965Both constructors and destructors allow additional parametes after the @this@ parameter for specifying values for initialization/de-initialization\footnote{
    20051966Destruction parameters are useful for specifying storage-management actions, such as de-initialize but not deallocate.}.
    20061967\begin{cfa}
    2007 struct VLA { int len, * data; };                        $\C{// variable length array of integers}$
     1968struct VLA { int len, * data; };
    20081969void ?{}( VLA & vla ) with ( vla ) { len = 10;  data = alloc( len ); }  $\C{// default constructor}$
    20091970void ^?{}( VLA & vla ) with ( vla ) { free( data ); } $\C{// destructor}$
    20101971{
    2011         VLA x;                                                                  $\C{// implicit:\ \ x\{\};}$
    2012 }                                                                                       $\C{// implicit:\ \textasciicircum{}x\{\};}$
     1972        VLA x;                                                                  $\C{// implicit:  ?\{\}( x );}$
     1973}                                                                                       $\C{// implicit:  ?\^{}\{\}( x );}$
    20131974\end{cfa}
    20141975@VLA@ is a \newterm{managed type}\footnote{
     
    20351996appropriate care is taken to not recursively call the copy constructor when initializing the second parameter.
    20361997
    2037 \CFA constructors may be explicitly called, like Java, and destructors may be explicitly called, like \CC.
     1998\CFA constructors may be explicitly call, like Java, and destructors may be explicitly called, like \CC.
    20381999Explicit calls to constructors double as a \CC-style \emph{placement syntax}, useful for construction of member fields in user-defined constructors and reuse of existing storage allocations.
    2039 Like the other operators in \CFA, there is a concise syntax for constructor/destructor function calls:
     2000While existing call syntax works for explicit calls to constructors and destructors, \CFA also provides a more concise \newterm{operator syntax} for both:
    20402001\begin{cfa}
    20412002{
    20422003        VLA  x,            y = { 20, 0x01 },     z = y; $\C{// z points to y}$
    2043         //    x{};         y{ 20, 0x01 };          z{ z, y };
     2004        //      ?{}( x );   ?{}( y, 20, 0x01 );   ?{}( z, y );
    20442005        ^x{};                                                                   $\C{// deallocate x}$
    20452006        x{};                                                                    $\C{// reallocate x}$
     
    20482009        y{ x };                                                                 $\C{// reallocate y, points to x}$
    20492010        x{};                                                                    $\C{// reallocate x, not pointing to y}$
    2050         //  ^z{};  ^y{};  ^x{};
     2011        // ^?{}(z);  ^?{}(y);  ^?{}(x);
    20512012}
    20522013\end{cfa}
     
    20692030In these cases, \CFA provides the initialization syntax \lstinline|S x `@=` {}|, and the object becomes unmanaged, so implicit constructor and destructor calls are not generated.
    20702031Any C initializer can be the right-hand side of an \lstinline|@=| initializer, \eg \lstinline|VLA a @= { 0, 0x0 }|, with the usual C initialization semantics.
    2071 The same syntax can be used in a compound literal, \eg \lstinline|a = (VLA)`@`{ 0, 0x0 }|, to create a C-style literal.
     2032The same syntax can be used in a compound literal, \eg \lstinline|a = VLA`@`{ 0, 0x0 }|, to create a C-style literal.
    20722033The point of \lstinline|@=| is to provide a migration path from legacy C code to \CFA, by providing a mechanism to incrementally convert to implicit initialization.
    20732034
     
    20852046
    20862047
    2087 \begin{comment}
    20882048\subsection{Integral Suffixes}
    20892049
     
    21192079\lstMakeShortInline@%
    21202080\end{cquote}
    2121 \end{comment}
    21222081
    21232082
     
    21252084
    21262085In C, @0@ has the special property that it is the only ``false'' value;
    2127 by the standard, any value that compares equal to @0@ is false, while any value that compares unequal to @0@ is true.
     2086from the standard, any value that compares equal to @0@ is false, while any value that compares unequal to @0@ is true.
    21282087As such, an expression @x@ in any boolean context (such as the condition of an @if@ or @while@ statement, or the arguments to @&&@, @||@, or @?:@\,) can be rewritten as @x != 0@ without changing its semantics.
    21292088Operator overloading in \CFA provides a natural means to implement this truth-value comparison for arbitrary types, but the C type system is not precise enough to distinguish an equality comparison with @0@ from an equality comparison with an arbitrary integer or pointer.
     
    21602119\lstDeleteShortInline@%
    21612120\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{\hspace{2\parindentlnth}}l@{\hspace{2\parindentlnth}}l@{}}
    2162 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{postfix function}}     & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{constant}}      & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{variable/expression}}   & \multicolumn{1}{c@{}}{\textbf{postfix pointer}}       \\
     2121\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{postfix function}}        & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{constant}}      & \multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{variable/expression}}   & \multicolumn{1}{c}{\textbf{postfix pointer}}  \\
    21632122\begin{cfa}
    21642123int |?`h|( int s );
     
    22052164\lstset{language=CFA,moredelim=**[is][\color{red}]{|}{|},deletedelim=**[is][]{`}{`}}
    22062165\lstDeleteShortInline@%
    2207 \begin{tabular}{@{}l@{\hspace{1.25\parindentlnth}}l@{}}
    2208 \multicolumn{1}{@{}c@{\hspace{1.25\parindentlnth}}}{\textbf{\CFA}}      & \multicolumn{1}{c@{}}{\textbf{\CC}}   \\
     2166\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     2167\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{\CC}}      \\
    22092168\begin{cfa}
    22102169struct W {
     
    22502209        W w, heavy = { 20 };
    22512210        w = 155|_lb|;
    2252         // binary unsupported
     2211        w = 0b1111|_lb|;       // error, binary unsupported
    22532212        w = 0${\color{red}\LstBasicStyle{'}}$233|_lb|;          // quote separator
    22542213        w = 0x9b|_kg|;
     
    22802239\lstDeleteShortInline@%
    22812240\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2282 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}   & \multicolumn{1}{c@{}}{\textbf{Usage}} \\
     2241\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}      & \multicolumn{1}{c}{\textbf{Usage}}    \\
    22832242\begin{cfa}
    22842243const short int `MIN` = -32768;
     
    22982257\begin{cquote}
    22992258\lstDeleteShortInline@%
    2300 \begin{tabular}{@{}l@{\hspace{\parindentlnth}}l@{}}
    2301 \multicolumn{1}{@{}c@{\hspace{\parindentlnth}}}{\textbf{\CFA}}  & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     2259\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     2260\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    23022261\begin{cfa}
    23032262MIN
     
    23082267&
    23092268\begin{cfa}
    2310 CHAR_MIN, SHRT_MIN, INT_MIN, LONG_MIN, LLONG_MIN, FLT_MIN, DBL_MIN, LDBL_MIN
    2311 UCHAR_MAX, SHRT_MAX, INT_MAX, LONG_MAX, LLONG_MAX, FLT_MAX, DBL_MAX, LDBL_MAX
     2269SCHAR_MIN, CHAR_MIN, SHRT_MIN, INT_MIN, LONG_MIN, LLONG_MIN, FLT_MIN, DBL_MIN, LDBL_MIN
     2270SCHAR_MAX, UCHAR_MAX, SHRT_MAX, INT_MAX, LONG_MAX, LLONG_MAX, FLT_MAX, DBL_MAX, LDBL_MAX
    23122271M_PI, M_PIl
    23132272M_E, M_El
     
    23252284\lstDeleteShortInline@%
    23262285\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2327 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}   & \multicolumn{1}{c@{}}{\textbf{Usage}} \\
     2286\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}      & \multicolumn{1}{c}{\textbf{Usage}}    \\
    23282287\begin{cfa}
    23292288float `log`( float x );
     
    23442303\lstDeleteShortInline@%
    23452304\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2346 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     2305\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    23472306\begin{cfa}
    23482307log
     
    23722331\lstDeleteShortInline@%
    23732332\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2374 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}   & \multicolumn{1}{c@{}}{\textbf{Usage}} \\
     2333\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{Definition}}      & \multicolumn{1}{c}{\textbf{Usage}}    \\
    23752334\begin{cfa}
    23762335unsigned int `abs`( int );
     
    23912350\lstDeleteShortInline@%
    23922351\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2393 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     2352\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
    23942353\begin{cfa}
    23952354abs
     
    24142373an allocation with a specified character.
    24152374\item[resize]
    2416 an existing allocation to decrease or increase its size.
     2375an existing allocation to decreased or increased its size.
    24172376In either case, new storage may or may not be allocated and, if there is a new allocation, as much data from the existing allocation is copied.
    24182377For an increase in storage size, new storage after the copied data may be filled.
     
    24282387
    24292388\begin{table}
    2430 \caption{Storage-Management Operations}
    2431 \label{t:StorageManagementOperations}
    24322389\centering
    24332390\lstDeleteShortInline@%
     
    24492406\lstDeleteShortInline~%
    24502407\lstMakeShortInline@%
     2408\caption{Storage-Management Operations}
     2409\label{t:StorageManagementOperations}
    24512410\end{table}
    24522411
    24532412\begin{figure}
    24542413\centering
    2455 \begin{cfa}[aboveskip=0pt,xleftmargin=0pt]
     2414\begin{cquote}
     2415\begin{cfa}[aboveskip=0pt]
    24562416size_t  dim = 10;                                                       $\C{// array dimension}$
    24572417char fill = '\xff';                                                     $\C{// initialization fill value}$
     
    24592419\end{cfa}
    24602420\lstDeleteShortInline@%
    2461 \begin{tabular}{@{}l@{\hspace{\parindentlnth}}l@{}}
    2462 \multicolumn{1}{@{}c@{\hspace{\parindentlnth}}}{\textbf{\CFA}}  & \multicolumn{1}{c@{}}{\textbf{C}}     \\
    2463 \begin{cfa}[xleftmargin=-10pt]
     2421\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
     2422\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{C}}        \\
     2423\begin{cfa}
    24642424ip = alloc();
    24652425ip = alloc( fill );
     
    24762436&
    24772437\begin{cfa}
    2478 ip = (int *)malloc( sizeof(int) );
    2479 ip = (int *)malloc( sizeof(int) ); memset( ip, fill, sizeof(int) );
    2480 ip = (int *)malloc( dim * sizeof(int) );
    2481 ip = (int *)malloc( sizeof(int) ); memset( ip, fill, dim * sizeof(int) );
    2482 ip = (int *)realloc( ip, 2 * dim * sizeof(int) );
    2483 ip = (int *)realloc( ip, 4 * dim * sizeof(int) ); memset( ip, fill, 4 * dim * sizeof(int));
    2484 
    2485 ip = memalign( 16, sizeof(int) );
    2486 ip = memalign( 16, sizeof(int) ); memset( ip, fill, sizeof(int) );
    2487 ip = memalign( 16, dim * sizeof(int) );
    2488 ip = memalign( 16, dim * sizeof(int) ); memset( ip, fill, dim * sizeof(int) );
     2438ip = (int *)malloc( sizeof( int ) );
     2439ip = (int *)malloc( sizeof( int ) ); memset( ip, fill, sizeof( int ) );
     2440ip = (int *)malloc( dim * sizeof( int ) );
     2441ip = (int *)malloc( sizeof( int ) ); memset( ip, fill, dim * sizeof( int ) );
     2442ip = (int *)realloc( ip, 2 * dim * sizeof( int ) );
     2443ip = (int *)realloc( ip, 4 * dim * sizeof( int ) ); memset( ip, fill, 4 * dim * sizeof( int ) );
     2444
     2445ip = memalign( 16, sizeof( int ) );
     2446ip = memalign( 16, sizeof( int ) ); memset( ip, fill, sizeof( int ) );
     2447ip = memalign( 16, dim * sizeof( int ) );
     2448ip = memalign( 16, dim * sizeof( int ) ); memset( ip, fill, dim * sizeof( int ) );
    24892449\end{cfa}
    24902450\end{tabular}
    24912451\lstMakeShortInline@%
     2452\end{cquote}
    24922453\caption{\CFA versus C Storage-Allocation}
    24932454\label{f:StorageAllocation}
     
    25022463S * as = anew( dim, 2, 3 );                                     $\C{// each array element initialized to 2, 3}$
    25032464\end{cfa}
    2504 Note, \CC can only initialize array elements via the default constructor.
     2465Note, \CC can only initialization array elements via the default constructor.
    25052466
    25062467Finally, the \CFA memory-allocator has \newterm{sticky properties} for dynamic storage: fill and alignment are remembered with an object's storage in the heap.
     
    25192480\lstDeleteShortInline@%
    25202481\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}l@{}}
    2521 \multicolumn{1}{@{}c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{\CC}}   \\
     2482\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{c}{\textbf{\CC}}      \\
    25222483\begin{cfa}
    25232484int x = 1, y = 2, z = 3;
     
    25742535\end{cquote}
    25752536There is a weak similarity between the \CFA logical-or operator and the Shell pipe-operator for moving data, where data flows in the correct direction for input but the opposite direction for output.
    2576 \begin{comment}
     2537
    25772538The implicit separator character (space/blank) is a separator not a terminator.
    25782539The rules for implicitly adding the separator are:
     
    25932554}%
    25942555\end{itemize}
    2595 \end{comment}
    25962556There are functions to set and get the separator string, and manipulators to toggle separation on and off in the middle of output.
    25972557
     
    26082568\centering
    26092569\lstDeleteShortInline@%
    2610 \begin{tabular}{@{}l@{\hspace{3\parindentlnth}}l@{}}
    2611 \multicolumn{1}{@{}c@{\hspace{3\parindentlnth}}}{\textbf{\CFA}} & \multicolumn{1}{c@{}}{\textbf{C}}     \\
     2570\begin{tabular}{@{}l@{\hspace{2\parindentlnth}}@{\hspace{2\parindentlnth}}l@{}}
     2571\multicolumn{1}{c@{\hspace{2\parindentlnth}}}{\textbf{\CFA}}    & \multicolumn{1}{@{\hspace{2\parindentlnth}}c}{\textbf{C}}     \\
    26122572\begin{cfa}
    26132573#include <gmp>
     
    26422602
    26432603
    2644 \section{Polymorphism Evaluation}
     2604\section{Evaluation}
    26452605\label{sec:eval}
    26462606
    2647 \CFA adds parametric polymorphism to C.
    2648 A runtime evaluation is performed to compare the cost of alternative styles of polymorphism.
    2649 The goal is to compare just the underlying mechanism for implementing different kinds of polymorphism.
    2650 % Though \CFA provides significant added functionality over C, these features have a low runtime penalty.
    2651 % In fact, it is shown that \CFA's generic programming can enable faster runtime execution than idiomatic @void *@-based C code.
    2652 The experiment is a set of generic-stack micro-benchmarks~\cite{CFAStackEvaluation} in C, \CFA, and \CC (see implementations in Appendix~\ref{sec:BenchmarkStackImplementations}).
     2607Though \CFA provides significant added functionality over C, these features have a low runtime penalty.
     2608In fact, \CFA's features for generic programming can enable faster runtime execution than idiomatic @void *@-based C code.
     2609This claim is demonstrated through a set of generic-code-based micro-benchmarks in C, \CFA, and \CC (see stack implementations in Appendix~\ref{sec:BenchmarkStackImplementation}).
    26532610Since all these languages share a subset essentially comprising standard C, maximal-performance benchmarks should show little runtime variance, differing only in length and clarity of source code.
    26542611A more illustrative comparison measures the costs of idiomatic usage of each language's features.
     
    26812638\end{figure}
    26822639
    2683 The structure of each benchmark implemented is: C with @void *@-based polymorphism, \CFA with parametric polymorphism, \CC with templates, and \CC using only class inheritance for polymorphism, called \CCV.
     2640The structure of each benchmark implemented is: C with @void *@-based polymorphism, \CFA with the presented features, \CC with templates, and \CC using only class inheritance for polymorphism, called \CCV.
    26842641The \CCV variant illustrates an alternative object-oriented idiom where all objects inherit from a base @object@ class, mimicking a Java-like interface;
    26852642hence runtime checks are necessary to safely down-cast objects.
    26862643The most notable difference among the implementations is in memory layout of generic types: \CFA and \CC inline the stack and pair elements into corresponding list and pair nodes, while C and \CCV lack such a capability and instead must store generic objects via pointers to separately-allocated objects.
    2687 Note, the C benchmark uses unchecked casts as C has no runtime mechanism to perform such checks, while \CFA and \CC provide type-safety statically.
     2644Note that the C benchmark uses unchecked casts as there is no runtime mechanism to perform such checks, while \CFA and \CC provide type-safety statically.
    26882645
    26892646Figure~\ref{fig:eval} and Table~\ref{tab:eval} show the results of running the benchmark in Figure~\ref{fig:BenchmarkTest} and its C, \CC, and \CCV equivalents.
    26902647The graph plots the median of 5 consecutive runs of each program, with an initial warm-up run omitted.
    2691 All code is compiled at \texttt{-O2} by gcc or g++ 6.4.0, with all \CC code compiled as \CCfourteen.
     2648All code is compiled at \texttt{-O2} by gcc or g++ 6.3.0, with all \CC code compiled as \CCfourteen.
    26922649The benchmarks are run on an Ubuntu 16.04 workstation with 16 GB of RAM and a 6-core AMD FX-6300 CPU with 3.5 GHz maximum clock frequency.
    26932650
     
    27002657
    27012658\begin{table}
     2659\centering
    27022660\caption{Properties of benchmark code}
    27032661\label{tab:eval}
    2704 \centering
    27052662\newcommand{\CT}[1]{\multicolumn{1}{c}{#1}}
    27062663\begin{tabular}{rrrrr}
    27072664                                                                        & \CT{C}        & \CT{\CFA}     & \CT{\CC}      & \CT{\CCV}             \\ \hline
    27082665maximum memory usage (MB)                       & 10,001        & 2,502         & 2,503         & 11,253                \\
    2709 source code size (lines)                        & 201           & 191           & 125           & 294                   \\
     2666source code size (lines)                        & 196           & 186           & 125           & 290                   \\
    27102667redundant type annotations (lines)      & 27            & 0                     & 2                     & 16                    \\
    27112668binary size (KB)                                        & 14            & 257           & 14            & 37                    \\
     
    27152672The C and \CCV variants are generally the slowest with the largest memory footprint, because of their less-efficient memory layout and the pointer-indirection necessary to implement generic types;
    27162673this inefficiency is exacerbated by the second level of generic types in the pair benchmarks.
    2717 By contrast, the \CFA and \CC variants run in roughly equivalent time for both the integer and pair because of equivalent storage layout, with the inlined libraries (\ie no separate compilation) and greater maturity of the \CC compiler contributing to its lead.
     2674By contrast, the \CFA and \CC variants run in roughly equivalent time for both the integer and pair of @short@ and @char@ because the storage layout is equivalent, with the inlined libraries (\ie no separate compilation) and greater maturity of the \CC compiler contributing to its lead.
    27182675\CCV is slower than C largely due to the cost of runtime type-checking of down-casts (implemented with @dynamic_cast@);
    2719 The outlier for \CFA, pop @pair@, results from the complexity of the generated-C polymorphic code.
    2720 The gcc compiler is unable to optimize some dead code and condense nested calls;
    2721 a compiler designed for \CFA could easily perform these optimizations.
     2676The outlier in the graph for \CFA, pop @pair@, results from the complexity of the generated-C polymorphic code.
     2677The gcc compiler is unable to optimize some dead code and condense nested calls; a compiler designed for \CFA could easily perform these optimizations.
    27222678Finally, the binary size for \CFA is larger because of static linking with the \CFA libraries.
    27232679
     
    27312687Line-count is a fairly rough measure of code complexity;
    27322688another important factor is how much type information the programmer must specify manually, especially where that information is not compiler-checked.
    2733 Such unchecked type information produces a heavier documentation burden and increased potential for runtime bugs, and is much less common in \CFA than C, with its manually specified function pointer arguments and format codes, or \CCV, with its extensive use of un-type-checked downcasts, \eg @object@ to @integer@ when popping a stack.
     2689Such unchecked type information produces a heavier documentation burden and increased potential for runtime bugs, and is much less common in \CFA than C, with its manually specified function pointer arguments and format codes, or \CCV, with its extensive use of untype-checked downcasts, \eg @object@ to @integer@ when popping a stack.
    27342690To quantify this manual typing, the ``redundant type annotations'' line in Table~\ref{tab:eval} counts the number of lines on which the type of a known variable is respecified, either as a format specifier, explicit downcast, type-specific function, or by name in a @sizeof@, struct literal, or @new@ expression.
    27352691The \CC benchmark uses two redundant type annotations to create a new stack nodes, while the C and \CCV benchmarks have several such annotations spread throughout their code.
    27362692The \CFA benchmark is able to eliminate all redundant type annotations through use of the polymorphic @alloc@ function discussed in Section~\ref{sec:libraries}.
    27372693
    2738 We conjecture these results scale across most generic data-types as the underlying polymorphism implement is constant.
    2739 
    27402694
    27412695\section{Related Work}
     
    27432697
    27442698\subsection{Polymorphism}
    2745 
    2746 ML~\cite{ML} was the first language to support parametric polymorphism.
    2747 Like \CFA, it supports universal type parameters, but not the use of assertions and traits to constrain type arguments.
    2748 Haskell~\cite{Haskell10} combines ML-style polymorphism, polymorphic data types, and type inference with the notion of type classes, collections of overloadable methods that correspond in intent to traits in \CFA.
    2749 Unlike \CFA, Haskell requires an explicit association between types and their classes that specifies the implementation of operations.
    2750 These associations determine the functions that are assertion arguments for particular combinations of class and type, in contrast to \CFA where the assertion arguments are selected at function call sites based upon the set of operations in scope at that point.
    2751 Haskell also severely restricts the use of overloading: an overloaded name can only be associated with a single class, and methods with overloaded names can only be defined as part of instance declarations.
    27522699
    27532700\CC provides three disjoint polymorphic extensions to C: overloading, inheritance, and templates.
     
    28032750Go does not have tuples but supports MRVF.
    28042751Java's variadic functions appear similar to C's but are type-safe using homogeneous arrays, which are less useful than \CFA's heterogeneously-typed variadic functions.
    2805 Tuples are a fundamental abstraction in most functional programming languages, such as Standard ML~\cite{sml}, Haskell, and Scala~\cite{Scala}, which decompose tuples using pattern matching.
     2752Tuples are a fundamental abstraction in most functional programming languages, such as Standard ML~\cite{sml} and~\cite{Scala}, which decompose tuples using pattern matching.
    28062753
    28072754
     
    28202767data-parallel features have not yet been added to \CFA, but are easily incorporated within its design, while concurrency primitives similar to those in $\mu$\CC have already been added~\cite{Delisle18}.
    28212768Finally, CCured~\cite{Necula02} and Ironclad \CC~\cite{DeLozier13} attempt to provide a more memory-safe C by annotating pointer types with garbage collection information; type-checked polymorphism in \CFA covers several of C's memory-safety issues, but more aggressive approaches such as annotating all pointer types with their nullability or requiring runtime garbage collection are contradictory to \CFA's backwards compatibility goals.
     2769
     2770
     2771\begin{comment}
     2772\subsection{Control Structures / Declarations / Literals}
     2773
     2774Java has default fall through like C/\CC.
     2775Pascal/Ada/Go/Rust do not have default fall through.
     2776\Csharp does not have fall through but still requires a break.
     2777Python uses dictionary mapping. \\
     2778\CFA choose is like Rust match.
     2779
     2780Java has labelled break/continue. \\
     2781Languages with and without exception handling.
     2782
     2783Alternative C declarations. \\
     2784Different references \\
     2785Constructors/destructors
     2786
     27870/1 Literals \\
     2788user defined: D, Objective-C
     2789\end{comment}
    28222790
    28232791
     
    28342802Finally, we demonstrate that \CFA performance for some idiomatic cases is better than C and close to \CC, showing the design is practically applicable.
    28352803
    2836 While all examples in the paper compile and run, a public beta-release of \CFA will take 6--8 months to reduce compilation time, provide better debugging, and add a few more libraries.
    2837 There is also new work on a number of \CFA features, including arrays with size, runtime type-information, virtual functions, user-defined conversions, and modules.
    2838 While \CFA polymorphic functions use dynamic virtual-dispatch with low runtime overhead (see Section~\ref{sec:eval}), it is not as low as \CC template-inlining.
    2839 Hence it may be beneficial to provide a mechanism for performance-sensitive code.
     2804There is ongoing work on a wide range of \CFA features, including arrays with size, runtime type-information, virtual functions, user-defined conversions, concurrent primitives, and modules.
     2805While all examples in the paper compile and run, a public beta-release of \CFA will take another 8--12 months to finalize these extensions.
     2806There are also interesting future directions for the polymorphism design.
     2807Notably, \CC template functions trade compile time and code bloat for optimal runtime of individual instantiations of polymorphic functions.
     2808\CFA polymorphic functions use dynamic virtual-dispatch;
     2809the runtime overhead of this approach is low, but not as low as inlining, and it may be beneficial to provide a mechanism for performance-sensitive code.
    28402810Two promising approaches are an @inline@ annotation at polymorphic function call sites to create a template-specialization of the function (provided the code is visible) or placing an @inline@ annotation on polymorphic function-definitions to instantiate a specialized version for some set of types (\CC template specialization).
    28412811These approaches are not mutually exclusive and allow performance optimizations to be applied only when necessary, without suffering global code-bloat.
     
    28462816
    28472817The authors would like to recognize the design assistance of Glen Ditchfield, Richard Bilson, Thierry Delisle, Andrew Beach and Brice Dobry on the features described in this paper, and thank Magnus Madsen for feedback on the writing.
    2848 Funding for this project has been provided by Huawei Ltd.\ (\url{http://www.huawei.com}), and Aaron Moss and Peter Buhr are partially funded by the Natural Sciences and Engineering Research Council of Canada.
    2849 
    2850 {%
    2851 \fontsize{9bp}{12bp}\selectfont%
     2818This work is supported by a corporate partnership with Huawei Ltd.\ (\url{http://www.huawei.com}), and Aaron Moss and Peter Buhr are partially funded by the Natural Sciences and Engineering Research Council of Canada.
     2819
     2820
    28522821\bibliography{pl}
    2853 }%
     2822
    28542823
    28552824\appendix
    28562825
    2857 \section{Benchmark Stack Implementations}
    2858 \label{sec:BenchmarkStackImplementations}
    2859 
    2860 Throughout, @/***/@ designates a counted redundant type annotation; code reformatted slightly for brevity.
    2861 
    2862 
    2863 \subsection{C}
    2864 
    2865 \begin{flushleft}
    2866 \lstDeleteShortInline@%
    2867 \begin{tabular}{@{}l@{\hspace{1.8\parindentlnth}}|@{\hspace{\parindentlnth}}l@{}}
    2868 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
    2869 typedef struct node {
     2826\section{Benchmark Stack Implementation}
     2827\label{sec:BenchmarkStackImplementation}
     2828
     2829Throughout, @/***/@ designates a counted redundant type annotation; code reformatted for brevity.
     2830
     2831\smallskip\noindent
     2832C
     2833\begin{cfa}[xleftmargin=2\parindentlnth,aboveskip=0pt,belowskip=0pt]
     2834struct stack_node {
    28702835        void * value;
    2871         struct node * next;
    2872 } node;
    2873 typedef struct stack {
    2874         struct node * head;
    2875 } stack;
    2876 void copy_stack( stack * s, const stack * t,
    2877                                 void * (*copy)( const void * ) ) {
    2878         node ** cr = &s->head;
    2879         for (node * nx = t->head; nx; nx = nx->next) {
    2880                 *cr = malloc( sizeof(node) ); /***/
    2881                 (*cr)->value = copy( nx->value );
    2882                 cr = &(*cr)->next;
    2883         }
    2884         *cr = NULL;
    2885 }
    2886 void clear_stack( stack * s, void (* free_el)( void * ) ) {
    2887         for ( node * nx = s->head; nx; ) {
    2888                 node * cr = nx;
    2889                 nx = cr->next;
    2890                 free_el( cr->value );
    2891                 free( cr );
     2836        struct stack_node * next;
     2837};
     2838struct stack { struct stack_node* head; };
     2839void clear_stack( struct stack * s, void (*free_el)( void * ) ) {
     2840        for ( struct stack_node * next = s->head; next; ) {
     2841                struct stack_node * crnt = next;
     2842                next = crnt->next;
     2843                free_el( crnt->value );
     2844                free( crnt );
    28922845        }
    28932846        s->head = NULL;
    28942847}
    2895 \end{cfa}
    2896 &
    2897 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
    2898 stack new_stack() {
    2899         return (stack){ NULL }; /***/
    2900 }
    2901 stack * assign_stack( stack * s, const stack * t,
    2902                                 void * (*copy_el)( const void * ),
    2903                                 void (*free_el)( void * ) ) {
     2848struct stack new_stack() { return (struct stack){ NULL }; /***/ }
     2849void copy_stack( struct stack * s, const struct stack * t, void * (*copy)( const void * ) ) {
     2850        struct stack_node ** crnt = &s->head;
     2851        for ( struct stack_node * next = t->head; next; next = next->next ) {
     2852                *crnt = malloc( sizeof(struct stack_node) ); /***/
     2853                (*crnt)->value = copy( next->value );
     2854                crnt = &(*crnt)->next;
     2855        }
     2856        *crnt = NULL;
     2857}
     2858struct stack * assign_stack( struct stack * s, const struct stack * t,
     2859                void * (*copy_el)( const void * ), void (*free_el)( void * ) ) {
    29042860        if ( s->head == t->head ) return s;
    29052861        clear_stack( s, free_el ); /***/
     
    29072863        return s;
    29082864}
    2909 _Bool stack_empty( const stack * s ) {
    2910         return s->head == NULL;
    2911 }
    2912 void push_stack( stack * s, void * v ) {
    2913         node * n = malloc( sizeof(node) ); /***/
    2914         *n = (node){ v, s->head }; /***/
     2865_Bool stack_empty( const struct stack * s ) { return s->head == NULL; }
     2866void push_stack( struct stack * s, void * v ) {
     2867        struct stack_node * n = malloc( sizeof(struct stack_node) ); /***/
     2868        *n = (struct stack_node){ v, s->head }; /***/
    29152869        s->head = n;
    29162870}
    2917 void * pop_stack( stack * s ) {
    2918         node * n = s->head;
     2871void * pop_stack( struct stack * s ) {
     2872        struct stack_node * n = s->head;
    29192873        s->head = n->next;
    29202874        void * v = n->value;
     
    29232877}
    29242878\end{cfa}
    2925 \end{tabular}
    2926 \lstMakeShortInline@%
    2927 \end{flushleft}
    2928 
    2929 
    2930 \subsection{\CFA}
    2931 \label{s:CforallStack}
    2932 
    2933 \begin{flushleft}
    2934 \lstDeleteShortInline@%
    2935 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    2936 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
     2879
     2880\medskip\noindent
     2881\CFA
     2882\begin{cfa}[xleftmargin=2\parindentlnth,aboveskip=0pt,belowskip=0pt]
     2883forall( otype T ) struct stack_node {
     2884        T value;
     2885        stack_node(T) * next;
     2886};
     2887forall( otype T ) struct stack { stack_node(T) * head; };
     2888forall( otype T ) void clear( stack(T) & s ) with( s ) {
     2889        for ( stack_node(T) * next = head; next; ) {
     2890                stack_node(T) * crnt = next;
     2891                next = crnt->next;
     2892                ^(*crnt){};
     2893                free(crnt);
     2894        }
     2895        head = 0;
     2896}
     2897forall( otype T ) void ?{}( stack(T) & s ) { (s.head){ 0 }; }
     2898forall( otype T ) void ?{}( stack(T) & s, stack(T) t ) {
     2899        stack_node(T) ** crnt = &s.head;
     2900        for ( stack_node(T) * next = t.head; next; next = next->next ) {
     2901                *crnt = alloc();
     2902                ((*crnt)->value){ next->value };
     2903                crnt = &(*crnt)->next;
     2904        }
     2905        *crnt = 0;
     2906}
     2907forall( otype T ) stack(T) ?=?( stack(T) & s, stack(T) t ) {
     2908        if ( s.head == t.head ) return s;
     2909        clear( s );
     2910        s{ t };
     2911        return s;
     2912}
     2913forall( otype T ) void ^?{}( stack(T) & s) { clear( s ); }
     2914forall( otype T ) _Bool empty( const stack(T) & s ) { return s.head == 0; }
     2915forall( otype T ) void push( stack(T) & s, T value ) with( s ) {
     2916        stack_node(T) * n = alloc();
     2917        (*n){ value, head };
     2918        head = n;
     2919}
     2920forall( otype T ) T pop( stack(T) & s ) with( s ) {
     2921        stack_node(T) * n = head;
     2922        head = n->next;
     2923        T v = n->value;
     2924        ^(*n){};
     2925        free( n );
     2926        return v;
     2927}
     2928\end{cfa}
     2929
     2930\begin{comment}
    29372931forall( otype T ) {
    2938         struct node {
     2932        struct stack_node {
    29392933                T value;
    2940                 node(T) * next;
     2934                stack_node(T) * next;
    29412935        };
    2942         struct stack { node(T) * head; };
    2943         void ?{}( stack(T) & s, stack(T) t ) { // copy
    2944                 node(T) ** cr = &s.head;
    2945                 for ( node(T) * nx = t.head; nx; nx = nx->next ) {
    2946                         *cr = alloc();
    2947                         ((*cr)->value){ nx->value };
    2948                         cr = &(*cr)->next;
    2949                 }
    2950                 *cr = 0;
    2951         }
     2936        struct stack { stack_node(T) * head; };
    29522937        void clear( stack(T) & s ) with( s ) {
    2953                 for ( node(T) * nx = head; nx; ) {
    2954                         node(T) * cr = nx;
    2955                         nx = cr->next;
    2956                         ^(*cr){};
    2957                         free( cr );
     2938                for ( stack_node(T) * next = head; next; ) {
     2939                        stack_node(T) * crnt = next;
     2940                        next = crnt->next;
     2941                        ^(*crnt){};
     2942                        free(crnt);
    29582943                }
    29592944                head = 0;
    29602945        }
    2961 
    2962 \end{cfa}
    2963 &
    2964 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
    29652946        void ?{}( stack(T) & s ) { (s.head){ 0 }; }
    2966         void ^?{}( stack(T) & s) { clear( s ); }
     2947        void ?{}( stack(T) & s, stack(T) t ) {
     2948                stack_node(T) ** crnt = &s.head;
     2949                for ( stack_node(T) * next = t.head; next; next = next->next ) {
     2950                        *crnt = alloc();
     2951                        ((*crnt)->value){ next->value };
     2952                        crnt = &(*crnt)->next;
     2953                }
     2954                *crnt = 0;
     2955        }
    29672956        stack(T) ?=?( stack(T) & s, stack(T) t ) {
    29682957                if ( s.head == t.head ) return s;
     
    29712960                return s;
    29722961        }
    2973         _Bool empty( const stack(T) & s ) {
    2974                 return s.head == 0;
    2975         }
     2962        void ^?{}( stack(T) & s) { clear( s ); }
     2963        _Bool empty( const stack(T) & s ) { return s.head == 0; }
    29762964        void push( stack(T) & s, T value ) with( s ) {
    2977                 node(T) * n = alloc();
     2965                stack_node(T) * n = alloc();
    29782966                (*n){ value, head };
    29792967                head = n;
    29802968        }
    29812969        T pop( stack(T) & s ) with( s ) {
    2982                 node(T) * n = head;
     2970                stack_node(T) * n = head;
    29832971                head = n->next;
    29842972                T v = n->value;
     
    29882976        }
    29892977}
    2990 \end{cfa}
    2991 \end{tabular}
    2992 \lstMakeShortInline@%
    2993 \end{flushleft}
    2994 
    2995 
    2996 \subsection{\CC}
    2997 
    2998 \begin{flushleft}
    2999 \lstDeleteShortInline@%
    3000 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    3001 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
     2978\end{comment}
     2979
     2980\medskip\noindent
     2981\CC
     2982\begin{cfa}[xleftmargin=2\parindentlnth,aboveskip=0pt,belowskip=0pt]
    30022983template<typename T> struct stack {
    30032984        struct node {
    30042985                T value;
    30052986                node * next;
    3006                 node( const T & v, node * n = nullptr ) :
    3007                         value( v ), next( n ) {}
     2987                node( const T & v, node * n = nullptr ) : value( v ), next( n ) {}
    30082988        };
    30092989        node * head;
    3010         void copy( const stack<T> & o ) {
    3011                 node ** cr = &head;
    3012                 for ( node * nx = o.head; nx; nx = nx->next ) {
    3013                         *cr = new node{ nx->value }; /***/
    3014                         cr = &(*cr)->next;
    3015                 }
    3016                 *cr = nullptr;
    3017         }
     2990        stack() : head( nullptr ) {}
     2991        stack( const stack<T> & o ) { copy( o ); }
    30182992        void clear() {
    3019                 for ( node * nx = head; nx; ) {
    3020                         node * cr = nx;
    3021                         nx = cr->next;
    3022                         delete cr;
     2993                for ( node * next = head; next; ) {
     2994                        node * crnt = next;
     2995                        next = crnt->next;
     2996                        delete crnt;
    30232997                }
    30242998                head = nullptr;
    30252999        }
    3026 \end{cfa}
    3027 &
    3028 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
    3029         stack() : head( nullptr ) {}
    3030         stack( const stack<T> & o ) { copy( o ); }
     3000        void copy( const stack<T> & o ) {
     3001                node ** crnt = &head;
     3002                for ( node * next = o.head; next; next = next->next ) {
     3003                        *crnt = new node{ next->value }; /***/
     3004                        crnt = &(*crnt)->next;
     3005                }
     3006                *crnt = nullptr;
     3007        }
    30313008        ~stack() { clear(); }
    3032         stack & operator=( const stack<T> & o ) {
     3009        stack & operator= ( const stack<T> & o ) {
    30333010                if ( this == &o ) return *this;
    30343011                clear();
     
    30363013                return *this;
    30373014        }
    3038         bool empty() const {
    3039                 return head == nullptr;
    3040         }
    3041         void push( const T & value ) {
    3042                 head = new node{ value, head };  /***/
    3043         }
     3015        bool empty() const { return head == nullptr; }
     3016        void push( const T & value ) { head = new node{ value, head };  /***/ }
    30443017        T pop() {
    30453018                node * n = head;
     
    30503023        }
    30513024};
    3052 
    3053 \end{cfa}
    3054 \end{tabular}
    3055 \lstMakeShortInline@%
    3056 \end{flushleft}
    3057 
    3058 
    3059 \subsection{\CCV}
    3060 
    3061 \begin{flushleft}
    3062 \lstDeleteShortInline@%
    3063 \begin{tabular}{@{}l|@{\hspace{\parindentlnth}}l@{}}
    3064 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
     3025\end{cfa}
     3026
     3027\medskip\noindent
     3028\CCV
     3029\begin{cfa}[xleftmargin=2\parindentlnth,aboveskip=0pt,belowskip=0pt]
    30653030struct stack {
    30663031        struct node {
    30673032                ptr<object> value;
    30683033                node * next;
    3069                 node( const object & v, node * n = nullptr ) :
    3070                                 value( v.new_copy() ), next( n ) {}
     3034                node( const object & v, node * n = nullptr ) : value( v.new_copy() ), next( n ) {}
    30713035        };
    30723036        node * head;
    3073         void copy( const stack & o ) {
    3074                 node ** cr = &head;
    3075                 for ( node * nx = o.head; nx; nx = nx->next ) {
    3076                         *cr = new node{ *nx->value }; /***/
    3077                         cr = &(*cr)->next;
    3078                 }
    3079                 *cr = nullptr;
    3080         }
    30813037        void clear() {
    3082                 for ( node * nx = head; nx; ) {
    3083                         node * cr = nx;
    3084                         nx = cr->next;
    3085                         delete cr;
     3038                for ( node * next = head; next; ) {
     3039                        node * crnt = next;
     3040                        next = crnt->next;
     3041                        delete crnt;
    30863042                }
    30873043                head = nullptr;
    30883044        }
    3089 \end{cfa}
    3090 &
    3091 \begin{cfa}[xleftmargin=0pt,aboveskip=0pt,belowskip=0pt]
     3045        void copy( const stack & o ) {
     3046                node ** crnt = &head;
     3047                for ( node * next = o.head; next; next = next->next ) {
     3048                        *crnt = new node{ *next->value }; /***/
     3049                        crnt = &(*crnt)->next;
     3050                }
     3051                *crnt = nullptr;
     3052        }
    30923053        stack() : head( nullptr ) {}
    30933054        stack( const stack & o ) { copy( o ); }
    30943055        ~stack() { clear(); }
    3095         stack & operator=( const stack & o ) {
     3056        stack & operator= ( const stack & o ) {
    30963057                if ( this == &o ) return *this;
    30973058                clear();
     
    30993060                return *this;
    31003061        }
    3101         bool empty() const {
    3102                 return head == nullptr;
    3103         }
    3104         void push( const object & value ) {
    3105                 head = new node{ value, head }; /***/
    3106         }
     3062        bool empty() const { return head == nullptr; }
     3063        void push( const object & value ) { head = new node{ value, head }; /***/ }
    31073064        ptr<object> pop() {
    31083065                node * n = head;
     
    31133070        }
    31143071};
    3115 
    3116 \end{cfa}
    3117 \end{tabular}
    3118 \lstMakeShortInline@%
    3119 \end{flushleft}
     3072\end{cfa}
    31203073
    31213074
  • doc/papers/general/evaluation/c-bench.c

    rff29f08 rf6f0cca3  
    55#include "c-stack.h"
    66
    7 char * new_char( char c ) {
    8         char* q = malloc( sizeof(char) ); /***/
     7char* new_char( char c ) {
     8        char* q = malloc(sizeof(char)); /***/
    99        *q = c;
    1010        return q;
    1111}
    1212
    13 short * new_short( short s ) {
    14         short* q = malloc( sizeof(short) ); /***/
     13short* new_short( short s ) {
     14        short* q = malloc(sizeof(short)); /***/
    1515        *q = s;
    1616        return q;
     
    1818
    1919int* new_int( int i ) {
    20         int* q = malloc( sizeof(int) ); /***/
     20        int* q = malloc(sizeof(int)); /***/
    2121        *q = i;
    2222        return q;
    2323}
    2424
    25 void * copy_char( const void * p ) { return new_char( *(const char*)p ); } /***/
    26 void * copy_short( const void * p ) { return new_short( *(const short*)p ); } /***/
    27 void * copy_int( const void * p ) { return new_int( *(const int*)p ); } /***/
    28 void * copy_pair_short_char( const void * p ) { return copy_pair( p, copy_short, copy_char ); } /***/
    29 void free_pair_short_char( void * p ) { free_pair( p, free, free ); } /***/
     25void* copy_char( const void* p ) { return new_char( *(const char*)p ); } /***/
     26void* copy_short( const void* p ) { return new_short( *(const short*)p ); } /***/
     27void* copy_int( const void* p ) { return new_int( *(const int*)p ); } /***/
     28void* copy_pair_short_char( const void* p ) { return copy_pair( p, copy_short, copy_char ); } /***/
     29void free_pair_short_char( void* p ) { free_pair( p, free, free ); } /***/
    3030
    3131int cmp_char( const void* a, const void* b ) { /***/
     
    3737}
    3838
    39 int main(int argc, char * argv[] ) {
     39int main(int argc, char** argv) {
    4040        int maxi = 0, vali = 42;
    4141        struct stack si = new_stack(), ti;
  • doc/papers/general/evaluation/c-pair.c

    rff29f08 rf6f0cca3  
    22#include "c-pair.h"
    33
    4 pair * new_pair( void * first, void * second ) {
    5         pair * p = malloc( sizeof(pair) ); /***/
    6         *p = (pair){ first, second }; /***/
     4struct pair* new_pair(void* first, void* second) {
     5        struct pair* p = malloc(sizeof(struct pair)); /***/
     6        *p = (struct pair){ first, second }; /***/
    77        return p;
    88}
    99
    10 pair * copy_pair( const pair * src,
    11                 void * (* copy_first)(const void* ), void * (* copy_second)(const void *)) {
     10struct pair* copy_pair(const struct pair* src,
     11                void* (*copy_first)(const void*), void* (*copy_second)(const void*)) {
    1212        return new_pair( copy_first(src->first), copy_second(src->second) );
    1313}
    1414
    15 void free_pair( pair * p, void (* free_first)(void *), void (* free_second)(void *)) {
    16         free_first( p->first );
    17         free_second( p->second );
    18         free( p );
     15void free_pair(struct pair* p, void (*free_first)(void*), void (*free_second)(void*)) {
     16        free_first(p->first);
     17        free_second(p->second);
     18        free(p);
    1919}
    2020
    21 int cmp_pair( const pair * a, const pair * b,
    22                 int (* cmp_first)(const void *, const void *), int (* cmp_second)(const void *, const void *)) {
    23         int c = cmp_first( a->first, b->first );
    24         if ( c == 0 ) c = cmp_second( a->second, b->second );
     21int cmp_pair(const struct pair* a, const struct pair* b,
     22                int (*cmp_first)(const void*, const void*), int (*cmp_second)(const void*, const void*)) {
     23        int c = cmp_first(a->first, b->first);
     24        if ( c == 0 ) c = cmp_second(a->second, b->second);
    2525        return c;
    2626}
  • doc/papers/general/evaluation/c-pair.h

    rff29f08 rf6f0cca3  
    11#pragma once
    22
    3 typedef struct pair {
    4         void * first;
    5         void * second;
    6 } pair;
     3struct pair {
     4        void* first;
     5        void* second;
     6};
    77
    8 pair * new_pair( void * first, void * second );
     8struct pair* new_pair(void* first, void* second);
    99
    10 pair * copy_pair( const pair * src,
    11         void * (* copy_first)(const void *), void * (* copy_second)(const void *));
     10struct pair* copy_pair(const struct pair* src,
     11        void* (*copy_first)(const void*), void* (*copy_second)(const void*));
    1212
    13 void free_pair( pair * p, void (* free_first)(void *), void (* free_second)(void *));
     13void free_pair(struct pair* p, void (*free_first)(void*), void (*free_second)(void*));
    1414
    15 int cmp_pair( const pair * a, const pair * b,
    16         int (* cmp_first)(const void *, const void *), int (* cmp_second)(const void *, const void *));
     15int cmp_pair(const struct pair* a, const struct pair* b,
     16        int (*cmp_first)(const void*, const void*), int (*cmp_second)(const void*, const void*));
  • doc/papers/general/evaluation/c-print.c

    rff29f08 rf6f0cca3  
    44#include "c-print.h"
    55
    6 void print_string( FILE * out, const char * x ) { fprintf( out, "%s", x ); }
     6void print_string(FILE* out, const char* x) { fprintf(out, "%s", x); }
    77
    8 void print_bool( FILE * out, _Bool x ) { fprintf( out, "%s", x ? "true" : "false" ); }
     8void print_bool(FILE* out, _Bool x) { fprintf(out, "%s", x ? "true" : "false"); }
    99
    10 void print_char( FILE * out, char x ) {
    11         if ( 0x20 <= x && x <= 0x7E ) { fprintf( out, "'%c'", x ); }
    12         else { fprintf( out, "'\\%x'", x ); }
     10void print_char(FILE* out, char x) {
     11        if ( 0x20 <= x && x <= 0x7E ) { fprintf(out, "'%c'", x); }
     12        else { fprintf(out, "'\\%x'", x); }
    1313}
    1414
    15 void print_int( FILE * out, int x ) { fprintf( out, "%d", x ); }
     15void print_int(FILE* out, int x) { fprintf(out, "%d", x); }
    1616
    17 void print_fmt( FILE * out, char fmt, void * p ) {
     17void print_fmt(FILE* out, char fmt, void* p) {
    1818        switch( fmt ) {
    19         case 's': print_string( out, (const char*)p ); break; /***/
    20         case 'b': print_bool( out, *(_Bool*)p ); break; /***/
    21         case 'c': print_char( out, *(char*)p ); break; /***/
    22         case 'd': print_int( out, *(int*)p ); break; /***/
     19        case 's': print_string(out, (const char*)p); break; /***/
     20        case 'b': print_bool(out, *(_Bool*)p); break; /***/
     21        case 'c': print_char(out, *(char*)p); break; /***/
     22        case 'd': print_int(out, *(int*)p); break; /***/
    2323        }
    2424}
    2525
    26 void print( FILE * out, const char * fmt, ... ) {
     26void print(FILE* out, const char* fmt, ...) {
    2727        va_list args;
    2828        va_start(args, fmt);
    29         for ( const char * it = fmt; *it; ++it ) {
     29        for (const char* it = fmt; *it; ++it) {
    3030                switch( *it ) {
    31                 case 's': print_string( out, va_arg( args, const char * ) ); break; /***/
    32                 case 'b': print_bool( out, va_arg( args, int ) ); break; /***/
    33                 case 'c': print_char( out, va_arg( args, int ) ); break; /***/
    34                 case 'd': print_int( out, va_arg( args, int ) ); break; /***/
     31                case 's': print_string(out, va_arg(args, const char*)); break; /***/
     32                case 'b': print_bool(out, va_arg(args, int)); break; /***/
     33                case 'c': print_char(out, va_arg(args, int)); break; /***/
     34                case 'd': print_int(out, va_arg(args, int)); break; /***/
    3535                case 'p': {
    36                         const struct pair x = va_arg( args, const struct pair ); /***/
    37                         fprintf( out, "[" );
    38                         print_fmt( out, *++it, x.first ); /***/
    39                         fprintf( out, ", " );
    40                         print_fmt( out, *++it, x.second ); /***/
    41                         fprintf( out, "]" );
     36                        const struct pair x = va_arg(args, const struct pair); /***/
     37                        fprintf(out, "[");
     38                        print_fmt(out, *++it, x.first); /***/
     39                        fprintf(out, ", ");
     40                        print_fmt(out, *++it, x.second); /***/
     41                        fprintf(out, "]");
    4242                        break;
    4343                }
    4444                }
    4545        }
    46         va_end( args );
     46        va_end(args);
    4747}
  • doc/papers/general/evaluation/c-print.h

    rff29f08 rf6f0cca3  
    22#include <stdio.h>
    33
    4 void print_string( FILE * out, const char * x );
    5 void print_bool( FILE * out, _Bool x );
    6 void print_char( FILE * out, char x );
    7 void print_int( FILE * out, int x );
     4void print_string(FILE* out, const char* x);
     5void print_bool(FILE* out, _Bool x);
     6void print_char(FILE* out, char x);
     7void print_int(FILE* out, int x);
    88
    9 void print( FILE * out, const char * fmt, ... );
     9void print(FILE* out, const char* fmt, ...);
  • doc/papers/general/evaluation/c-stack.c

    rff29f08 rf6f0cca3  
    22#include "c-stack.h"
    33
    4 typedef struct node {
     4struct stack_node {
    55        void * value;
    6         struct node * next;
    7 } node;
     6        struct stack_node * next;
     7};
    88
    9 void copy_stack( stack * s, const stack * t, void * (*copy)( const void * ) ) {
    10         node ** cr = &s->head;
    11         for ( node * nx = t->head; nx; nx = nx->next ) {
    12                 *cr = malloc( sizeof(node) ); /***/
    13                 (*cr)->value = copy( nx->value );
    14                 cr = &(*cr)->next;
    15         }
    16         *cr = NULL;
    17 }
    18 
    19 void clear_stack( stack * s, void (* free_el)( void * ) ) {
    20         for ( node * nx = s->head; nx; ) {
    21                 node * cr = nx;
    22                 nx = cr->next;
    23                 free_el( cr->value );
    24                 free( cr );
     9void clear_stack( struct stack * s, void (*free_el)( void * ) ) {
     10        for ( struct stack_node * next = s->head; next; ) {
     11                struct stack_node * crnt = next;
     12                next = crnt->next;
     13                free_el( crnt->value );
     14                free( crnt );
    2515        }
    2616        s->head = NULL;
    2717}
    2818
    29 stack new_stack() {
    30         return (stack){ NULL }; /***/
     19struct stack new_stack() { return (struct stack){ NULL }; /***/ }
     20
     21void copy_stack( struct stack * s, const struct stack * t, void * (*copy)( const void * ) ) {
     22        struct stack_node ** crnt = &s->head;
     23        for ( struct stack_node * next = t->head; next; next = next->next ) {
     24                *crnt = malloc( sizeof(struct stack_node) ); /***/
     25                (*crnt)->value = copy( next->value );
     26                crnt = &(*crnt)->next;
     27        }
     28        *crnt = NULL;
    3129}
    32 
    33 stack * assign_stack( stack * s, const stack * t,
     30struct stack * assign_stack( struct stack * s, const struct stack * t,
    3431                void * (*copy_el)( const void * ), void (*free_el)( void * ) ) {
    3532        if ( s->head == t->head ) return s;
     
    3936}
    4037
    41 _Bool stack_empty( const stack * s ) {
    42         return s->head == NULL;
    43 }
     38_Bool stack_empty( const struct stack * s ) { return s->head == NULL; }
    4439
    45 void push_stack( stack * s, void * v ) {
    46         node * n = malloc( sizeof(node) ); /***/
    47         *n = (node){ v, s->head }; /***/
     40void push_stack( struct stack * s, void * v ) {
     41        struct stack_node * n = malloc( sizeof(struct stack_node) ); /***/
     42        *n = (struct stack_node){ v, s->head }; /***/
    4843        s->head = n;
    4944}
    5045
    51 void * pop_stack( stack * s ) {
    52         node * n = s->head;
     46void * pop_stack( struct stack * s ) {
     47        struct stack_node * n = s->head;
    5348        s->head = n->next;
    5449        void * v = n->value;
  • doc/papers/general/evaluation/c-stack.h

    rff29f08 rf6f0cca3  
    11#pragma once
    22
    3 struct node;
    4 typedef struct stack {
    5         struct node * head;
    6 } stack;
     3struct stack_node;
     4struct stack {
     5        struct stack_node* head;
     6};
    77
    8 void copy_stack(stack * dst, const stack * src, void * (* copy)(const void *));
    9 void clear_stack(stack * s, void (*free_el)(void *));
    10 stack new_stack();
    11 stack * assign_stack( stack * dst, const stack * src,
    12         void * (* copy_el)(const void *), void (* free_el)(void *));
     8struct stack new_stack();
     9void copy_stack(struct stack* dst, const struct stack* src, void* (*copy)(const void*));
     10struct stack* assign_stack(struct stack* dst, const struct stack* src,
     11        void* (*copy_el)(const void*), void (*free_el)(void*));
     12void clear_stack(struct stack* s, void (*free_el)(void*));
    1313
    14 _Bool stack_empty( const stack * s );
    15 void push_stack( stack * s, void * value );
    16 void * pop_stack( stack * s );
     14_Bool stack_empty(const struct stack* s);
     15void push_stack(struct stack* s, void* value);
     16void* pop_stack(struct stack* s);
  • doc/papers/general/evaluation/cfa-stack.c

    rff29f08 rf6f0cca3  
    22#include "cfa-stack.h"
    33
    4 forall( otype T ) {
    5         struct node {
    6                 T value;
    7                 node(T) * next;
    8         };
     4forall( otype T ) struct stack_node {
     5        T value;
     6        stack_node(T) * next;
     7};
    98
    10         void ?{}( stack(T) & s, stack(T) t ) {          // copy
    11                 node(T) ** cr = &s.head;
    12                 for ( node(T) * nx = t.head; nx; nx = nx->next ) {
    13                         *cr = alloc();
    14                         ((*cr)->value){ nx->value };
    15                         cr = &(*cr)->next;
    16                 }
    17                 *cr = 0;
     9forall( otype T ) void clear( stack(T) & s ) with( s ) {
     10        for ( stack_node(T) * next = head; next; ) {
     11                stack_node(T) * crnt = next;
     12                next = crnt->next;
     13                ^(*crnt){};
     14                free(crnt);
    1815        }
     16        head = 0;
     17}
    1918
    20         void clear( stack(T) & s ) with( s ) {
    21                 for ( node(T) * nx = head; nx; ) {
    22                         node(T) * cr = nx;
    23                         nx = cr->next;
    24                         ^(*cr){};
    25                         free( cr );
    26                 }
    27                 head = 0;
     19forall( otype T ) void ?{}( stack(T) & s ) { (s.head){ 0 }; }
     20
     21forall( otype T ) void ?{}( stack(T) & s, stack(T) t ) {
     22        stack_node(T) ** crnt = &s.head;
     23        for ( stack_node(T) * next = t.head; next; next = next->next ) {
     24                *crnt = alloc();
     25                ((*crnt)->value){ next->value };
     26                crnt = &(*crnt)->next;
    2827        }
     28        *crnt = 0;
     29}
    2930
    30         void ?{}( stack(T) & s ) { (s.head){ 0 }; }
    31         void ^?{}( stack(T) & s) { clear( s ); }
     31forall( otype T ) stack(T) ?=?( stack(T) & s, stack(T) t ) {
     32        if ( s.head == t.head ) return s;
     33        clear( s );
     34        s{ t };
     35        return s;
     36}
    3237
    33         stack(T) ?=?( stack(T) & s, stack(T) t ) {
    34                 if ( s.head == t.head ) return s;
    35                 clear( s );
    36                 s{ t };
    37                 return s;
    38         }
     38forall( otype T ) void ^?{}( stack(T) & s) { clear( s ); }
    3939
    40         _Bool empty( const stack(T) & s ) {
    41                 return s.head == 0;
    42         }
     40forall( otype T ) _Bool empty( const stack(T) & s ) { return s.head == 0; }
    4341
    44         void push( stack(T) & s, T value ) with( s ) {
    45                 node(T) * n = alloc();
    46                 (*n){ value, head };
    47                 head = n;
    48         }
     42forall( otype T ) void push( stack(T) & s, T value ) with( s ) {
     43        stack_node(T) * n = alloc();
     44        (*n){ value, head };
     45        head = n;
     46}
    4947
    50         T pop( stack(T) & s ) with( s ) {
    51                 node(T) * n = head;
    52                 head = n->next;
    53                 T v = n->value;
    54                 ^(*n){};
    55                 free( n );
    56                 return v;
    57         }
     48forall( otype T ) T pop( stack(T) & s ) with( s ) {
     49        stack_node(T) * n = head;
     50        head = n->next;
     51        T v = n->value;
     52        ^(*n){};
     53        free( n );
     54        return v;
    5855}
  • doc/papers/general/evaluation/cfa-stack.h

    rff29f08 rf6f0cca3  
    11#pragma once
    22
    3 forall( otype T ) {
    4         struct node;
    5         struct stack {
    6                 node(T) * head;
    7         };
     3forall( otype T ) struct stack_node;
     4forall( otype T ) struct stack {
     5        stack_node(T) * head;
     6};
    87
    9         void ?{}( stack(T) & s, stack(T) t );
    10         void clear( stack(T) & s );
    11         void ?{}( stack(T) & s );
    12         void ^?{}( stack(T) & s);
     8forall( otype T ) void ?{}( stack(T) & s );
     9forall( otype T ) void ?{}( stack(T) & s, stack(T) t );
     10forall( otype T ) stack(T) ?=?( stack(T) & s, stack(T) t );
     11forall( otype T ) void ^?{}( stack(T) & s);
    1312
    14         stack(T) ?=?( stack(T) & s, stack(T) t );
    15         _Bool empty( const stack(T) & s );
    16         void push( stack(T) & s, T value );
    17         T pop( stack(T) & s );
    18 }
     13forall( otype T ) _Bool empty( const stack(T) & s );
     14forall( otype T ) void push( stack(T) & s, T value );
     15forall( otype T ) T pop( stack(T) & s );
     16forall( otype T ) void clear( stack(T) & s );
  • doc/papers/general/evaluation/cpp-stack.hpp

    rff29f08 rf6f0cca3  
    1010        node * head;
    1111
    12         void copy( const stack<T> & o ) {
    13                 node ** cr = &head;
    14                 for ( node * nx = o.head; nx; nx = nx->next ) {
    15                         *cr = new node{ nx->value }; /***/
    16                         cr = &(*cr)->next;
    17                 }
    18                 *cr = nullptr;
    19         }
     12        stack() : head( nullptr ) {}
     13        stack( const stack<T> & o ) { copy( o ); }
    2014
    2115        void clear() {
    22                 for ( node * nx = head; nx; ) {
    23                         node * cr = nx;
    24                         nx = cr->next;
    25                         delete cr;
     16                for ( node * next = head; next; ) {
     17                        node * crnt = next;
     18                        next = crnt->next;
     19                        delete crnt;
    2620                }
    2721                head = nullptr;
    2822        }
    2923
    30         stack() : head( nullptr ) {}
    31         stack( const stack<T> & o ) { copy( o ); }
     24        void copy( const stack<T> & o ) {
     25                node ** crnt = &head;
     26                for ( node * next = o.head; next; next = next->next ) {
     27                        *crnt = new node{ next->value }; /***/
     28                        crnt = &(*crnt)->next;
     29                }
     30                *crnt = nullptr;
     31        }
     32
    3233        ~stack() { clear(); }
    3334
    34         stack & operator=( const stack<T> & o ) {
     35        stack & operator= ( const stack<T> & o ) {
    3536                if ( this == &o ) return *this;
    3637                clear();
     
    3940        }
    4041
    41         bool empty() const {
    42                 return head == nullptr;
    43         }
     42        bool empty() const { return head == nullptr; }
    4443
    45         void push( const T & value ) {
    46                 head = new node{ value, head };  /***/
    47         }
     44        void push( const T & value ) { head = new node{ value, head };  /***/ }
    4845
    4946        T pop() {
  • doc/papers/general/evaluation/cpp-vstack.cpp

    rff29f08 rf6f0cca3  
    44stack::node::node( const object & v, node * n ) : value( v.new_copy() ), next( n ) {}
    55
    6 void stack::copy( const stack & o ) {
    7         node ** cr = &head;
    8         for ( node * nx = o.head; nx; nx = nx->next ) {
    9                 *cr = new node{ *nx->value }; /***/
    10                 cr = &(*cr)->next;
     6void stack::clear() {
     7        for ( node * next = head; next; ) {
     8                node * crnt = next;
     9                next = crnt->next;
     10                delete crnt;
    1111        }
    12         *cr = nullptr;
     12        head = nullptr;
    1313}
    1414
    15 void stack::clear() {
    16         for ( node * nx = head; nx; ) {
    17                 node * cr = nx;
    18                 nx = cr->next;
    19                 delete cr;
     15void stack::copy( const stack & o ) {
     16        node ** crnt = &head;
     17        for ( node * next = o.head; next; next = next->next ) {
     18                *crnt = new node{ *next->value }; /***/
     19                crnt = &(*crnt)->next;
    2020        }
    21         head = nullptr;
     21        *crnt = nullptr;
    2222}
    2323
     
    3333}
    3434
    35 bool stack::empty() const {
    36         return head == nullptr;
    37 }
     35bool stack::empty() const { return head == nullptr; }
    3836
    39 void stack::push( const object & value ) {
    40         head = new node{ value, head }; /***/
    41 }
     37void stack::push( const object & value ) { head = new node{ value, head }; /***/ }
    4238
    4339ptr<object> stack::pop() {
  • doc/papers/general/evaluation/cpp-vstack.hpp

    rff29f08 rf6f0cca3  
    1010        node * head;
    1111
     12        void clear();
    1213        void copy( const stack & o );
    13         void clear();
    1414
    1515        stack();
  • doc/papers/general/evaluation/timing.dat

    rff29f08 rf6f0cca3  
    11"400 million repetitions"       "C"     "\\CFA{}"       "\\CC{}"        "\\CC{obj}"
    2 "push\nint"     2911    2034    1504    3246
    3 "copy\nint"     2953    1622    1526    3075
    4 "clear\nint"    1397    754     753     1452
    5 "pop\nint"      1446    1203    760     5016
    6 "push\npair"    3673    2297    955     6971
    7 "copy\npair"    6027    1183    998     7204
    8 "clear\npair"   2840    773     748     3511
    9 "pop\npair"     3025    5414    813     23867
    10 
     2"push\nint"     3002    2459    1542    3269
     3"copy\nint"     2985    2057    1539    3083
     4"clear\nint"    1374    827     756     1469
     5"pop\nint"      1416    1221    760     5098
     6"push\npair"    4214    2752    950     6873
     7"copy\npair"    6127    2105    987     7293
     8"clear\npair"   2881    885     751     3460
     9"pop\npair"     3046    5434    822     24962
  • doc/papers/general/evaluation/timing.gp

    rff29f08 rf6f0cca3  
    2424set yrange [0:10]
    2525
    26 set label "23.9" at 7.125,10.5
    27 set style fill pattern 4 border lt -1
     26set label "25.0" at 7.125,10.5
     27
    2828# set datafile separator ","
    2929plot for [COL=2:5] 'evaluation/timing.dat' using (column(COL)/SCALE):xticlabels(1) title columnheader
  • doc/refrat/Makefile

    rff29f08 rf6f0cca3  
    3434
    3535DOCUMENT = refrat.pdf
    36 BASE = ${basename ${DOCUMENT}}
    3736
    3837# Directives #
     
    4342
    4443clean :
    45         @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
     44        @rm -frv ${DOCUMENT} ${basename ${DOCUMENT}}.ps ${Build}
    4645
    4746# File Dependencies #
    4847
    49 ${DOCUMENT} : ${BASE}.ps
     48${DOCUMENT} : ${basename ${DOCUMENT}}.ps
    5049        ps2pdf $<
    5150
    52 ${BASE}.ps : ${BASE}.dvi
     51${basename ${DOCUMENT}}.ps : ${basename ${DOCUMENT}}.dvi
    5352        dvips ${Build}/$< -o $@
    5453
    55 ${BASE}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
     54${basename ${DOCUMENT}}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
    5655                ${Macros}/common.tex ${Macros}/lstlang.sty ${Macros}/indexstyle ../bibliography/pl.bib
    5756        # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
     
    7170
    7271predefined :
    73         sed -f predefined.sed ${BASE}.tex > ${basename $@}.cf
     72        sed -f predefined.sed ${basename ${DOCUMENT}}.tex > ${basename $@}.cf
    7473
    7574## Define the default recipes.
     
    7877        mkdir -p ${Build}
    7978
    80 %.tex : %.fig ${Build}
     79%.tex : %.fig
    8180        fig2dev -L eepic $< > ${Build}/$@
    8281
    83 %.ps : %.fig ${Build}
     82%.ps : %.fig
    8483        fig2dev -L ps $< > ${Build}/$@
    8584
    86 %.pstex : %.fig ${Build}
     85%.pstex : %.fig
    8786        fig2dev -L pstex $< > ${Build}/$@
    8887        fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
  • doc/user/Makefile

    rff29f08 rf6f0cca3  
    3838
    3939DOCUMENT = user.pdf
    40 BASE = ${basename ${DOCUMENT}}
    4140
    4241# Directives #
     
    4746
    4847clean :
    49         @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
     48        @rm -frv ${DOCUMENT} ${basename ${DOCUMENT}}.ps ${Build}
    5049
    5150# File Dependencies #
    5251
    53 ${DOCUMENT} : ${BASE}.ps
     52${DOCUMENT} : ${basename ${DOCUMENT}}.ps
    5453        ps2pdf $<
    5554
    56 ${BASE}.ps : ${BASE}.dvi
     55${basename ${DOCUMENT}}.ps : ${basename ${DOCUMENT}}.dvi
    5756        dvips ${Build}/$< -o $@
    5857
    59 ${BASE}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
     58${basename ${DOCUMENT}}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
    6059                ${Macros}/common.tex ${Macros}/lstlang.sty ${Macros}/indexstyle ../bibliography/pl.bib
    6160        # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
     
    7978        mkdir -p ${Build}
    8079
    81 %.tex : %.fig ${Build}
     80%.tex : %.fig
    8281        fig2dev -L eepic $< > ${Build}/$@
    8382
    84 %.ps : %.fig ${Build}
     83%.ps : %.fig
    8584        fig2dev -L ps $< > ${Build}/$@
    8685
    87 %.pstex : %.fig ${Build}
     86%.pstex : %.fig
    8887        fig2dev -L pstex $< > ${Build}/$@
    8988        fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
  • doc/user/user.tex

    rff29f08 rf6f0cca3  
    1111%% Created On       : Wed Apr  6 14:53:29 2016
    1212%% Last Modified By : Peter A. Buhr
    13 %% Last Modified On : Sun May  6 10:33:53 2018
    14 %% Update Count     : 3319
     13%% Last Modified On : Sat Apr 14 19:04:30 2018
     14%% Update Count     : 3318
    1515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616
     
    16421642\begin{itemize}
    16431643\item
    1644 if ©R© is an \Index{rvalue} of type ©T &$_1$...&$_r$© where $r \ge 1$ references (©&© symbols) then ©&R© has type ©T ®*®&$_{\color{red}2}$...&$_{\color{red}r}$©, \ie ©T© pointer with $r-1$ references (©&© symbols).
     1644if ©R© is an \Index{rvalue} of type ©T &$_1$...&$_r$© where $r \ge 1$ references (©&© symbols) than ©&R© has type ©T ®*®&$_{\color{red}2}$...&$_{\color{red}r}$©, \ie ©T© pointer with $r-1$ references (©&© symbols).
    16451645
    16461646\item
  • src/CodeGen/CodeGenerator.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May  5 09:08:32 2018
    13 // Update Count     : 494
     12// Last Modified On : Sun Sep  3 20:42:52 2017
     13// Update Count     : 490
    1414//
    1515#include "CodeGenerator.h"
     
    370370
    371371        void CodeGenerator::postvisit( Constant * constant ) {
    372                 output << constant->get_value();
     372                output << constant->get_value() ;
    373373        }
    374374
     
    587587                output << "(";
    588588                if ( castExpr->get_result()->isVoid() ) {
    589                         output << "(void)";
     589                        output << "(void)" ;
    590590                } else {
    591591                        // at least one result type of cast.
     
    878878                        } // for
    879879                } // if
    880                 output << " );";
     880                output << " );" ;
    881881        }
    882882
     
    886886                output << "( ";
    887887                if ( asmStmt->get_instruction() ) asmStmt->get_instruction()->accept( *visitor );
    888                 output << " )";
    889         }
    890 
    891         void CodeGenerator::postvisit( DirectiveStmt * dirStmt ) {
    892                 output << endl << dirStmt->directive;                   // endl prevents spaces before directive
     888                output << " )" ;
    893889        }
    894890
     
    907903
    908904        void CodeGenerator::postvisit( SwitchStmt * switchStmt ) {
    909                 output << "switch ( ";
     905                output << "switch ( " ;
    910906                switchStmt->get_condition()->accept( *visitor );
    911907                output << " ) ";
     
    933929                ++indent;
    934930                for ( std::list<Statement *>::iterator i = sts.begin(); i != sts.end();  i++) {
    935                         output << indent << printLabels( (*i)->get_labels() ) ;
     931                        output << indent << printLabels( (*i)->get_labels() )  ;
    936932                        (*i)->accept( *visitor );
    937933                        output << endl;
     
    10701066        void CodeGenerator::postvisit( WhileStmt * whileStmt ) {
    10711067                if ( whileStmt->get_isDoWhile() ) {
    1072                         output << "do";
    1073                 } else {
    1074                         output << "while (";
     1068                        output << "do" ;
     1069                } else {
     1070                        output << "while (" ;
    10751071                        whileStmt->get_condition()->accept( *visitor );
    10761072                        output << ")";
     
    10841080
    10851081                if ( whileStmt->get_isDoWhile() ) {
    1086                         output << " while (";
     1082                        output << " while (" ;
    10871083                        whileStmt->get_condition()->accept( *visitor );
    10881084                        output << ");";
  • src/CodeGen/CodeGenerator.h

    rff29f08 rf6f0cca3  
    9999                void postvisit( ExprStmt * );
    100100                void postvisit( AsmStmt * );
    101                 void postvisit( DirectiveStmt * );
    102101                void postvisit( AsmDecl * );                            // special: statement in declaration context
    103102                void postvisit( IfStmt * );
  • src/CodeGen/FixNames.cc

    rff29f08 rf6f0cca3  
    5555                auto && name = SymTab::Mangler::mangle( mainDecl );
    5656                // std::cerr << name << std::endl;
    57                 return std::move(name);
     57                return name;
    5858        }
    5959        std::string mangle_main_args() {
     
    7878                auto&& name = SymTab::Mangler::mangle( mainDecl );
    7979                // std::cerr << name << std::endl;
    80                 return std::move(name);
     80                return name;
    8181        }
    8282
  • src/Common/PassVisitor.h

    rff29f08 rf6f0cca3  
    7171        virtual void visit( ExprStmt * exprStmt ) override final;
    7272        virtual void visit( AsmStmt * asmStmt ) override final;
    73         virtual void visit( DirectiveStmt * dirStmt ) override final;
    7473        virtual void visit( IfStmt * ifStmt ) override final;
    7574        virtual void visit( WhileStmt * whileStmt ) override final;
     
    171170        virtual Statement * mutate( ExprStmt * exprStmt ) override final;
    172171        virtual Statement * mutate( AsmStmt * asmStmt ) override final;
    173         virtual Statement * mutate( DirectiveStmt * dirStmt ) override final;
    174172        virtual Statement * mutate( IfStmt * ifStmt ) override final;
    175173        virtual Statement * mutate( WhileStmt * whileStmt ) override final;
  • src/Common/PassVisitor.impl.h

    rff29f08 rf6f0cca3  
    690690        VISIT_START( node );
    691691
    692         node->condition = visitExpression( node->condition );
    693         maybeAccept_impl( node->message, *this );
     692        maybeAccept_impl( node->condition, *this );
     693        maybeAccept_impl( node->message  , *this );
    694694
    695695        VISIT_END( node );
     
    700700        MUTATE_START( node );
    701701
    702         node->condition = mutateExpression( node->condition );
    703         maybeMutate_impl( node->message, *this );
     702        maybeMutate_impl( node->condition, *this );
     703        maybeMutate_impl( node->message  , *this );
    704704
    705705        MUTATE_END( StaticAssertDecl, node );
     
    772772        maybeMutate_impl( node->input, *this );
    773773        maybeMutate_impl( node->clobber, *this );
    774 
    775         MUTATE_END( Statement, node );
    776 }
    777 
    778 //--------------------------------------------------------------------------
    779 // AsmStmt
    780 template< typename pass_type >
    781 void PassVisitor< pass_type >::visit( DirectiveStmt * node ) {
    782         VISIT_START( node )
    783 
    784         VISIT_END( node );
    785 }
    786 
    787 template< typename pass_type >
    788 Statement * PassVisitor< pass_type >::mutate( DirectiveStmt * node ) {
    789         MUTATE_START( node );
    790774
    791775        MUTATE_END( Statement, node );
  • src/Common/PassVisitor.proto.h

    rff29f08 rf6f0cca3  
    4747
    4848        operator bool() { return m_ref ? *m_ref : true; }
    49         bool operator=( bool val ) { assert(m_ref); return *m_ref = val; }
     49        bool operator=( bool val ) { return *m_ref = val; }
    5050
    5151private:
     
    5353        friend class ChildrenGuard;
    5454
    55         bool * set( bool * val ) {
     55        bool * set( bool & val ) {
    5656                bool * prev = m_ref;
    57                 m_ref = val;
     57                m_ref = &val;
    5858                return prev;
    5959        }
     
    6767        ChildrenGuard( bool_ref * ref )
    6868                : m_val ( true )
    69                 , m_prev( ref ? ref->set( &m_val ) : nullptr )
     69                , m_prev( ref ? ref->set( m_val ) : nullptr )
    7070                , m_ref ( ref )
    7171        {}
     
    7373        ~ChildrenGuard() {
    7474                if( m_ref ) {
    75                         m_ref->set( m_prev );
     75                        m_ref->set( *m_prev );
    7676                }
    7777        }
  • src/Common/SemanticError.cc

    rff29f08 rf6f0cca3  
    77// SemanticError.cc --
    88//
    9 // Author           : Thierry Delisle
     9// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 16 15:01:20 2018
    13 // Update Count     : 9
     12// Last Modified On : Tue Aug 29 18:17:35 2017
     13// Update Count     : 3
    1414//
    1515
    1616#include <cstdarg>
    1717#include <cstdio>                                                                               // for fileno, stderr
    18 #include <cstring>
    1918#include <unistd.h>                                                                             // for isatty
    2019#include <iostream>                                                                             // for basic_ostream, operator<<, ostream
    2120#include <list>                                                                                 // for list, _List_iterator
    2221#include <string>                                                                               // for string, operator<<, operator+, to_string
    23 #include <vector>
    2422
    2523#include "Common/utility.h"                                                             // for to_string, CodeLocation (ptr only)
    2624#include "SemanticError.h"
    27 
    28 //-----------------------------------------------------------------------------
    29 // Severity Handling
    30 std::vector<Severity> & get_severities() {
    31         static std::vector<Severity> severities;
    32         if(severities.empty()) {
    33                 severities.reserve((size_t)Warning::NUMBER_OF_WARNINGS);
    34                 for ( const auto w : WarningFormats ) {
    35                         severities.push_back( w.default_severity );
    36                 } // for
    37         }
    38         return severities;
    39 }
    40 
    41 void SemanticWarning_SuppressAll() {
    42         for( auto & s : get_severities() ) {
    43                 s = Severity::Suppress;
    44         }
    45 }
    46 
    47 void SemanticWarning_EnableAll() {
    48         for( auto & s : get_severities() ) {
    49                 s = Severity::Warn;
    50         }
    51 }
    52 
    53 void SemanticWarning_WarningAsError() {
    54         for( auto & s : get_severities() ) {
    55                 if(s == Severity::Warn) s = Severity::Error;
    56         }
    57 }
    58 
    59 void SemanticWarning_Set(const char * const name, Severity s) {
    60         size_t idx = 0;
    61         for ( const auto & w : WarningFormats ) {
    62                 if ( std::strcmp( name, w.name ) == 0 ) {
    63                         get_severities()[idx] = s;
    64                         break;
    65                 }
    66                 idx++;
    67         }
    68 }
    69 
    70 //-----------------------------------------------------------------------------
    71 // Semantic Error
    72 bool SemanticErrorThrow = false;
    7325
    7426SemanticErrorException::SemanticErrorException( CodeLocation location, std::string error ) {
     
    9648
    9749void SemanticError( CodeLocation location, std::string error ) {
    98         SemanticErrorThrow = true;
    9950        throw SemanticErrorException(location, error);
    10051}
     
    11869
    11970void SemanticWarningImpl( CodeLocation location, Warning warning, const char * const fmt, ... ) {
    120         Severity severity = get_severities()[(int)warning];
     71        Severity severity = WarningFormats[(int)warning].severity;
    12172        switch(severity) {
    12273        case Severity::Suppress :
  • src/Common/SemanticError.h

    rff29f08 rf6f0cca3  
    77// SemanticError.h --
    88//
    9 // Author           : Thierry Delisle
     9// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 16 15:01:23 2018
    13 // Update Count     : 30
     12// Last Modified On : Thu Apr 19 17:52:03 2018
     13// Update Count     : 19
    1414//
    1515
     
    1717
    1818#include "ErrorObjects.h"
    19 #include <cstring>
    2019
    2120//-----------------------------------------------------------------------------
    2221// Errors
    23 
    24 extern bool SemanticErrorThrow;
    2522
    2623__attribute__((noreturn)) void SemanticError( CodeLocation location, std::string error );
     
    4946        const char * const name;
    5047        const char * const message;
    51         const Severity default_severity;
     48        mutable Severity severity;
    5249};
    5350
    54 constexpr WarningData WarningFormats[] = {
    55         {"self-assign"            , "self assignment of expression: %s"            , Severity::Warn},
    56         {"reference-conversion"   , "rvalue to reference conversion of rvalue: %s" , Severity::Warn},
     51constexpr const WarningData WarningFormats[] = {
     52        {"self-assign"         , "self assignment of expression: %s"           , Severity::Warn},
     53        {"reference-conversion", "rvalue to reference conversion of rvalue: %s", Severity::Warn},
    5754        {"qualifiers-zero_t-one_t", "questionable use of type qualifier %s with %s", Severity::Warn},
    5855};
     
    7471void SemanticWarningImpl (CodeLocation loc, Warning warn, const char * const fmt, ...) __attribute__((format(printf, 3, 4)));
    7572
    76 void SemanticWarning_SuppressAll   ();
    77 void SemanticWarning_EnableAll     ();
    78 void SemanticWarning_WarningAsError();
    79 void SemanticWarning_Set           (const char * const name, Severity s);
    80 
    81 // SKULLDUGGERY: cfa.cc is built before SemanticError.cc but needs this routine.
    82 static inline bool SemanticWarning_Exist(const char * const name) {
    83         for ( const auto & w : WarningFormats ) {
    84                 if ( std::strcmp( name, w.name ) == 0 ) return true;
    85         }
    86         return false;
    87 }
    8873
    8974//-----------------------------------------------------------------------------
  • src/Common/module.mk

    rff29f08 rf6f0cca3  
    1919       Common/DebugMalloc.cc \
    2020       Common/GC.cc \
    21        Common/Assert.cc \
    22        Common/Heap.cc
     21       Common/Assert.cc
  • src/Common/utility.h

    rff29f08 rf6f0cca3  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May  6 22:24:16 2018
    13 // Update Count     : 40
     12// Last Modified On : Fri Apr 20 22:35:33 2018
     13// Update Count     : 38
    1414//
    1515
     
    438438
    439439template<typename T>
    440 inline
    441 #if defined(__GNUC__) && __GNUC__ > 4
    442 constexpr
    443 #endif
    444 T ilog2(const T & t) {
    445         if(std::is_integral<T>::value) {
     440inline constexpr T ilog2(const T & t) {
     441        if ( std::is_integral<T>::value ) {
    446442                const constexpr int r = sizeof(t) * __CHAR_BIT__ - 1;
    447                 if( sizeof(T) == sizeof(unsigned       int) ) return r - __builtin_clz  ( t );
    448                 if( sizeof(T) == sizeof(unsigned      long) ) return r - __builtin_clzl ( t );
    449                 if( sizeof(T) == sizeof(unsigned long long) ) return r - __builtin_clzll( t );
    450         }
    451         assert(false);
     443                if ( sizeof(T) == sizeof(unsigned int ) ) return r - __builtin_clz( t );
     444                if ( sizeof(T) == sizeof(unsigned long) ) return r - __builtin_clzl( t );
     445                if ( sizeof(T) == sizeof(unsigned long long) ) return r - __builtin_clzll( t );
     446        } // if
    452447        return -1;
    453 } // ilog2
     448} // ilong2
    454449
    455450
  • src/InitTweak/FixInit.cc

    rff29f08 rf6f0cca3  
    385385                void SelfAssignChecker::previsit( ApplicationExpr * appExpr ) {
    386386                        DeclarationWithType * function = getFunction( appExpr );
    387                         if ( function->name == "?=?" ) { // doesn't use isAssignment, because ?+=?, etc. should not count as self-assignment
     387                        if ( isAssignment( function ) ) {
    388388                                if ( appExpr->args.size() == 2 ) {
    389389                                        // check for structural similarity (same variable use, ignore casts, etc. - but does not look too deeply, anything looking like a function is off limits)
  • src/Makefile.in

    rff29f08 rf6f0cca3  
    165165        Common/driver_cfa_cpp-GC.$(OBJEXT) \
    166166        Common/driver_cfa_cpp-Assert.$(OBJEXT) \
    167         Common/driver_cfa_cpp-Heap.$(OBJEXT) \
    168167        ControlStruct/driver_cfa_cpp-LabelGenerator.$(OBJEXT) \
    169168        ControlStruct/driver_cfa_cpp-LabelFixer.$(OBJEXT) \
     
    489488        Concurrency/Waitfor.cc Common/SemanticError.cc \
    490489        Common/UniqueName.cc Common/DebugMalloc.cc Common/GC.cc \
    491         Common/Assert.cc Common/Heap.cc \
    492         ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \
    493         ControlStruct/MLEMutator.cc ControlStruct/Mutate.cc \
    494         ControlStruct/ForExprMutator.cc \
     490        Common/Assert.cc ControlStruct/LabelGenerator.cc \
     491        ControlStruct/LabelFixer.cc ControlStruct/MLEMutator.cc \
     492        ControlStruct/Mutate.cc ControlStruct/ForExprMutator.cc \
    495493        ControlStruct/ExceptTranslate.cc GenPoly/Box.cc \
    496494        GenPoly/GenPoly.cc GenPoly/ScrubTyVars.cc GenPoly/Lvalue.cc \
     
    679677        Common/$(DEPDIR)/$(am__dirstamp)
    680678Common/driver_cfa_cpp-Assert.$(OBJEXT): Common/$(am__dirstamp) \
    681         Common/$(DEPDIR)/$(am__dirstamp)
    682 Common/driver_cfa_cpp-Heap.$(OBJEXT): Common/$(am__dirstamp) \
    683679        Common/$(DEPDIR)/$(am__dirstamp)
    684680ControlStruct/$(am__dirstamp):
     
    985981@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-DebugMalloc.Po@am__quote@
    986982@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-GC.Po@am__quote@
    987 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-Heap.Po@am__quote@
    988983@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-SemanticError.Po@am__quote@
    989984@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-UniqueName.Po@am__quote@
     
    13361331@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-Assert.obj `if test -f 'Common/Assert.cc'; then $(CYGPATH_W) 'Common/Assert.cc'; else $(CYGPATH_W) '$(srcdir)/Common/Assert.cc'; fi`
    13371332
    1338 Common/driver_cfa_cpp-Heap.o: Common/Heap.cc
    1339 @am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/driver_cfa_cpp-Heap.o -MD -MP -MF Common/$(DEPDIR)/driver_cfa_cpp-Heap.Tpo -c -o Common/driver_cfa_cpp-Heap.o `test -f 'Common/Heap.cc' || echo '$(srcdir)/'`Common/Heap.cc
    1340 @am__fastdepCXX_TRUE@   $(AM_V_at)$(am__mv) Common/$(DEPDIR)/driver_cfa_cpp-Heap.Tpo Common/$(DEPDIR)/driver_cfa_cpp-Heap.Po
    1341 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='Common/Heap.cc' object='Common/driver_cfa_cpp-Heap.o' libtool=no @AMDEPBACKSLASH@
    1342 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1343 @am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-Heap.o `test -f 'Common/Heap.cc' || echo '$(srcdir)/'`Common/Heap.cc
    1344 
    1345 Common/driver_cfa_cpp-Heap.obj: Common/Heap.cc
    1346 @am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/driver_cfa_cpp-Heap.obj -MD -MP -MF Common/$(DEPDIR)/driver_cfa_cpp-Heap.Tpo -c -o Common/driver_cfa_cpp-Heap.obj `if test -f 'Common/Heap.cc'; then $(CYGPATH_W) 'Common/Heap.cc'; else $(CYGPATH_W) '$(srcdir)/Common/Heap.cc'; fi`
    1347 @am__fastdepCXX_TRUE@   $(AM_V_at)$(am__mv) Common/$(DEPDIR)/driver_cfa_cpp-Heap.Tpo Common/$(DEPDIR)/driver_cfa_cpp-Heap.Po
    1348 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='Common/Heap.cc' object='Common/driver_cfa_cpp-Heap.obj' libtool=no @AMDEPBACKSLASH@
    1349 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1350 @am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-Heap.obj `if test -f 'Common/Heap.cc'; then $(CYGPATH_W) 'Common/Heap.cc'; else $(CYGPATH_W) '$(srcdir)/Common/Heap.cc'; fi`
    1351 
    13521333ControlStruct/driver_cfa_cpp-LabelGenerator.o: ControlStruct/LabelGenerator.cc
    13531334@am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/driver_cfa_cpp-LabelGenerator.o -MD -MP -MF ControlStruct/$(DEPDIR)/driver_cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/driver_cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
  • src/Parser/DeclarationNode.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 16 09:37:17 2018
    13 // Update Count     : 1070
     12// Last Modified On : Fri Apr 20 22:37:20 2018
     13// Update Count     : 1063
    1414//
    1515
     
    526526
    527527DeclarationNode * DeclarationNode::addQualifiers( DeclarationNode * q ) {
    528         if ( ! q ) { return this; }                                                     // empty qualifier
     528        if ( ! q ) { delete q; return this; }                           // empty qualifier
    529529
    530530        checkSpecifiers( q );
     
    560560
    561561        checkQualifiers( type, q->type );
    562         if ( (builtin == Zero || builtin == One) && q->type->qualifiers.val != 0 && error.length() == 0 ) {
     562        if ( (builtin == Zero || builtin == One) && error.length() == 0 ) {
    563563                SemanticWarning( yylloc, Warning::BadQualifiersZeroOne, Type::QualifiersNames[ilog2( q->type->qualifiers.val )], builtinTypeNames[builtin] );
     564//              appendError( error, string( "questionable qualifiers" ) );
    564565        } // if
    565566        addQualifiersToType( q->type, type );
     
    781782DeclarationNode * DeclarationNode::addPointer( DeclarationNode * p ) {
    782783        if ( p ) {
    783                 assert( p->type->kind == TypeData::Pointer || p->type->kind == TypeData::Reference );
     784                assert( p->type->kind == TypeData::Pointer || TypeData::Reference );
    784785                setBase( p->type );
    785786                p->type = nullptr;
  • src/Parser/ParseNode.h

    rff29f08 rf6f0cca3  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Apr 30 09:19:17 2018
    13 // Update Count     : 831
     12// Last Modified On : Thu Feb 22 17:49:31 2018
     13// Update Count     : 827
    1414//
    1515
     
    332332        bool hasEllipsis;
    333333        LinkageSpec::Spec linkage;
    334         Expression * asmName;
     334        Expression *asmName;
    335335        std::list< Attribute * > attributes;
    336336        InitializerNode * initializer;
     
    416416Statement * build_finally( StatementNode * stmt );
    417417Statement * build_compound( StatementNode * first );
    418 Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output = nullptr, ExpressionNode * input = nullptr, ExpressionNode * clobber = nullptr, LabelNode * gotolabels = nullptr );
    419 Statement * build_directive( std::string * directive );
     418Statement * build_asmstmt( bool voltile, Expression * instruction, ExpressionNode * output = nullptr, ExpressionNode * input = nullptr, ExpressionNode * clobber = nullptr, LabelNode * gotolabels = nullptr );
    420419WaitForStmt * build_waitfor( ExpressionNode * target, StatementNode * stmt, ExpressionNode * when );
    421420WaitForStmt * build_waitfor( ExpressionNode * target, StatementNode * stmt, ExpressionNode * when, WaitForStmt * existing );
  • src/Parser/StatementNode.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Apr 30 09:21:16 2018
    13 // Update Count     : 354
     12// Last Modified On : Thu Mar  8 14:31:32 2018
     13// Update Count     : 348
    1414//
    1515
    1616#include <cassert>                 // for assert, strict_dynamic_cast, assertf
    1717#include <list>                    // for list
    18 #include <memory>                  // for unique_ptr
    1918#include <string>                  // for string
    2019
     
    3332
    3433
    35 StatementNode::StatementNode( DeclarationNode * decl ) {
     34StatementNode::StatementNode( DeclarationNode *decl ) {
    3635        assert( decl );
    37         DeclarationNode * agg = decl->extractAggregate();
     36        DeclarationNode *agg = decl->extractAggregate();
    3837        if ( agg ) {
    39                 StatementNode * nextStmt = new StatementNode( new DeclStmt( maybeBuild< Declaration >( decl ) ) );
     38                StatementNode *nextStmt = new StatementNode( new DeclStmt( maybeBuild< Declaration >( decl ) ) );
    4039                set_next( nextStmt );
    4140                if ( decl->get_next() ) {
     
    5352} // StatementNode::StatementNode
    5453
    55 StatementNode * StatementNode::append_last_case( StatementNode * stmt ) {
    56         StatementNode * prev = this;
     54StatementNode *StatementNode::append_last_case( StatementNode *stmt ) {
     55        StatementNode *prev = this;
    5756        // find end of list and maintain previous pointer
    5857        for ( StatementNode * curr = prev; curr != nullptr; curr = (StatementNode *)curr->get_next() ) {
    59                 StatementNode * node = strict_dynamic_cast< StatementNode * >(curr);
     58                StatementNode *node = strict_dynamic_cast< StatementNode * >(curr);
    6059                assert( dynamic_cast< CaseStmt * >(node->stmt) );
    6160                prev = curr;
    6261        } // for
    6362        // convert from StatementNode list to Statement list
    64         StatementNode * node = dynamic_cast< StatementNode * >(prev);
     63        StatementNode *node = dynamic_cast< StatementNode * >(prev);
    6564        std::list< Statement * > stmts;
    6665        buildMoveList( stmt, stmts );
     
    7170}
    7271
    73 Statement * build_expr( ExpressionNode * ctl ) {
    74         Expression * e = maybeMoveBuild< Expression >( ctl );
     72Statement *build_expr( ExpressionNode *ctl ) {
     73        Expression *e = maybeMoveBuild< Expression >( ctl );
    7574
    7675        if ( e )
     
    8079}
    8180
    82 Statement * build_if( IfCtl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ) {
    83         Statement * thenb, * elseb = 0;
     81Statement *build_if( IfCtl * ctl, StatementNode *then_stmt, StatementNode *else_stmt ) {
     82        Statement *thenb, *elseb = 0;
    8483        std::list< Statement * > branches;
    8584        buildMoveList< Statement, StatementNode >( then_stmt, branches );
     
    116115}
    117116
    118 Statement * build_switch( bool isSwitch, ExpressionNode * ctl, StatementNode * stmt ) {
     117Statement *build_switch( bool isSwitch, ExpressionNode *ctl, StatementNode *stmt ) {
    119118        std::list< Statement * > branches;
    120119        buildMoveList< Statement, StatementNode >( stmt, branches );
     
    131130        return new SwitchStmt( maybeMoveBuild< Expression >(ctl), branches );
    132131}
    133 Statement * build_case( ExpressionNode * ctl ) {
     132Statement *build_case( ExpressionNode *ctl ) {
    134133        std::list< Statement * > branches;
    135134        return new CaseStmt( maybeMoveBuild< Expression >(ctl), branches );
    136135}
    137 Statement * build_default() {
     136Statement *build_default() {
    138137        std::list< Statement * > branches;
    139138        return new CaseStmt( nullptr, branches, true );
    140139}
    141140
    142 Statement * build_while( ExpressionNode * ctl, StatementNode * stmt, bool kind ) {
     141Statement *build_while( ExpressionNode *ctl, StatementNode *stmt, bool kind ) {
    143142        std::list< Statement * > branches;
    144143        buildMoveList< Statement, StatementNode >( stmt, branches );
     
    147146}
    148147
    149 Statement * build_for( ForCtl * forctl, StatementNode * stmt ) {
     148Statement *build_for( ForCtl *forctl, StatementNode *stmt ) {
    150149        std::list< Statement * > branches;
    151150        buildMoveList< Statement, StatementNode >( stmt, branches );
     
    157156        } // if
    158157
    159         Expression * cond = 0;
     158        Expression *cond = 0;
    160159        if ( forctl->condition != 0 )
    161160                cond = notZeroExpr( maybeMoveBuild< Expression >(forctl->condition) );
    162161
    163         Expression * incr = 0;
     162        Expression *incr = 0;
    164163        if ( forctl->change != 0 )
    165164                incr = maybeMoveBuild< Expression >(forctl->change);
     
    169168}
    170169
    171 Statement * build_branch( BranchStmt::Type kind ) {
     170Statement *build_branch( BranchStmt::Type kind ) {
    172171        Statement * ret = new BranchStmt( "", kind );
    173172        return ret;
    174173}
    175 Statement * build_branch( std::string * identifier, BranchStmt::Type kind ) {
    176         Statement * ret = new BranchStmt( * identifier, kind );
     174Statement *build_branch( std::string *identifier, BranchStmt::Type kind ) {
     175        Statement * ret = new BranchStmt( *identifier, kind );
    177176        delete identifier;                                                                      // allocated by lexer
    178177        return ret;
    179178}
    180 Statement * build_computedgoto( ExpressionNode * ctl ) {
     179Statement *build_computedgoto( ExpressionNode *ctl ) {
    181180        return new BranchStmt( maybeMoveBuild< Expression >(ctl), BranchStmt::Goto );
    182181}
    183182
    184 Statement * build_return( ExpressionNode * ctl ) {
     183Statement *build_return( ExpressionNode *ctl ) {
    185184        std::list< Expression * > exps;
    186185        buildMoveList( ctl, exps );
     
    188187}
    189188
    190 Statement * build_throw( ExpressionNode * ctl ) {
     189Statement *build_throw( ExpressionNode *ctl ) {
    191190        std::list< Expression * > exps;
    192191        buildMoveList( ctl, exps );
     
    195194}
    196195
    197 Statement * build_resume( ExpressionNode * ctl ) {
     196Statement *build_resume( ExpressionNode *ctl ) {
    198197        std::list< Expression * > exps;
    199198        buildMoveList( ctl, exps );
     
    202201}
    203202
    204 Statement * build_resume_at( ExpressionNode * ctl, ExpressionNode * target ) {
     203Statement *build_resume_at( ExpressionNode *ctl, ExpressionNode *target ) {
    205204        (void)ctl;
    206205        (void)target;
     
    208207}
    209208
    210 Statement * build_try( StatementNode * try_stmt, StatementNode * catch_stmt, StatementNode * finally_stmt ) {
     209Statement *build_try( StatementNode *try_stmt, StatementNode *catch_stmt, StatementNode *finally_stmt ) {
    211210        std::list< CatchStmt * > branches;
    212211        buildMoveList< CatchStmt, StatementNode >( catch_stmt, branches );
    213         CompoundStmt * tryBlock = strict_dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >(try_stmt));
    214         FinallyStmt * finallyBlock = dynamic_cast< FinallyStmt * >(maybeMoveBuild< Statement >(finally_stmt) );
     212        CompoundStmt *tryBlock = strict_dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >(try_stmt));
     213        FinallyStmt *finallyBlock = dynamic_cast< FinallyStmt * >(maybeMoveBuild< Statement >(finally_stmt) );
    215214        return new TryStmt( tryBlock, branches, finallyBlock );
    216215}
    217 Statement * build_catch( CatchStmt::Kind kind, DeclarationNode * decl, ExpressionNode * cond, StatementNode * body ) {
     216Statement *build_catch( CatchStmt::Kind kind, DeclarationNode *decl, ExpressionNode *cond, StatementNode *body ) {
    218217        std::list< Statement * > branches;
    219218        buildMoveList< Statement, StatementNode >( body, branches );
     
    221220        return new CatchStmt( kind, maybeMoveBuild< Declaration >(decl), maybeMoveBuild< Expression >(cond), branches.front() );
    222221}
    223 Statement * build_finally( StatementNode * stmt ) {
     222Statement *build_finally( StatementNode *stmt ) {
    224223        std::list< Statement * > branches;
    225224        buildMoveList< Statement, StatementNode >( stmt, branches );
     
    304303}
    305304
    306 Statement * build_compound( StatementNode * first ) {
    307         CompoundStmt * cs = new CompoundStmt();
     305Statement *build_compound( StatementNode *first ) {
     306        CompoundStmt *cs = new CompoundStmt();
    308307        buildMoveList( first, cs->get_kids() );
    309308        return cs;
    310309}
    311310
    312 Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output, ExpressionNode * input, ExpressionNode * clobber, LabelNode * gotolabels ) {
     311Statement *build_asmstmt( bool voltile, Expression *instruction, ExpressionNode *output, ExpressionNode *input, ExpressionNode *clobber, LabelNode *gotolabels ) {
    313312        std::list< Expression * > out, in;
    314313        std::list< ConstantExpr * > clob;
     
    318317        buildMoveList( clobber, clob );
    319318        return new AsmStmt( voltile, instruction, out, in, clob, gotolabels ? gotolabels->labels : noLabels );
    320 }
    321 
    322 Statement * build_directive( string * directive ) {
    323         return new DirectiveStmt( *directive );
    324319}
    325320
  • src/Parser/TypeData.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Apr 26 13:46:07 2018
    13 // Update Count     : 603
     12// Last Modified On : Tue Apr 17 23:00:52 2018
     13// Update Count     : 602
    1414//
    1515
     
    6262                enumeration.constants = nullptr;
    6363                enumeration.body = false;
    64                 break;
    6564          case Aggregate:
    6665                // aggregate = new Aggregate_t;
  • src/Parser/lex.ll

    rff29f08 rf6f0cca3  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Thu May  3 13:42:40 2018
    13  * Update Count     : 676
     12 * Last Modified On : Fri Apr  6 15:16:15 2018
     13 * Update Count     : 670
    1414 */
    1515
     
    174174}
    175175
    176                                 /* preprocessor-style directives */
    177 ^{h_white}*"#"[^\n]*"\n" { RETURN_VAL( DIRECTIVE ); }
     176                                /* ignore preprocessor directives (for now) */
     177^{h_white}*"#"[^\n]*"\n" ;
    178178
    179179                                /* ignore C style comments (ALSO HANDLED BY CPP) */
  • src/Parser/parser.yy

    rff29f08 rf6f0cca3  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri May 11 17:51:38 2018
    13 // Update Count     : 3261
     12// Last Modified On : Tue Apr 17 17:10:30 2018
     13// Update Count     : 3144
    1414//
    1515
     
    133133} // build_postfix_name
    134134
    135 bool forall = false, xxx = false;                                               // aggregate have one or more forall qualifiers ?
     135bool forall = false;                                                                    // aggregate have one or more forall qualifiers ?
    136136
    137137// https://www.gnu.org/software/bison/manual/bison.html#Location-Type
     
    208208%token<tok> ATTR_IDENTIFIER             ATTR_TYPEDEFname                ATTR_TYPEGENname
    209209%token<tok> INTEGERconstant             CHARACTERconstant               STRINGliteral
    210 %token<tok> DIRECTIVE
    211210// Floating point constant is broken into three kinds of tokens because of the ambiguity with tuple indexing and
    212211// overloading constants 0/1, e.g., x.1 is lexed as (x)(.1), where (.1) is a factional constant, but is semantically
     
    283282%type<decl> aggregate_type aggregate_type_nobody
    284283
    285 %type<decl> assertion assertion_list assertion_list_opt
     284%type<decl> assertion assertion_list_opt
    286285
    287286%type<en>   bit_subrange_size_opt bit_subrange_size
     
    302301
    303302%type<decl> field_declaration field_declaration_list field_declarator field_declaring_list
    304 %type<en> field field_list field_name fraction_constants_opt
     303%type<en> field field_list field_name fraction_constants
    305304
    306305%type<decl> external_function_definition function_definition function_array function_declarator function_no_ptr function_ptr
     
    499498        | type_name '.' no_attr_identifier                                      // CFA, nested type
    500499                { SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; }
    501 //              { $$ = nullptr; }
    502500        | type_name '.' '[' push field_list pop ']'                     // CFA, nested type / tuple field selector
    503501                { SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; }
    504 //              { $$ = nullptr; }
    505502        | GENERIC '(' assignment_expression ',' generic_assoc_list ')' // C11
    506503                { SemanticError( yylloc, "_Generic is currently unimplemented." ); $$ = nullptr; }
     
    535532        | postfix_expression '.' no_attr_identifier
    536533                { $$ = new ExpressionNode( build_fieldSel( $1, build_varref( $3 ) ) ); }
    537         | postfix_expression '.' INTEGERconstant                        // CFA, tuple index
    538                 { $$ = new ExpressionNode( build_fieldSel( $1, build_constantInteger( *$3 ) ) ); }
     534        | postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector
     535                { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $5 ) ) ); }
    539536        | postfix_expression FLOATING_FRACTIONconstant          // CFA, tuple index
    540537                { $$ = new ExpressionNode( build_fieldSel( $1, build_field_name_FLOATING_FRACTIONconstant( *$2 ) ) ); }
    541         | postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector
    542                 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $5 ) ) ); }
    543538        | postfix_expression ARROW no_attr_identifier
    544539                {
    545540                        $$ = new ExpressionNode( build_pfieldSel( $1, *$3 == "0" || *$3 == "1" ? build_constantInteger( *$3 ) : build_varref( $3 ) ) );
    546541                }
     542        | postfix_expression ARROW '[' push field_list pop ']' // CFA, tuple field selector
     543                        { $$ = new ExpressionNode( build_pfieldSel( $1, build_tuple( $5 ) ) ); }
    547544        | postfix_expression ARROW INTEGERconstant                      // CFA, tuple index
    548545                { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); }
    549         | postfix_expression ARROW '[' push field_list pop ']' // CFA, tuple field selector
    550                 { $$ = new ExpressionNode( build_pfieldSel( $1, build_tuple( $5 ) ) ); }
    551546        | postfix_expression ICR
    552547                { $$ = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, $1 ) ); }
     
    601596
    602597field_name:
    603         INTEGERconstant fraction_constants_opt
     598        INTEGERconstant fraction_constants
    604599                { $$ = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *$1 ), $2 ) ); }
    605         | FLOATINGconstant fraction_constants_opt
     600        | FLOATINGconstant fraction_constants
    606601                { $$ = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *$1 ), $2 ) ); }
    607         | no_attr_identifier fraction_constants_opt
     602        | no_attr_identifier fraction_constants
    608603                {
    609604                        $$ = new ExpressionNode( build_field_name_fraction_constants( build_varref( $1 ), $2 ) );
     
    611606        ;
    612607
    613 fraction_constants_opt:
     608fraction_constants:
    614609        // empty
    615610                { $$ = nullptr; }
    616         | fraction_constants_opt FLOATING_FRACTIONconstant
     611        | fraction_constants FLOATING_FRACTIONconstant
    617612                {
    618613                        Expression * constant = build_field_name_FLOATING_FRACTIONconstant( *$2 );
     
    880875                { SemanticError( yylloc, "enable/disable statement is currently unimplemented." ); $$ = nullptr; }
    881876        | asm_statement
    882         | DIRECTIVE
    883                 { $$ = new StatementNode( build_directive( $1 ) ); }
    884877        ;
    885878
     
    12111204asm_statement:
    12121205        ASM asm_volatile_opt '(' string_literal ')' ';'
    1213                 { $$ = new StatementNode( build_asm( $2, $4, 0 ) ); }
     1206                { $$ = new StatementNode( build_asmstmt( $2, $4, 0 ) ); }
    12141207        | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ')' ';' // remaining GCC
    1215                 { $$ = new StatementNode( build_asm( $2, $4, $6 ) ); }
     1208                { $$ = new StatementNode( build_asmstmt( $2, $4, $6 ) ); }
    12161209        | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ':' asm_operands_opt ')' ';'
    1217                 { $$ = new StatementNode( build_asm( $2, $4, $6, $8 ) ); }
     1210                { $$ = new StatementNode( build_asmstmt( $2, $4, $6, $8 ) ); }
    12181211        | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ':' asm_operands_opt ':' asm_clobbers_list_opt ')' ';'
    1219                 { $$ = new StatementNode( build_asm( $2, $4, $6, $8, $10 ) ); }
     1212                { $$ = new StatementNode( build_asmstmt( $2, $4, $6, $8, $10 ) ); }
    12201213        | ASM asm_volatile_opt GOTO '(' string_literal ':' ':' asm_operands_opt ':' asm_clobbers_list_opt ':' label_list ')' ';'
    1221                 { $$ = new StatementNode( build_asm( $2, $5, 0, $8, $10, $12 ) ); }
     1214                { $$ = new StatementNode( build_asmstmt( $2, $5, 0, $8, $10, $12 ) ); }
    12221215        ;
    12231216
     
    18731866                {
    18741867                        typedefTable.makeTypedef( *$3 );
    1875                         if ( forall ) typedefTable.changeKind( *$3, TypedefTable::TG ); // possibly update
    1876                         forall = false;                                                         // reset
    18771868                        $$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
    18781869                }
     
    22442235                { $$ = DeclarationNode::newTypeParam( $1, $2 )->addTypeInitializer( $4 )->addAssertions( $5 ); }
    22452236        | type_specifier identifier_parameter_declarator
    2246         | assertion_list
    2247                 { $$ = DeclarationNode::newTypeParam( DeclarationNode::Dtype, new string( DeclarationNode::anonymous.newName() ) )->addAssertions( $1 ); }
    22482237        ;
    22492238
     
    22622251        // empty
    22632252                { $$ = nullptr; }
    2264         | assertion_list
    2265         ;
    2266 
    2267 assertion_list:                                                                                 // CFA
    2268         assertion
    2269         | assertion_list assertion
     2253        | assertion_list_opt assertion
    22702254                { $$ = $1 ? $1->appendList( $2 ) : $2; }
    22712255        ;
     
    23942378external_definition_list:
    23952379        external_definition
    2396         | external_definition_list
    2397                 { forall = xxx; }
    2398           push external_definition
    2399                 { $$ = $1 ? $1->appendList( $4 ) : $4; }
     2380        | external_definition_list push external_definition
     2381                { $$ = $1 ? $1->appendList( $3 ) : $3; }
    24002382        ;
    24012383
     
    24112393        | ASM '(' string_literal ')' ';'                                        // GCC, global assembler statement
    24122394                {
    2413                         $$ = DeclarationNode::newAsmStmt( new StatementNode( build_asm( false, $3, 0 ) ) );
     2395                        $$ = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, $3, 0 ) ) );
    24142396                }
    24152397        | EXTERN STRINGliteral                                                          // C++-style linkage specifier
     
    24292411                        $$ = $2;
    24302412                }
    2431         | type_qualifier_list
    2432                 {
    2433                         if ( $1->type->forall ) xxx = forall = true; // remember generic type
    2434                 }
    2435           push '{' external_definition_list '}'                         // CFA, namespace
    2436                 {
    2437                         for ( DeclarationNode * iter = $5; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
    2438                                 if ( isMangled( iter->linkage ) ) {             // ignore extern "C"
    2439                                         iter->addQualifiers( $1->clone() );
    2440                                 } // if
    2441                         } // for
    2442                         xxx = false;
    2443                         delete $1;
    2444                         $$ = $5;
    2445                 }
    2446         | declaration_qualifier_list
    2447                 {
    2448                         if ( $1->type->forall ) xxx = forall = true; // remember generic type
    2449                 }
    2450           push '{' external_definition_list '}'                         // CFA, namespace
    2451                 {
    2452                         for ( DeclarationNode * iter = $5; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
    2453                                 if ( isMangled( iter->linkage ) ) {             // ignore extern "C"
    2454                                         iter->addQualifiers( $1->clone() );
    2455                                 } // if
    2456                         } // for
    2457                         xxx = false;
    2458                         delete $1;
    2459                         $$ = $5;
    2460                 }
    2461         | declaration_qualifier_list type_qualifier_list
    2462                 {
    2463                         // forall must be in the type_qualifier_list
    2464                         if ( $2->type->forall ) xxx = forall = true; // remember generic type
    2465                 }
    2466           push '{' external_definition_list '}'                         // CFA, namespace
    2467                 {
    2468                         for ( DeclarationNode * iter = $6; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
    2469                                 if ( isMangled( iter->linkage ) && isMangled( $2->linkage ) ) { // ignore extern "C"
    2470                                         iter->addQualifiers( $1->clone() );
    2471                                         iter->addQualifiers( $2->clone() );
    2472                                 } // if
    2473                         } // for
    2474                         xxx = false;
    2475                         delete $1;
    2476                         delete $2;
    2477                         $$ = $6;
    2478                 }
     2413        | type_qualifier_list '{' external_definition_list '}'                  // CFA, namespace
    24792414        ;
    24802415
     
    25022437with_clause_opt:
    25032438        // empty
    2504                 { $$ = nullptr; forall = false; }
     2439                { $$ = nullptr; }
    25052440        | WITH '(' tuple_expression_list ')'
    2506                 { $$ = $3; forall = false; }
     2441                { $$ = $3; }
    25072442        ;
    25082443
  • src/ResolvExpr/AlternativeFinder.cc

    rff29f08 rf6f0cca3  
    453453        /// Adds type variables to the open variable set and marks their assertions
    454454        void makeUnifiableVars( Type *type, OpenVarSet &unifiableVars, AssertionSet &needAssertions ) {
    455                 for ( Type::ForallList::const_iterator tyvar = type->forall.begin(); tyvar != type->forall.end(); ++tyvar ) {
     455                for ( Type::ForallList::const_iterator tyvar = type->get_forall().begin(); tyvar != type->get_forall().end(); ++tyvar ) {
    456456                        unifiableVars[ (*tyvar)->get_name() ] = TypeDecl::Data{ *tyvar };
    457                         for ( std::list< DeclarationWithType* >::iterator assert = (*tyvar)->assertions.begin(); assert != (*tyvar)->assertions.end(); ++assert ) {
     457                        for ( std::list< DeclarationWithType* >::iterator assert = (*tyvar)->get_assertions().begin(); assert != (*tyvar)->get_assertions().end(); ++assert ) {
    458458                                needAssertions[ *assert ].isUsed = true;
    459459                        }
  • src/ResolvExpr/AlternativeFinder.h

    rff29f08 rf6f0cca3  
    126126        void printAlts( const AltList &list, std::ostream &os, unsigned int indentAmt = 0 );
    127127
    128         /// Adds type variables to the open variable set and marks their assertions
    129         void makeUnifiableVars( Type *type, OpenVarSet &unifiableVars, AssertionSet &needAssertions );
    130 
    131128        template< typename InputIterator >
    132129        void simpleCombineEnvironments( InputIterator begin, InputIterator end, TypeEnvironment &result ) {
  • src/ResolvExpr/Resolver.cc

    rff29f08 rf6f0cca3  
    493493                        }
    494494
    495                         if(clause.target.arguments.empty()) {
    496                                 SemanticError( stmt->location, "Waitfor clause must have at least one mutex parameter");
    497                         }
    498 
    499495                        // Find all alternatives for all arguments in canonical form
    500496                        std::vector< AlternativeFinder > argAlternatives;
     
    545541                                                        OpenVarSet openVars;
    546542                                                        AssertionSet resultNeed, resultHave;
    547                                                         TypeEnvironment resultEnv( func.env );
    548                                                         makeUnifiableVars( function, openVars, resultNeed );
    549                                                         // add all type variables as open variables now so that those not used in the parameter
    550                                                         // list are still considered open.
    551                                                         resultEnv.add( function->forall );
     543                                                        TypeEnvironment resultEnv;
    552544
    553545                                                        // Load type variables from arguemnts into one shared space
     
    565557                                                        auto param_end = function->parameters.end();
    566558
    567                                                         int n_mutex_arg = 0;
    568 
    569559                                                        // For every arguments of its set, check if it matches one of the parameter
    570560                                                        // The order is important
     
    575565                                                                        // We ran out of parameters but still have arguments
    576566                                                                        // this function doesn't match
    577                                                                         SemanticError( function, toString("candidate function not viable: too many mutex arguments, expected ", n_mutex_arg, "\n" ));
     567                                                                        SemanticError( function, "candidate function not viable: too many mutex arguments\n" );
    578568                                                                }
    579569
    580                                                                 n_mutex_arg++;
    581 
    582570                                                                // Check if the argument matches the parameter type in the current scope
    583                                                                 if( ! unify( arg.expr->get_result(), (*param)->get_type(), resultEnv, resultNeed, resultHave, openVars, this->indexer ) ) {
     571                                                                if( ! unify( (*param)->get_type(), arg.expr->get_result(), resultEnv, resultNeed, resultHave, openVars, this->indexer ) ) {
    584572                                                                        // Type doesn't match
    585573                                                                        stringstream ss;
    586574                                                                        ss << "candidate function not viable: no known convertion from '";
     575                                                                        arg.expr->get_result()->print( ss );
     576                                                                        ss << "' to '";
    587577                                                                        (*param)->get_type()->print( ss );
    588                                                                         ss << "' to '";
    589                                                                         arg.expr->get_result()->print( ss );
    590                                                                         ss << "' with env '";
    591                                                                         resultEnv.print(ss);
    592578                                                                        ss << "'\n";
    593579                                                                        SemanticError( function, ss.str() );
     
    603589                                                                // We ran out of arguments but still have parameters left
    604590                                                                // this function doesn't match
    605                                                                 SemanticError( function, toString("candidate function not viable: too few mutex arguments, expected ", n_mutex_arg, "\n" ));
     591                                                                SemanticError( function, "candidate function not viable: too few mutex arguments\n" );
    606592                                                        }
    607593
  • src/SymTab/Autogen.cc

    rff29f08 rf6f0cca3  
    99// Author           : Rob Schluntz
    1010// Created On       : Thu Mar 03 15:45:56 2016
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Apr 27 14:39:06 2018
    13 // Update Count     : 63
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Fri Jul 14 16:41:00 2017
     13// Update Count     : 62
    1414//
    1515
     
    330330                        definitions.push_back( dcl );
    331331                        indexer.addId( dcl );
    332                 } catch ( SemanticErrorException & ) {
     332                } catch ( SemanticErrorException err ) {
    333333                        // okay if decl does not resolve - that means the function should not be generated
    334334                }
  • src/SymTab/Mangler.cc

    rff29f08 rf6f0cca3  
    178178                                printQualifiers( pointerType );
    179179                                mangleName << "P";
    180                                 maybeAccept( pointerType->base, *visitor );
     180                                maybeAccept( pointerType->get_base(), *visitor );
    181181                        }
    182182
     
    185185                                printQualifiers( arrayType );
    186186                                mangleName << "A0";
    187                                 maybeAccept( arrayType->base, *visitor );
     187                                maybeAccept( arrayType->get_base(), *visitor );
    188188                        }
    189189
     
    191191                                printQualifiers( refType );
    192192                                mangleName << "R";
    193                                 maybeAccept( refType->base, *visitor );
     193                                maybeAccept( refType->get_base(), *visitor );
    194194                        }
    195195
  • src/SynTree/Mutator.h

    rff29f08 rf6f0cca3  
    3939        virtual Statement * mutate( ExprStmt * exprStmt ) = 0;
    4040        virtual Statement * mutate( AsmStmt * asmStmt ) = 0;
    41         virtual Statement * mutate( DirectiveStmt * dirStmt ) = 0;
    4241        virtual Statement * mutate( IfStmt * ifStmt ) = 0;
    4342        virtual Statement * mutate( WhileStmt * whileStmt ) = 0;
  • src/SynTree/Statement.cc

    rff29f08 rf6f0cca3  
    8181
    8282
    83 DirectiveStmt::DirectiveStmt( const std::string & directive ) : Statement(), directive( directive ) {}
    84 
    85 void DirectiveStmt::print( std::ostream &os, Indenter ) const {
    86         os << "GCC Directive:" << directive << endl;
    87 }
    88 
    89 
    9083const char *BranchStmt::brType[] = { "Goto", "Break", "Continue" };
    9184
     
    377370void WaitForStmt::print( std::ostream &os, Indenter indent ) const {
    378371        os << "Waitfor Statement" << endl;
    379         indent += 1;
    380         for( auto & clause : clauses ) {
    381                 os << indent << "target function :";
    382                 if(clause.target.function) { clause.target.function->print(os, indent + 1); }
    383                 os << endl << indent << "with arguments :" << endl;
    384                 for( auto & thing : clause.target.arguments) {
    385                         if(thing) { thing->print(os, indent + 1); }
    386                 }
    387                 os << indent << " with statment :" << endl;
    388                 if(clause.statement) { clause.statement->print(os, indent + 1); }
    389 
    390                 os << indent << " with condition :" << endl;
    391                 if(clause.condition) { clause.condition->print(os, indent + 1); }
    392         }
    393 
    394         os << indent << " timeout of :" << endl;
    395         if(timeout.time) { timeout.time->print(os, indent + 1); }
    396 
    397         os << indent << " with statment :" << endl;
    398         if(timeout.statement) { timeout.statement->print(os, indent + 1); }
    399 
    400         os << indent << " with condition :" << endl;
    401         if(timeout.condition) { timeout.condition->print(os, indent + 1); }
    402 
    403 
    404         os << indent << " else :" << endl;
    405         if(orelse.statement) { orelse.statement->print(os, indent + 1); }
    406 
    407         os << indent << " with condition :" << endl;
    408         if(orelse.condition) { orelse.condition->print(os, indent + 1); }
     372        os << indent << "... with block:" << endl << indent+1;
     373        // block->print( os, indent + 4 );
    409374}
    410375
  • src/SynTree/Statement.h

    rff29f08 rf6f0cca3  
    122122};
    123123
    124 class DirectiveStmt : public Statement {
    125         public:
    126         std::string directive;
    127 
    128         DirectiveStmt( const std::string & );
    129         virtual ~DirectiveStmt(){}
    130 
    131         virtual DirectiveStmt * clone() const { return new DirectiveStmt( *this ); }
    132         virtual void accept( Visitor & v ) { v.visit( this ); }
    133         virtual Statement * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    134         virtual void print( std::ostream & os, Indenter indent = {} ) const;
    135 };
    136 
    137124class IfStmt : public Statement {
    138125  public:
  • src/SynTree/SynTree.h

    rff29f08 rf6f0cca3  
    4444class ExprStmt;
    4545class AsmStmt;
    46 class DirectiveStmt;
    4746class IfStmt;
    4847class WhileStmt;
  • src/SynTree/Visitor.h

    rff29f08 rf6f0cca3  
    4141        virtual void visit( ExprStmt * exprStmt ) = 0;
    4242        virtual void visit( AsmStmt * asmStmt ) = 0;
    43         virtual void visit( DirectiveStmt * directiveStmt ) = 0;
    4443        virtual void visit( IfStmt * ifStmt ) = 0;
    4544        virtual void visit( WhileStmt * whileStmt ) = 0;
  • src/benchmark/Makefile.am

    rff29f08 rf6f0cca3  
    4343
    4444%.runquiet :
    45         @+make $(basename $@) CFLAGS="-w"
     45        @+make $(basename $@)
    4646        @taskset -c 1 ./a.out
    4747        @rm -f a.out
  • src/benchmark/Makefile.in

    rff29f08 rf6f0cca3  
    459459
    460460%.runquiet :
    461         @+make $(basename $@) CFLAGS="-w"
     461        @+make $(basename $@)
    462462        @taskset -c 1 ./a.out
    463463        @rm -f a.out
  • src/benchmark/bench.h

    rff29f08 rf6f0cca3  
    66        #include <stdlib.h>
    77        #include <unistd.h>                                     // sysconf
    8 #if ! defined(__cforall)
     8        #include <sys/times.h>                                  // times
    99        #include <time.h>
    10         #include <sys/time.h>
    11 #else
     10#if defined(__cforall)
    1211}
    13 #include <time>
     12//#include <bits/cfatime.h>
    1413#endif
    1514
    1615
    17 static inline unsigned long long int bench_time() {
     16static inline unsigned long long int Time() {
    1817    struct timespec ts;
    1918    clock_gettime(
     
    4241        }                                               \
    4342        long long int StartTime, EndTime;       \
    44         StartTime = bench_time();               \
     43        StartTime = Time();                     \
    4544        statement;                                      \
    46         EndTime = bench_time();                 \
     45        EndTime = Time();                               \
    4746        unsigned long long int output =         \
    4847        ( EndTime - StartTime ) / n;
    4948
    50 #if defined(__cforall)
    51 Duration default_preemption() {
     49__cfa_time_t default_preemption() {
    5250        return 0;
    5351}
    54 #endif
  • src/benchmark/ctxswitch/cfa_cor.c

    rff29f08 rf6f0cca3  
    11#include <stdio.h>
    2 #include <kernel>
    32#include <thread>
    43
  • src/driver/Makefile.am

    rff29f08 rf6f0cca3  
    1111## Created On       : Sun May 31 08:49:31 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Apr 30 17:44:17 2018
    14 ## Update Count     : 11
     13## Last Modified On : Fri Oct 28 13:46:06 2016
     14## Update Count     : 10
    1515###############################################################################
    1616
    1717# applies to both programs
    18 AM_CXXFLAGS = -Wall -O2 -g -std=c++14 -I${abs_top_srcdir}/src
     18AM_CXXFLAGS = -Wall -O2 -g -std=c++14
    1919if BUILD_NO_LIB
    2020else
  • src/driver/Makefile.in

    rff29f08 rf6f0cca3  
    294294
    295295# applies to both programs
    296 AM_CXXFLAGS = -Wall -O2 -g -std=c++14 -I${abs_top_srcdir}/src \
    297         $(am__append_1) $(am__append_2) $(am__append_3)
     296AM_CXXFLAGS = -Wall -O2 -g -std=c++14 $(am__append_1) $(am__append_2) \
     297        $(am__append_3)
    298298cfa_SOURCES = cfa.cc
    299299
  • src/driver/cc1.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Fri Aug 26 14:23:51 2005
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 12 16:11:53 2018
    13 // Update Count     : 94
     12// Last Modified On : Wed Jan 18 08:14:21 2017
     13// Update Count     : 81
    1414//
    1515
     
    3232string compiler_name( CFA_BACKEND_CC );                                 // path/name of C compiler
    3333
    34 string D__GCC_X__( "-D__GCC_X__=" );
    3534string D__GCC_BPREFIX__( "-D__GCC_BPREFIX__=" );
    3635string D__CFA_FLAGPREFIX__( "-D__CFA_FLAG__=" );
     
    163162                                cargs[ncargs] = ( *new string( string( argv[i + 1] ).substr( D__CFA_FLAGPREFIX__.size() - 2 ) ) ).c_str();
    164163                                ncargs += 1;
    165                                 i += 1;                                                                 // and the argument
    166                         } else if ( prefix( arg, D__GCC_X__ ) ) {
    167                                 args[nargs] = "-x";
    168                                 nargs += 1;
    169                                 args[nargs] = ( *new string( arg.substr( D__GCC_X__.size() ) ) ).c_str(); // pass the flag along
    170                                 nargs += 1;
    171                         } else if ( arg == "-D" && prefix( argv[i + 1], D__GCC_X__.substr(2) ) ) {
    172                                 args[nargs] = "-x";
    173                                 nargs += 1;
    174                                 args[nargs] = ( *new string( string( argv[i + 1] ).substr( D__GCC_X__.size() - 2 ) ) ).c_str(); // pass the flag along
    175                                 nargs += 1;
    176164                                i += 1;                                                                 // and the argument
    177165                        } else if ( prefix( arg, D__GCC_BPREFIX__ ) ) {
  • src/driver/cfa.cc

    rff29f08 rf6f0cca3  
    1010// Created On       : Tue Aug 20 13:44:49 2002
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 14 14:16:33 2018
    13 // Update Count     : 244
     12// Last Modified On : Mon Feb  5 22:05:28 2018
     13// Update Count     : 166
    1414//
    1515
     
    1919#include <unistd.h>                                                                             // execvp
    2020#include <string>                                                                               // STL version
    21 #include <string.h>                                                                             // strcmp
    22 
    23 #include "Common/SemanticError.h"
     21
    2422#include "config.h"                                                                             // configure info
    2523
     
    158156                                args[nargs] = argv[i];                                  // pass the argument along
    159157                                nargs += 1;
    160                         } else if ( prefix( arg, "-std=" ) || prefix( arg, "--std=" ) ) {
     158                        } else if ( prefix( arg, "-std=" ) ) {
    161159                                std_flag = true;                                                // -std=XX provided
    162160                                args[nargs] = argv[i];                                  // pass the argument along
    163161                                nargs += 1;
    164                         } else if ( arg == "-x" ) {                                     // lost so force along
    165                                 args[nargs] = argv[i];                                  // pass the argument along
    166                                 nargs += 1;
    167                                 i += 1;                                                                 // advance to argument
    168                                 args[nargs] = argv[i];                                  // pass the argument along
    169                                 nargs += 1;
    170                                 args[nargs] = ( *new string( string("-D__GCC_X__=") + argv[i] ) ).c_str(); // add the argument for -x
    171                                 nargs += 1;
    172                         } else if ( prefix( arg, "-x" ) ) {                     // lost so force along
    173                                 args[nargs] = argv[i];                                  // pass the argument along
    174                                 nargs += 1;
    175                                 args[nargs] = ( *new string( string("-D__GCC_X__=") + arg.substr(2) ) ).c_str(); // add the argument for -x
    176                                 nargs += 1;
    177                         } else if ( arg == "-w" ) {
    178                                 args[nargs] = argv[i];                                  // pass the argument along
    179                                 nargs += 1;
    180                                 args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str(); // add the argument for cfa-cpp
    181                                 nargs += 1;
    182                         } else if ( prefix( arg, "-W" ) ) {                     // check before next tests
    183                                 if ( arg == "-Werror" || arg == "-Wall" ) {
    184                                         args[nargs] = argv[i];                          // pass the argument along
    185                                         nargs += 1;
    186                                         args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str(); // add the argument for cfa-cpp
    187                                         nargs += 1;
    188                                 } else {
    189                                         unsigned int adv = prefix( arg, "-Wno-" ) ? 5 : 2;
    190                                         args[nargs] = argv[i];                          // conditionally pass the argument along
    191                                         const char * warning = argv[i] + adv;     // extract warning
    192                                         if ( SemanticWarning_Exist( warning ) ) { // replace the argument for cfa-cpp
    193                                                 args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str();
    194                                         } // if
    195                                         nargs += 1;
    196                                 } // if
    197162                        } else if ( prefix( arg, "-B" ) ) {
    198163                                Bprefix = arg.substr(2);                                // strip the -B flag
     
    253218        } // for
    254219
    255 #ifdef __x86_64__
    256         args[nargs] = "-mcx16";                                                         // allow double-wide CAA
    257         nargs += 1;
    258 #endif // __x86_64__
    259 
    260220#ifdef __DEBUG_H__
    261221        cerr << "args:";
     
    286246        if ( link ) {
    287247                #if ! defined(HAVE_LIBCFA_RELEASE)
    288                         if ( ! debug ) {
    289                                 cerr << "error: Option -nodebug is unavailable, libcfa was not installed." << endl;
     248                        if( !debug ) {
     249                                cerr << "error: Option -nodebug is not available, libcfa was not installed." << endl;
    290250                                exit( EXIT_FAILURE );
    291                         } // if
     251                                }
    292252                #endif
    293253                #if ! defined(HAVE_LIBCFA_DEBUG)
    294                         if ( debug ) {
    295                                 cerr << "error: Option -debug is unavailable, libcfa-d was not installed." << endl;
     254                        if( debug ) {
     255                                cerr << "error: Option -debug is not available, libcfa-d was not installed." << endl;
    296256                                exit( EXIT_FAILURE );
    297                         } // if
     257                                }
    298258                #endif
    299259
     
    310270                args[nargs] = "-L" CFA_LIBDIR;
    311271                nargs += 1;
    312                 if ( debug ) {
     272                if( debug ) {
    313273                        args[nargs] = "-lcfa-d";
    314274                } else {
    315275                        args[nargs] = "-lcfa";
    316                 } // if
     276                }
    317277                nargs += 1;
    318278                args[nargs] = "-lpthread";
     
    395355                args[nargs] = "-Wno-deprecated";
    396356                nargs += 1;
    397                 if ( ! std_flag ) {                                                             // default c11, if none specified
    398                         args[nargs] = "-std=gnu11";
     357                if ( ! std_flag ) {                                                             // default c99, if none specified
     358                        args[nargs] = "-std=gnu99";
    399359                        nargs += 1;
    400360                } // if
  • src/libcfa/bits/containers.h

    rff29f08 rf6f0cca3  
    186186#endif
    187187
    188 
    189 //-----------------------------------------------------------------------------
    190 // Doubly Linked List
    191 //-----------------------------------------------------------------------------
    192 #ifdef __cforall
    193         forall(dtype TYPE | sized(TYPE))
    194         #define T TYPE
    195         #define __getter_t * [T * & next, T * & prev] ( T & )
    196 #else
    197         typedef void (*__generit_c_getter_t)();
    198         #define T void
    199         #define __getter_t __generit_c_getter_t
    200 #endif
    201 struct __dllist {
    202         T * head;
    203         __getter_t __get;
    204 };
    205 #undef T
    206 #undef __getter_t
    207 
    208 #ifdef __cforall
    209 #define __dllist_t(T) __dllist(T)
    210 #else
    211 #define __dllist_t(T) struct __dllist
    212 #endif
    213 
    214 #ifdef __cforall
    215 
    216         forall(dtype T | sized(T))
    217         static inline [void] ?{}( __dllist(T) & this, * [T * & next, T * & prev] ( T & ) __get ) {
    218                 this.head{ NULL };
    219                 this.__get = __get;
    220         }
    221 
    222         #define _next .0
    223         #define _prev .1
    224         forall(dtype T | sized(T))
    225         static inline void push_front( __dllist(T) & this, T & node ) with( this ) {
    226                 if ( head ) {
    227                         __get( node )_next = head;
    228                         __get( node )_prev = __get( *head )_prev;
    229                         // inserted node must be consistent before it is seen
    230                         // prevent code movement across barrier
    231                         asm( "" : : : "memory" );
    232                         __get( *head )_prev = &node;
    233                         T & prev = *__get( node )_prev;
    234                         __get( prev )_next = &node;
    235                 }
    236                 else {
    237                         __get( node )_next = &node;
    238                         __get( node )_prev = &node;
    239                 }
    240 
    241                 // prevent code movement across barrier
    242                 asm( "" : : : "memory" );
    243                 head = &node;
    244         }
    245 
    246         forall(dtype T | sized(T))
    247         static inline void remove( __dllist(T) & this, T & node ) with( this ) {
    248                 if ( &node == head ) {
    249                         if ( __get( *head )_next == head ) {
    250                                 head = NULL;
    251                         }
    252                         else {
    253                                 head = __get( *head )_next;
    254                         }
    255                 }
    256                 __get( *__get( node )_next )_prev = __get( node )_prev;
    257                 __get( *__get( node )_prev )_next = __get( node )_next;
    258                 __get( node )_next = NULL;
    259                 __get( node )_prev = NULL;
    260         }
    261         #undef _next
    262         #undef _prev
    263 #endif
    264 
    265188//-----------------------------------------------------------------------------
    266189// Tools
  • src/libcfa/bits/locks.h

    rff29f08 rf6f0cca3  
    6969        }
    7070
    71 
    72         #ifdef __CFA_DEBUG__
    73                 void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name);
    74         #else
    75                 #define __cfaabi_dbg_record(x, y)
    76         #endif
    77 
    7871        // Lock the spinlock, return false if already acquired
    7972        static inline _Bool try_lock  ( __spinlock_t & this __cfaabi_dbg_ctx_param2 ) {
     
    8174                if( result ) {
    8275                        disable_interrupts();
    83                         __cfaabi_dbg_record( this, caller );
     76                        // __cfaabi_dbg_debug_do(
     77                        //      this.prev_name = caller;
     78                        //      this.prev_thrd = TL_GET( this_thread );
     79                        // )
    8480                }
    8581                return result;
     
    109105                }
    110106                disable_interrupts();
    111                 __cfaabi_dbg_record( this, caller );
     107                // __cfaabi_dbg_debug_do(
     108                //      this.prev_name = caller;
     109                //      this.prev_thrd = TL_GET( this_thread );
     110                // )
    112111        }
    113112
  • src/libcfa/concurrency/coroutine

    rff29f08 rf6f0cca3  
    3232//-----------------------------------------------------------------------------
    3333// Ctors and dtors
    34 // void ?{}( coStack_t & this );
    35 // void ^?{}( coStack_t & this );
    36 
    37 void ?{}( coroutine_desc & this, const char * name, void * storage, size_t storageSize );
    38 void ^?{}( coroutine_desc & this );
    39 
    40 static inline void ?{}( coroutine_desc & this)                                       { this{ "Anonymous Coroutine", NULL, 0 }; }
    41 static inline void ?{}( coroutine_desc & this, size_t stackSize)                     { this{ "Anonymous Coroutine", NULL, stackSize }; }
    42 static inline void ?{}( coroutine_desc & this, void * storage, size_t storageSize )  { this{ "Anonymous Coroutine", storage, storageSize }; }
    43 static inline void ?{}( coroutine_desc & this, const char * name)                    { this{ name, NULL, 0 }; }
    44 static inline void ?{}( coroutine_desc & this, const char * name, size_t stackSize ) { this{ name, NULL, stackSize }; }
     34void ?{}(coStack_t & this);
     35void ?{}(coroutine_desc & this);
     36void ?{}(coroutine_desc & this, const char * name);
     37void ^?{}(coStack_t & this);
     38void ^?{}(coroutine_desc & this);
    4539
    4640//-----------------------------------------------------------------------------
     
    7266// Suspend implementation inlined for performance
    7367static inline void suspend() {
    74         // optimization : read TLS once and reuse it
    75         // Safety note: this is preemption safe since if
    76         // preemption occurs after this line, the pointer
    77         // will also migrate which means this value will
    78         // stay in syn with the TLS
    79         coroutine_desc * src = TL_GET( this_coroutine );
     68        coroutine_desc * src = TL_GET( this_coroutine );                        // optimization
    8069
    8170        assertf( src->last != 0,
     
    9483forall(dtype T | is_coroutine(T))
    9584static inline void resume(T & cor) {
    96         // optimization : read TLS once and reuse it
    97         // Safety note: this is preemption safe since if
    98         // preemption occurs after this line, the pointer
    99         // will also migrate which means this value will
    100         // stay in syn with the TLS
    101         coroutine_desc * src = TL_GET( this_coroutine );
     85        coroutine_desc * src = TL_GET( this_coroutine );                        // optimization
    10286        coroutine_desc * dst = get_coroutine(cor);
    10387
     
    117101                dst->last = src;
    118102                dst->starter = dst->starter ? dst->starter : src;
    119         }
     103        } // if
    120104
    121105        // always done for performance testing
     
    124108
    125109static inline void resume(coroutine_desc * dst) {
    126         // optimization : read TLS once and reuse it
    127         // Safety note: this is preemption safe since if
    128         // preemption occurs after this line, the pointer
    129         // will also migrate which means this value will
    130         // stay in syn with the TLS
    131         coroutine_desc * src = TL_GET( this_coroutine );
     110        coroutine_desc * src = TL_GET( this_coroutine );                        // optimization
    132111
    133112        // not resuming self ?
     
    140119                // set last resumer
    141120                dst->last = src;
    142         }
     121        } // if
    143122
    144123        // always done for performance testing
  • src/libcfa/concurrency/coroutine.c

    rff29f08 rf6f0cca3  
    3939//-----------------------------------------------------------------------------
    4040// Coroutine ctors and dtors
    41 void ?{}( coStack_t & this, void * storage, size_t storageSize ) with( this ) {
    42       size               = storageSize == 0 ? 65000 : storageSize; // size of stack
    43       this.storage = storage;                                // pointer to stack
    44       limit              = NULL;                                   // stack grows towards stack limit
    45       base               = NULL;                                   // base of stack
    46       context    = NULL;                                   // address of cfa_context_t
    47       top                = NULL;                                   // address of top of storage
    48       userStack  = storage != NULL;
     41void ?{}(coStack_t& this) with( this ) {
     42        size            = 65000;        // size of stack
     43        storage = NULL; // pointer to stack
     44        limit           = NULL; // stack grows towards stack limit
     45        base            = NULL; // base of stack
     46        context = NULL; // address of cfa_context_t
     47        top             = NULL; // address of top of storage
     48        userStack       = false;
     49}
     50
     51void ?{}(coStack_t& this, size_t size) {
     52        this{};
     53        this.size = size;
     54
     55        create_stack(&this, this.size);
     56}
     57
     58void ?{}(coroutine_desc& this) {
     59        this{ "Anonymous Coroutine" };
     60}
     61
     62void ?{}(coroutine_desc& this, const char * name) with( this ) {
     63        this.name = name;
     64        errno_ = 0;
     65        state = Start;
     66        starter = NULL;
     67        last = NULL;
     68}
     69
     70void ?{}(coroutine_desc& this, size_t size) {
     71        this{};
     72        (this.stack){size};
    4973}
    5074
    5175void ^?{}(coStack_t & this) {
    52       if ( ! this.userStack && this.storage ) {
    53             __cfaabi_dbg_debug_do(
    54                   if ( mprotect( this.storage, pageSize, PROT_READ | PROT_WRITE ) == -1 ) {
    55                         abort( "(coStack_t *)%p.^?{}() : internal error, mprotect failure, error(%d) %s.", &this, errno, strerror( errno ) );
    56                   }
    57             );
    58             free( this.storage );
    59       }
    60 }
    61 
    62 void ?{}( coroutine_desc & this, const char * name, void * storage, size_t storageSize ) with( this ) {
    63       (this.stack){storage, storageSize};
    64       this.name = name;
    65       errno_ = 0;
    66       state = Start;
    67       starter = NULL;
    68       last = NULL;
     76        if ( ! this.userStack && this.storage ) {
     77                __cfaabi_dbg_debug_do(
     78                        if ( mprotect( this.storage, pageSize, PROT_READ | PROT_WRITE ) == -1 ) {
     79                                abort( "(coStack_t *)%p.^?{}() : internal error, mprotect failure, error(%d) %s.", &this, errno, strerror( errno ) );
     80                        }
     81                );
     82                free( this.storage );
     83        }
    6984}
    7085
     
    7590forall(dtype T | is_coroutine(T))
    7691void prime(T& cor) {
    77       coroutine_desc* this = get_coroutine(cor);
    78       assert(this->state == Start);
     92        coroutine_desc* this = get_coroutine(cor);
     93        assert(this->state == Start);
    7994
    80       this->state = Primed;
    81       resume(cor);
     95        this->state = Primed;
     96        resume(cor);
    8297}
    8398
    8499// Wrapper for co
    85100void CoroutineCtxSwitch(coroutine_desc* src, coroutine_desc* dst) {
    86       // Safety note : This could cause some false positives due to preemption
    87       verify( TL_GET( preemption_state.enabled ) || TL_GET( this_processor )->do_terminate );
    88       disable_interrupts();
     101        verify( TL_GET( preemption_state ).enabled || TL_GET( this_processor )->do_terminate );
     102        disable_interrupts();
    89103
    90       // set state of current coroutine to inactive
    91       src->state = src->state == Halted ? Halted : Inactive;
     104        // set state of current coroutine to inactive
     105        src->state = src->state == Halted ? Halted : Inactive;
    92106
    93       // set new coroutine that task is executing
    94       kernelTLS.this_coroutine = dst;
     107        // set new coroutine that task is executing
     108        TL_SET( this_coroutine, dst );
    95109
    96       // context switch to specified coroutine
    97       assert( src->stack.context );
    98       CtxSwitch( src->stack.context, dst->stack.context );
    99       // when CtxSwitch returns we are back in the src coroutine
     110        // context switch to specified coroutine
     111        assert( src->stack.context );
     112        CtxSwitch( src->stack.context, dst->stack.context );
     113        // when CtxSwitch returns we are back in the src coroutine
    100114
    101       // set state of new coroutine to active
    102       src->state = Active;
     115        // set state of new coroutine to active
     116        src->state = Active;
    103117
    104       enable_interrupts( __cfaabi_dbg_ctx );
    105       // Safety note : This could cause some false positives due to preemption
    106       verify( TL_GET( preemption_state.enabled ) || TL_GET( this_processor )->do_terminate );
     118        enable_interrupts( __cfaabi_dbg_ctx );
     119        verify( TL_GET( preemption_state ).enabled || TL_GET( this_processor )->do_terminate );
    107120} //ctxSwitchDirect
    108121
    109122void create_stack( coStack_t* this, unsigned int storageSize ) with( *this ) {
    110       //TEMP HACK do this on proper kernel startup
    111       if(pageSize == 0ul) pageSize = sysconf( _SC_PAGESIZE );
     123        //TEMP HACK do this on proper kernel startup
     124        if(pageSize == 0ul) pageSize = sysconf( _SC_PAGESIZE );
    112125
    113       size_t cxtSize = libCeiling( sizeof(machine_context_t), 8 ); // minimum alignment
     126        size_t cxtSize = libCeiling( sizeof(machine_context_t), 8 ); // minimum alignment
    114127
    115       if ( !storage ) {
    116             __cfaabi_dbg_print_safe("Kernel : Creating stack of size %zu for stack obj %p\n", cxtSize + size + 8, this);
     128        if ( (intptr_t)storage == 0 ) {
     129                userStack = false;
     130                size = libCeiling( storageSize, 16 );
     131                // use malloc/memalign because "new" raises an exception for out-of-memory
    117132
    118             userStack = false;
    119             size = libCeiling( storageSize, 16 );
    120             // use malloc/memalign because "new" raises an exception for out-of-memory
     133                // assume malloc has 8 byte alignment so add 8 to allow rounding up to 16 byte alignment
     134                __cfaabi_dbg_debug_do( storage = memalign( pageSize, cxtSize + size + pageSize ) );
     135                __cfaabi_dbg_no_debug_do( storage = malloc( cxtSize + size + 8 ) );
    121136
    122             // assume malloc has 8 byte alignment so add 8 to allow rounding up to 16 byte alignment
    123             __cfaabi_dbg_debug_do( storage = memalign( pageSize, cxtSize + size + pageSize ) );
    124             __cfaabi_dbg_no_debug_do( storage = malloc( cxtSize + size + 8 ) );
     137                __cfaabi_dbg_debug_do(
     138                        if ( mprotect( storage, pageSize, PROT_NONE ) == -1 ) {
     139                                abort( "(uMachContext &)%p.createContext() : internal error, mprotect failure, error(%d) %s.", this, (int)errno, strerror( (int)errno ) );
     140                        } // if
     141                );
    125142
    126             __cfaabi_dbg_debug_do(
    127                   if ( mprotect( storage, pageSize, PROT_NONE ) == -1 ) {
    128                         abort( "(uMachContext &)%p.createContext() : internal error, mprotect failure, error(%d) %s.", this, (int)errno, strerror( (int)errno ) );
    129                   } // if
    130             );
     143                if ( (intptr_t)storage == 0 ) {
     144                        abort( "Attempt to allocate %zd bytes of storage for coroutine or task execution-state but insufficient memory available.", size );
     145                } // if
    131146
    132             if ( (intptr_t)storage == 0 ) {
    133                   abort( "Attempt to allocate %zd bytes of storage for coroutine or task execution-state but insufficient memory available.", size );
    134             } // if
     147                __cfaabi_dbg_debug_do( limit = (char *)storage + pageSize );
     148                __cfaabi_dbg_no_debug_do( limit = (char *)libCeiling( (unsigned long)storage, 16 ) ); // minimum alignment
    135149
    136             __cfaabi_dbg_debug_do( limit = (char *)storage + pageSize );
    137             __cfaabi_dbg_no_debug_do( limit = (char *)libCeiling( (unsigned long)storage, 16 ) ); // minimum alignment
     150        } else {
     151                assertf( ((size_t)storage & (libAlign() - 1)) != 0ul, "Stack storage %p for task/coroutine must be aligned on %d byte boundary.", storage, (int)libAlign() );
     152                userStack = true;
     153                size = storageSize - cxtSize;
    138154
    139       } else {
    140             __cfaabi_dbg_print_safe("Kernel : stack obj %p using user stack %p(%u bytes)\n", this, storage, storageSize);
     155                if ( size % 16 != 0u ) size -= 8;
    141156
    142             assertf( ((size_t)storage & (libAlign() - 1)) == 0ul, "Stack storage %p for task/coroutine must be aligned on %d byte boundary.", storage, (int)libAlign() );
    143             userStack = true;
    144             size = storageSize - cxtSize;
     157                limit = (char *)libCeiling( (unsigned long)storage, 16 ); // minimum alignment
     158        } // if
     159        assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of %d bytes for a stack.", size, MinStackSize );
    145160
    146             if ( size % 16 != 0u ) size -= 8;
    147 
    148             limit = (char *)libCeiling( (unsigned long)storage, 16 ); // minimum alignment
    149       } // if
    150       assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of %d bytes for a stack.", size, MinStackSize );
    151 
    152       base = (char *)limit + size;
    153       context = base;
    154       top = (char *)context + cxtSize;
     161        base = (char *)limit + size;
     162        context = base;
     163        top = (char *)context + cxtSize;
    155164}
    156165
     
    158167// is not inline (We can't inline Cforall in C)
    159168extern "C" {
    160       void __suspend_internal(void) {
    161             suspend();
    162       }
     169        void __suspend_internal(void) {
     170                suspend();
     171        }
    163172
    164       void __leave_coroutine(void) {
    165             coroutine_desc * src = TL_GET( this_coroutine ); // optimization
     173        void __leave_coroutine(void) {
     174                coroutine_desc * src = TL_GET( this_coroutine ); // optimization
    166175
    167             assertf( src->starter != 0,
    168                   "Attempt to suspend/leave coroutine \"%.256s\" (%p) that has never been resumed.\n"
    169                   "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.",
    170                   src->name, src );
    171             assertf( src->starter->state != Halted,
    172                   "Attempt by coroutine \"%.256s\" (%p) to suspend/leave back to terminated coroutine \"%.256s\" (%p).\n"
    173                   "Possible cause is terminated coroutine's main routine has already returned.",
    174                   src->name, src, src->starter->name, src->starter );
     176                assertf( src->starter != 0,
     177                        "Attempt to suspend/leave coroutine \"%.256s\" (%p) that has never been resumed.\n"
     178                        "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.",
     179                        src->name, src );
     180                assertf( src->starter->state != Halted,
     181                        "Attempt by coroutine \"%.256s\" (%p) to suspend/leave back to terminated coroutine \"%.256s\" (%p).\n"
     182                        "Possible cause is terminated coroutine's main routine has already returned.",
     183                        src->name, src, src->starter->name, src->starter );
    175184
    176             CoroutineCtxSwitch( src, src->starter );
    177       }
     185                CoroutineCtxSwitch( src, src->starter );
     186        }
    178187}
    179188
  • src/libcfa/concurrency/invoke.c

    rff29f08 rf6f0cca3  
    6969        // Fetch the thread handle from the user defined thread structure
    7070        struct thread_desc* thrd = get_thread( this );
    71         thrd->self_cor.last = NULL;
    7271
    7372        // Officially start the thread by enabling preemption
  • src/libcfa/concurrency/invoke.h

    rff29f08 rf6f0cca3  
    1818#include "bits/locks.h"
    1919
    20 #define TL_GET( member ) kernelTLS.member
    21 #define TL_SET( member, value ) kernelTLS.member = value;
     20#define TL_GET( member ) kernelThreadData.member
     21#define TL_SET( member, value ) kernelThreadData.member = value;
    2222
    2323#ifdef __cforall
     
    4444                                volatile bool in_progress;
    4545                        } preemption_state;
    46                 } kernelTLS;
     46                } kernelThreadData;
    4747        }
    4848
    4949        static inline struct coroutine_desc * volatile active_coroutine() { return TL_GET( this_coroutine ); }
    50         static inline struct thread_desc    * volatile active_thread   () { return TL_GET( this_thread    ); }
    51         static inline struct processor      * volatile active_processor() { return TL_GET( this_processor ); } // UNSAFE
     50        static inline struct thread_desc * volatile active_thread() { return TL_GET( this_thread ); }
     51        static inline struct processor * volatile active_processor() { return TL_GET( this_processor ); }
    5252        #endif
    5353
     
    126126                struct monitor_desc *  self_mon_p;
    127127
    128                 // pointer to the cluster on which the thread is running
    129                 struct cluster * curr_cluster;
    130 
    131128                // monitors currently held by this thread
    132129                struct __monitor_group_t monitors;
     
    136133                struct thread_desc * next;
    137134
    138                 struct {
    139                         struct thread_desc * next;
    140                         struct thread_desc * prev;
    141                 } node;
     135                __cfaabi_dbg_debug_do(
     136                        // instrusive link field for debugging
     137                        struct thread_desc * dbg_next;
     138                        struct thread_desc * dbg_prev;
     139                )
    142140     };
    143141
     
    146144                static inline thread_desc * & get_next( thread_desc & this ) {
    147145                        return this.next;
    148                 }
    149 
    150                 static inline [thread_desc *&, thread_desc *& ] __get( thread_desc & this ) {
    151                         return this.node.[next, prev];
    152146                }
    153147
  • src/libcfa/concurrency/kernel

    rff29f08 rf6f0cca3  
    4040
    4141//-----------------------------------------------------------------------------
     42// Cluster
     43struct cluster {
     44        // Ready queue locks
     45        __spinlock_t ready_queue_lock;
     46
     47        // Ready queue for threads
     48        __queue_t(thread_desc) ready_queue;
     49
     50        // Preemption rate on this cluster
     51        Duration preemption_rate;
     52};
     53
     54extern Duration default_preemption();
     55
     56void ?{} (cluster & this);
     57void ^?{}(cluster & this);
     58
     59//-----------------------------------------------------------------------------
    4260// Processor
    43 extern struct cluster * mainCluster;
    44 
    4561enum FinishOpCode { No_Action, Release, Schedule, Release_Schedule, Release_Multi, Release_Multi_Schedule };
    4662
     
    7490
    7591        // Cluster from which to get threads
    76         struct cluster * cltr;
    77 
    78         // Name of the processor
    79         const char * name;
     92        cluster * cltr;
    8093
    8194        // Handle to pthreads
     
    100113        bool pending_preemption;
    101114
    102         // Idle lock
    103 
    104         // Link lists fields
    105         struct {
    106                 struct processor * next;
    107                 struct processor * prev;
    108         } node;
    109 
    110115#ifdef __CFA_DEBUG__
    111116        // Last function to enable preemption on this processor
     
    114119};
    115120
    116 void  ?{}(processor & this, const char * name, struct cluster & cltr);
     121void  ?{}(processor & this);
     122void  ?{}(processor & this, cluster * cltr);
    117123void ^?{}(processor & this);
    118 
    119 static inline void  ?{}(processor & this)                    { this{ "Anonymous Processor", *mainCluster}; }
    120 static inline void  ?{}(processor & this, struct cluster & cltr)    { this{ "Anonymous Processor", cltr}; }
    121 static inline void  ?{}(processor & this, const char * name) { this{name, *mainCluster }; }
    122 
    123 static inline [processor *&, processor *& ] __get( processor & this ) {
    124         return this.node.[next, prev];
    125 }
    126 
    127 //-----------------------------------------------------------------------------
    128 // Cluster
    129 struct cluster {
    130         // Ready queue locks
    131         __spinlock_t ready_queue_lock;
    132 
    133         // Ready queue for threads
    134         __queue_t(thread_desc) ready_queue;
    135 
    136         // Name of the cluster
    137         const char * name;
    138 
    139         // Preemption rate on this cluster
    140         Duration preemption_rate;
    141 
    142         // List of processors
    143         __spinlock_t proc_list_lock;
    144         __dllist_t(struct processor) procs;
    145         __dllist_t(struct processor) idles;
    146 
    147         // Link lists fields
    148         struct {
    149                 cluster * next;
    150                 cluster * prev;
    151         } node;
    152 };
    153 extern Duration default_preemption();
    154 
    155 void ?{} (cluster & this, const char * name, Duration preemption_rate);
    156 void ^?{}(cluster & this);
    157 
    158 static inline void ?{} (cluster & this)                           { this{"Anonymous Cluster", default_preemption()}; }
    159 static inline void ?{} (cluster & this, Duration preemption_rate) { this{"Anonymous Cluster", preemption_rate}; }
    160 static inline void ?{} (cluster & this, const char * name)        { this{name, default_preemption()}; }
    161 
    162 static inline [cluster *&, cluster *& ] __get( cluster & this ) {
    163         return this.node.[next, prev];
    164 }
    165124
    166125// Local Variables: //
  • src/libcfa/concurrency/kernel.c

    rff29f08 rf6f0cca3  
    4242KERNEL_STORAGE(cluster,           mainCluster);
    4343KERNEL_STORAGE(processor,         mainProcessor);
     44KERNEL_STORAGE(processorCtx_t,    mainProcessorCtx);
    4445KERNEL_STORAGE(thread_desc,       mainThread);
    4546KERNEL_STORAGE(machine_context_t, mainThreadCtx);
    4647
    47 cluster     * mainCluster;
    48 processor   * mainProcessor;
     48cluster *    mainCluster;
     49processor mainProcessor;
    4950thread_desc * mainThread;
    50 
    51 struct { __dllist_t(thread_desc) list; __spinlock_t lock; } global_threads ;
    52 struct { __dllist_t(cluster    ) list; __spinlock_t lock; } global_clusters;
    5351
    5452//-----------------------------------------------------------------------------
     
    5957// volatile thread_local unsigned short disable_preempt_count = 1;
    6058
    61 thread_local struct KernelThreadData kernelTLS = {
     59thread_local struct KernelThreadData kernelThreadData = {
    6260        NULL,
    6361        NULL,
     
    6765
    6866//-----------------------------------------------------------------------------
    69 // Struct to steal stack
     67// Main thread construction
    7068struct current_stack_info_t {
    7169        machine_context_t ctx;
     
    9290}
    9391
    94 //-----------------------------------------------------------------------------
    95 // Main thread construction
    9692void ?{}( coStack_t & this, current_stack_info_t * info) with( this ) {
    9793        size      = info->size;
     
    115111        self_cor{ info };
    116112        curr_cor = &self_cor;
    117         curr_cluster = mainCluster;
    118113        self_mon.owner = &this;
    119114        self_mon.recursion = 1;
    120115        self_mon_p = &self_mon;
    121116        next = NULL;
    122 
    123         node.next = NULL;
    124         node.prev = NULL;
    125         doregister(this);
     117        __cfaabi_dbg_debug_do(
     118                dbg_next = NULL;
     119                dbg_prev = NULL;
     120                __cfaabi_dbg_thread_register(&this);
     121        )
    126122
    127123        monitors{ &self_mon_p, 1, (fptr_t)0 };
     
    130126//-----------------------------------------------------------------------------
    131127// Processor coroutine
    132 void ?{}(processorCtx_t & this) {
    133 
     128void ?{}(processorCtx_t & this) {}
     129
     130// Construct the processor context of the main processor
     131void ?{}(processorCtx_t & this, processor * proc) {
     132        (this.__cor){ "Processor" };
     133        this.__cor.starter = NULL;
     134        this.proc = proc;
    134135}
    135136
     
    140141}
    141142
    142 void ?{}(processor & this, const char * name, cluster & cltr) with( this ) {
    143         this.name = name;
    144         this.cltr = &cltr;
     143void ?{}(processor & this) {
     144        this{ mainCluster };
     145}
     146
     147void ?{}(processor & this, cluster * cltr) with( this ) {
     148        this.cltr = cltr;
    145149        terminated{ 0 };
    146150        do_terminate = false;
     
    152156}
    153157
     158void ?{}(processor & this, cluster * cltr, processorCtx_t & runner) with( this ) {
     159        this.cltr = cltr;
     160        terminated{ 0 };
     161        do_terminate = false;
     162        preemption_alarm = NULL;
     163        pending_preemption = false;
     164        kernel_thread = pthread_self();
     165        runner.proc = &this;
     166
     167        __cfaabi_dbg_print_safe("Kernel : constructing main processor context %p\n", &runner);
     168        runner{ &this };
     169}
     170
    154171void ^?{}(processor & this) with( this ){
    155172        if( ! do_terminate ) {
     
    157174                terminate(&this);
    158175                verify(this.do_terminate);
    159                 verify( kernelTLS.this_processor != &this);
     176                verify(TL_GET( this_processor ) != &this);
    160177                P( terminated );
    161                 verify( kernelTLS.this_processor != &this);
     178                verify(TL_GET( this_processor ) != &this);
    162179                pthread_join( kernel_thread, NULL );
    163180        }
    164181}
    165182
    166 void ?{}(cluster & this, const char * name, Duration preemption_rate) with( this ) {
    167         this.name = name;
    168         this.preemption_rate = preemption_rate;
     183void ?{}(cluster & this) with( this ) {
    169184        ready_queue{};
    170185        ready_queue_lock{};
    171186
    172         procs{ __get };
    173         idles{ __get };
    174 
    175         doregister(this);
     187        preemption_rate = default_preemption();
    176188}
    177189
    178190void ^?{}(cluster & this) {
    179         unregister(this);
     191
    180192}
    181193
     
    190202        __cfaabi_dbg_print_safe("Kernel : core %p starting\n", this);
    191203
    192         doregister(this->cltr, this);
    193 
    194204        {
    195205                // Setup preemption data
     
    205215                        if(readyThread)
    206216                        {
    207                                 verify( ! kernelTLS.preemption_state.enabled );
     217                                verify( ! TL_GET( preemption_state ).enabled );
    208218
    209219                                runThread(this, readyThread);
    210220
    211                                 verify( ! kernelTLS.preemption_state.enabled );
     221                                verify( ! TL_GET( preemption_state ).enabled );
    212222
    213223                                //Some actions need to be taken from the kernel
     
    225235        }
    226236
    227         unregister(this->cltr, this);
    228 
    229237        V( this->terminated );
    230238
     
    232240}
    233241
    234 // KERNEL ONLY
    235242// runThread runs a thread by context switching
    236243// from the processor coroutine to the target thread
     
    240247        coroutine_desc * thrd_cor = dst->curr_cor;
    241248
    242         // Reset the terminating actions here
     249        //Reset the terminating actions here
    243250        this->finish.action_code = No_Action;
    244251
    245         // Update global state
    246         kernelTLS.this_thread = dst;
     252        //Update global state
     253        TL_SET( this_thread, dst );
    247254
    248255        // Context Switch to the thread
     
    251258}
    252259
    253 // KERNEL_ONLY
    254260void returnToKernel() {
    255         coroutine_desc * proc_cor = get_coroutine(kernelTLS.this_processor->runner);
    256         coroutine_desc * thrd_cor = kernelTLS.this_thread->curr_cor = kernelTLS.this_coroutine;
     261        coroutine_desc * proc_cor = get_coroutine(TL_GET( this_processor )->runner);
     262        coroutine_desc * thrd_cor = TL_GET( this_thread )->curr_cor = TL_GET( this_coroutine );
    257263        ThreadCtxSwitch(thrd_cor, proc_cor);
    258264}
    259265
    260 // KERNEL_ONLY
    261266// Once a thread has finished running, some of
    262267// its final actions must be executed from the kernel
    263268void finishRunning(processor * this) with( this->finish ) {
    264269        if( action_code == Release ) {
    265                 verify( ! kernelTLS.preemption_state.enabled );
     270                verify( ! TL_GET( preemption_state ).enabled );
    266271                unlock( *lock );
    267272        }
     
    270275        }
    271276        else if( action_code == Release_Schedule ) {
    272                 verify( ! kernelTLS.preemption_state.enabled );
     277                verify( ! TL_GET( preemption_state ).enabled );
    273278                unlock( *lock );
    274279                ScheduleThread( thrd );
    275280        }
    276281        else if( action_code == Release_Multi ) {
    277                 verify( ! kernelTLS.preemption_state.enabled );
     282                verify( ! TL_GET( preemption_state ).enabled );
    278283                for(int i = 0; i < lock_count; i++) {
    279284                        unlock( *locks[i] );
     
    299304}
    300305
    301 // KERNEL_ONLY
    302306// Context invoker for processors
    303307// This is the entry point for processors (kernel threads)
     
    305309void * CtxInvokeProcessor(void * arg) {
    306310        processor * proc = (processor *) arg;
    307         kernelTLS.this_processor = proc;
    308         kernelTLS.this_coroutine = NULL;
    309         kernelTLS.this_thread    = NULL;
    310         kernelTLS.preemption_state.[enabled, disable_count] = [false, 1];
     311        TL_SET( this_processor, proc );
     312        TL_SET( this_coroutine, NULL );
     313        TL_SET( this_thread, NULL );
     314        TL_GET( preemption_state ).enabled = false;
     315        TL_GET( preemption_state ).disable_count = 1;
    311316        // SKULLDUGGERY: We want to create a context for the processor coroutine
    312317        // which is needed for the 2-step context switch. However, there is no reason
     
    320325
    321326        //Set global state
    322         kernelTLS.this_coroutine = get_coroutine(proc->runner);
    323         kernelTLS.this_thread    = NULL;
     327        TL_SET( this_coroutine, get_coroutine(proc->runner) );
     328        TL_SET( this_thread, NULL );
    324329
    325330        //We now have a proper context from which to schedule threads
     
    348353}
    349354
    350 // KERNEL_ONLY
    351355void kernel_first_resume(processor * this) {
    352         coroutine_desc * src = kernelTLS.this_coroutine;
     356        coroutine_desc * src = TL_GET( this_coroutine );
    353357        coroutine_desc * dst = get_coroutine(this->runner);
    354358
    355         verify( ! kernelTLS.preemption_state.enabled );
     359        verify( ! TL_GET( preemption_state ).enabled );
    356360
    357361        create_stack(&dst->stack, dst->stack.size);
    358362        CtxStart(&this->runner, CtxInvokeCoroutine);
    359363
    360         verify( ! kernelTLS.preemption_state.enabled );
     364        verify( ! TL_GET( preemption_state ).enabled );
    361365
    362366        dst->last = src;
     
    367371
    368372        // set new coroutine that task is executing
    369         kernelTLS.this_coroutine = dst;
     373        TL_SET( this_coroutine, dst );
    370374
    371375        // SKULLDUGGERY normally interrupts are enable before leaving a coroutine ctxswitch.
     
    384388        src->state = Active;
    385389
    386         verify( ! kernelTLS.preemption_state.enabled );
     390        verify( ! TL_GET( preemption_state ).enabled );
    387391}
    388392
    389393//-----------------------------------------------------------------------------
    390394// Scheduler routines
    391 
    392 // KERNEL ONLY
    393395void ScheduleThread( thread_desc * thrd ) {
     396        // if( ! thrd ) return;
    394397        verify( thrd );
    395398        verify( thrd->self_cor.state != Halted );
    396399
    397         verify( ! kernelTLS.preemption_state.enabled );
     400        verify( ! TL_GET( preemption_state ).enabled );
    398401
    399402        verifyf( thrd->next == NULL, "Expected null got %p", thrd->next );
    400403
    401         with( *thrd->curr_cluster ) {
     404        with( *TL_GET( this_processor )->cltr ) {
    402405                lock  ( ready_queue_lock __cfaabi_dbg_ctx2 );
    403406                append( ready_queue, thrd );
     
    405408        }
    406409
    407         verify( ! kernelTLS.preemption_state.enabled );
    408 }
    409 
    410 // KERNEL ONLY
     410        verify( ! TL_GET( preemption_state ).enabled );
     411}
     412
    411413thread_desc * nextThread(cluster * this) with( *this ) {
    412         verify( ! kernelTLS.preemption_state.enabled );
     414        verify( ! TL_GET( preemption_state ).enabled );
    413415        lock( ready_queue_lock __cfaabi_dbg_ctx2 );
    414416        thread_desc * head = pop_head( ready_queue );
    415417        unlock( ready_queue_lock );
    416         verify( ! kernelTLS.preemption_state.enabled );
     418        verify( ! TL_GET( preemption_state ).enabled );
    417419        return head;
    418420}
     
    420422void BlockInternal() {
    421423        disable_interrupts();
    422         verify( ! kernelTLS.preemption_state.enabled );
     424        verify( ! TL_GET( preemption_state ).enabled );
    423425        returnToKernel();
    424         verify( ! kernelTLS.preemption_state.enabled );
     426        verify( ! TL_GET( preemption_state ).enabled );
    425427        enable_interrupts( __cfaabi_dbg_ctx );
    426428}
     
    428430void BlockInternal( __spinlock_t * lock ) {
    429431        disable_interrupts();
    430         with( *kernelTLS.this_processor ) {
    431                 finish.action_code = Release;
    432                 finish.lock        = lock;
    433         }
    434 
    435         verify( ! kernelTLS.preemption_state.enabled );
     432        TL_GET( this_processor )->finish.action_code = Release;
     433        TL_GET( this_processor )->finish.lock        = lock;
     434
     435        verify( ! TL_GET( preemption_state ).enabled );
    436436        returnToKernel();
    437         verify( ! kernelTLS.preemption_state.enabled );
     437        verify( ! TL_GET( preemption_state ).enabled );
    438438
    439439        enable_interrupts( __cfaabi_dbg_ctx );
     
    442442void BlockInternal( thread_desc * thrd ) {
    443443        disable_interrupts();
    444         with( * kernelTLS.this_processor ) {
    445                 finish.action_code = Schedule;
    446                 finish.thrd        = thrd;
    447         }
    448 
    449         verify( ! kernelTLS.preemption_state.enabled );
     444        TL_GET( this_processor )->finish.action_code = Schedule;
     445        TL_GET( this_processor )->finish.thrd        = thrd;
     446
     447        verify( ! TL_GET( preemption_state ).enabled );
    450448        returnToKernel();
    451         verify( ! kernelTLS.preemption_state.enabled );
     449        verify( ! TL_GET( preemption_state ).enabled );
    452450
    453451        enable_interrupts( __cfaabi_dbg_ctx );
     
    457455        assert(thrd);
    458456        disable_interrupts();
    459         with( * kernelTLS.this_processor ) {
    460                 finish.action_code = Release_Schedule;
    461                 finish.lock        = lock;
    462                 finish.thrd        = thrd;
    463         }
    464 
    465         verify( ! kernelTLS.preemption_state.enabled );
     457        TL_GET( this_processor )->finish.action_code = Release_Schedule;
     458        TL_GET( this_processor )->finish.lock        = lock;
     459        TL_GET( this_processor )->finish.thrd        = thrd;
     460
     461        verify( ! TL_GET( preemption_state ).enabled );
    466462        returnToKernel();
    467         verify( ! kernelTLS.preemption_state.enabled );
     463        verify( ! TL_GET( preemption_state ).enabled );
    468464
    469465        enable_interrupts( __cfaabi_dbg_ctx );
     
    472468void BlockInternal(__spinlock_t * locks [], unsigned short count) {
    473469        disable_interrupts();
    474         with( * kernelTLS.this_processor ) {
    475                 finish.action_code = Release_Multi;
    476                 finish.locks       = locks;
    477                 finish.lock_count  = count;
    478         }
    479 
    480         verify( ! kernelTLS.preemption_state.enabled );
     470        TL_GET( this_processor )->finish.action_code = Release_Multi;
     471        TL_GET( this_processor )->finish.locks       = locks;
     472        TL_GET( this_processor )->finish.lock_count  = count;
     473
     474        verify( ! TL_GET( preemption_state ).enabled );
    481475        returnToKernel();
    482         verify( ! kernelTLS.preemption_state.enabled );
     476        verify( ! TL_GET( preemption_state ).enabled );
    483477
    484478        enable_interrupts( __cfaabi_dbg_ctx );
     
    487481void BlockInternal(__spinlock_t * locks [], unsigned short lock_count, thread_desc * thrds [], unsigned short thrd_count) {
    488482        disable_interrupts();
    489         with( *kernelTLS.this_processor ) {
    490                 finish.action_code = Release_Multi_Schedule;
    491                 finish.locks       = locks;
    492                 finish.lock_count  = lock_count;
    493                 finish.thrds       = thrds;
    494                 finish.thrd_count  = thrd_count;
    495         }
    496 
    497         verify( ! kernelTLS.preemption_state.enabled );
     483        TL_GET( this_processor )->finish.action_code = Release_Multi_Schedule;
     484        TL_GET( this_processor )->finish.locks       = locks;
     485        TL_GET( this_processor )->finish.lock_count  = lock_count;
     486        TL_GET( this_processor )->finish.thrds       = thrds;
     487        TL_GET( this_processor )->finish.thrd_count  = thrd_count;
     488
     489        verify( ! TL_GET( preemption_state ).enabled );
    498490        returnToKernel();
    499         verify( ! kernelTLS.preemption_state.enabled );
     491        verify( ! TL_GET( preemption_state ).enabled );
    500492
    501493        enable_interrupts( __cfaabi_dbg_ctx );
    502494}
    503495
    504 // KERNEL ONLY
    505496void LeaveThread(__spinlock_t * lock, thread_desc * thrd) {
    506         verify( ! kernelTLS.preemption_state.enabled );
    507         with( * kernelTLS.this_processor ) {
    508                 finish.action_code = thrd ? Release_Schedule : Release;
    509                 finish.lock        = lock;
    510                 finish.thrd        = thrd;
    511         }
     497        verify( ! TL_GET( preemption_state ).enabled );
     498        TL_GET( this_processor )->finish.action_code = thrd ? Release_Schedule : Release;
     499        TL_GET( this_processor )->finish.lock        = lock;
     500        TL_GET( this_processor )->finish.thrd        = thrd;
    512501
    513502        returnToKernel();
     
    520509// Kernel boot procedures
    521510void kernel_startup(void) {
    522         verify( ! kernelTLS.preemption_state.enabled );
     511        verify( ! TL_GET( preemption_state ).enabled );
    523512        __cfaabi_dbg_print_safe("Kernel : Starting\n");
    524 
    525         global_threads. list{ __get };
    526         global_threads. lock{};
    527         global_clusters.list{ __get };
    528         global_clusters.lock{};
    529 
    530         // Initialize the main cluster
    531         mainCluster = (cluster *)&storage_mainCluster;
    532         (*mainCluster){"Main Cluster"};
    533 
    534         __cfaabi_dbg_print_safe("Kernel : Main cluster ready\n");
    535513
    536514        // Start by initializing the main thread
     
    543521        __cfaabi_dbg_print_safe("Kernel : Main thread ready\n");
    544522
    545 
    546 
    547         // Construct the processor context of the main processor
    548         void ?{}(processorCtx_t & this, processor * proc) {
    549                 (this.__cor){ "Processor" };
    550                 this.__cor.starter = NULL;
    551                 this.proc = proc;
    552         }
    553 
    554         void ?{}(processor & this) with( this ) {
    555                 name = "Main Processor";
    556                 cltr = mainCluster;
    557                 terminated{ 0 };
    558                 do_terminate = false;
    559                 preemption_alarm = NULL;
    560                 pending_preemption = false;
    561                 kernel_thread = pthread_self();
    562 
    563                 runner{ &this };
    564                 __cfaabi_dbg_print_safe("Kernel : constructed main processor context %p\n", &runner);
    565         }
     523        // Initialize the main cluster
     524        mainCluster = (cluster *)&storage_mainCluster;
     525        (*mainCluster){};
     526
     527        __cfaabi_dbg_print_safe("Kernel : main cluster ready\n");
    566528
    567529        // Initialize the main processor and the main processor ctx
    568530        // (the coroutine that contains the processing control flow)
    569531        mainProcessor = (processor *)&storage_mainProcessor;
    570         (*mainProcessor){};
     532        (*mainProcessor){ mainCluster, *(processorCtx_t *)&storage_mainProcessorCtx };
    571533
    572534        //initialize the global state variables
    573         kernelTLS.this_processor = mainProcessor;
    574         kernelTLS.this_thread    = mainThread;
    575         kernelTLS.this_coroutine = &mainThread->self_cor;
     535        TL_SET( this_processor, mainProcessor );
     536        TL_SET( this_thread, mainThread );
     537        TL_SET( this_coroutine, &mainThread->self_cor );
    576538
    577539        // Enable preemption
     
    585547        // context. Hence, the main thread does not begin through CtxInvokeThread, like all other threads. The trick here is that
    586548        // mainThread is on the ready queue when this call is made.
    587         kernel_first_resume( kernelTLS.this_processor );
     549        kernel_first_resume( TL_GET( this_processor ) );
    588550
    589551
     
    592554        __cfaabi_dbg_print_safe("Kernel : Started\n--------------------------------------------------\n\n");
    593555
    594         verify( ! kernelTLS.preemption_state.enabled );
     556        verify( ! TL_GET( preemption_state ).enabled );
    595557        enable_interrupts( __cfaabi_dbg_ctx );
    596         verify( TL_GET( preemption_state.enabled ) );
     558        verify( TL_GET( preemption_state ).enabled );
    597559}
    598560
     
    600562        __cfaabi_dbg_print_safe("\n--------------------------------------------------\nKernel : Shutting down\n");
    601563
    602         verify( TL_GET( preemption_state.enabled ) );
     564        verify( TL_GET( preemption_state ).enabled );
    603565        disable_interrupts();
    604         verify( ! kernelTLS.preemption_state.enabled );
     566        verify( ! TL_GET( preemption_state ).enabled );
    605567
    606568        // SKULLDUGGERY: Notify the mainProcessor it needs to terminates.
     
    628590
    629591//=============================================================================================
    630 // Kernel Quiescing
    631 //=============================================================================================
    632 
    633 // void halt(processor * this) with( this ) {
    634 //      pthread_mutex_lock( &idle.lock );
    635 
    636 
    637 
    638 //      // SKULLDUGGERY: Even if spurious wake-up is a thing
    639 //      // spuriously waking up a kernel thread is not a big deal
    640 //      // if it is very rare.
    641 //      pthread_cond_wait( &idle.cond, &idle.lock);
    642 //      pthread_mutex_unlock( &idle.lock );
    643 // }
    644 
    645 // void wake(processor * this) with( this ) {
    646 //      pthread_mutex_lock  (&idle.lock);
    647 //      pthread_cond_signal (&idle.cond);
    648 //      pthread_mutex_unlock(&idle.lock);
    649 // }
    650 
    651 //=============================================================================================
    652592// Unexpected Terminating logic
    653593//=============================================================================================
     
    655595
    656596static __spinlock_t kernel_abort_lock;
     597static __spinlock_t kernel_debug_lock;
    657598static bool kernel_abort_called = false;
    658599
    659 void * kernel_abort(void) __attribute__ ((__nothrow__)) {
     600void * kernel_abort    (void) __attribute__ ((__nothrow__)) {
    660601        // abort cannot be recursively entered by the same or different processors because all signal handlers return when
    661602        // the globalAbort flag is true.
     
    663604
    664605        // first task to abort ?
    665         if ( kernel_abort_called ) {                    // not first task to abort ?
     606        if ( ! kernel_abort_called ) {                  // not first task to abort ?
     607                kernel_abort_called = true;
     608                unlock( kernel_abort_lock );
     609        }
     610        else {
    666611                unlock( kernel_abort_lock );
    667612
    668613                sigset_t mask;
    669614                sigemptyset( &mask );
    670                 sigaddset( &mask, SIGALRM );            // block SIGALRM signals
    671                 sigsuspend( &mask );                    // block the processor to prevent further damage during abort
    672                 _exit( EXIT_FAILURE );                  // if processor unblocks before it is killed, terminate it
    673         }
    674         else {
    675                 kernel_abort_called = true;
    676                 unlock( kernel_abort_lock );
    677         }
    678 
    679         return kernelTLS.this_thread;
     615                sigaddset( &mask, SIGALRM );                    // block SIGALRM signals
     616                sigaddset( &mask, SIGUSR1 );                    // block SIGUSR1 signals
     617                sigsuspend( &mask );                            // block the processor to prevent further damage during abort
     618                _exit( EXIT_FAILURE );                          // if processor unblocks before it is killed, terminate it
     619        }
     620
     621        return TL_GET( this_thread );
    680622}
    681623
     
    683625        thread_desc * thrd = kernel_data;
    684626
    685         if(thrd) {
    686                 int len = snprintf( abort_text, abort_text_size, "Error occurred while executing thread %.256s (%p)", thrd->self_cor.name, thrd );
     627        int len = snprintf( abort_text, abort_text_size, "Error occurred while executing task %.256s (%p)", thrd->self_cor.name, thrd );
     628        __cfaabi_dbg_bits_write( abort_text, len );
     629
     630        if ( get_coroutine(thrd) != TL_GET( this_coroutine ) ) {
     631                len = snprintf( abort_text, abort_text_size, " in coroutine %.256s (%p).\n", TL_GET( this_coroutine )->name, TL_GET( this_coroutine ) );
    687632                __cfaabi_dbg_bits_write( abort_text, len );
    688 
    689                 if ( get_coroutine(thrd) != kernelTLS.this_coroutine ) {
    690                         len = snprintf( abort_text, abort_text_size, " in coroutine %.256s (%p).\n", kernelTLS.this_coroutine->name, kernelTLS.this_coroutine );
    691                         __cfaabi_dbg_bits_write( abort_text, len );
    692                 }
    693                 else {
    694                         __cfaabi_dbg_bits_write( ".\n", 2 );
    695                 }
    696633        }
    697634        else {
    698                 int len = snprintf( abort_text, abort_text_size, "Error occurred outside of any thread.\n" );
     635                __cfaabi_dbg_bits_write( ".\n", 2 );
    699636        }
    700637}
    701638
    702639int kernel_abort_lastframe( void ) __attribute__ ((__nothrow__)) {
    703         return get_coroutine(kernelTLS.this_thread) == get_coroutine(mainThread) ? 4 : 2;
    704 }
    705 
    706 static __spinlock_t kernel_debug_lock;
     640        return get_coroutine(TL_GET( this_thread )) == get_coroutine(mainThread) ? 4 : 2;
     641}
    707642
    708643extern "C" {
     
    733668        if ( count < 0 ) {
    734669                // queue current task
    735                 append( waiting, kernelTLS.this_thread );
     670                append( waiting, (thread_desc *)TL_GET( this_thread ) );
    736671
    737672                // atomically release spin lock and block
     
    759694
    760695//-----------------------------------------------------------------------------
    761 // Global Queues
    762 void doregister( thread_desc & thrd ) {
    763         // lock      ( global_thread.lock );
    764         // push_front( global_thread.list, thrd );
    765         // unlock    ( global_thread.lock );
    766 }
    767 
    768 void unregister( thread_desc & thrd ) {
    769         // lock  ( global_thread.lock );
    770         // remove( global_thread.list, thrd );
    771         // unlock( global_thread.lock );
    772 }
    773 
    774 void doregister( cluster     & cltr ) {
    775         // lock      ( global_cluster.lock );
    776         // push_front( global_cluster.list, cltr );
    777         // unlock    ( global_cluster.lock );
    778 }
    779 
    780 void unregister( cluster     & cltr ) {
    781         // lock  ( global_cluster.lock );
    782         // remove( global_cluster.list, cltr );
    783         // unlock( global_cluster.lock );
    784 }
    785 
    786 
    787 void doregister( cluster * cltr, processor * proc ) {
    788         // lock      (cltr->proc_list_lock __cfaabi_dbg_ctx2);
    789         // push_front(cltr->procs, *proc);
    790         // unlock    (cltr->proc_list_lock);
    791 }
    792 
    793 void unregister( cluster * cltr, processor * proc ) {
    794         // lock  (cltr->proc_list_lock __cfaabi_dbg_ctx2);
    795         // remove(cltr->procs, *proc );
    796         // unlock(cltr->proc_list_lock);
    797 }
    798 
    799 //-----------------------------------------------------------------------------
    800696// Debug
    801697__cfaabi_dbg_debug_do(
    802         void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name) {
    803                 this.prev_name = prev_name;
    804                 this.prev_thrd = kernelTLS.this_thread;
     698        struct {
     699                thread_desc * tail;
     700        } __cfaabi_dbg_thread_list = { NULL };
     701
     702        void __cfaabi_dbg_thread_register( thread_desc * thrd ) {
     703                if( !__cfaabi_dbg_thread_list.tail ) {
     704                        __cfaabi_dbg_thread_list.tail = thrd;
     705                        return;
     706                }
     707                __cfaabi_dbg_thread_list.tail->dbg_next = thrd;
     708                thrd->dbg_prev = __cfaabi_dbg_thread_list.tail;
     709                __cfaabi_dbg_thread_list.tail = thrd;
     710        }
     711
     712        void __cfaabi_dbg_thread_unregister( thread_desc * thrd ) {
     713                thread_desc * prev = thrd->dbg_prev;
     714                thread_desc * next = thrd->dbg_next;
     715
     716                if( next ) { next->dbg_prev = prev; }
     717                else       {
     718                        assert( __cfaabi_dbg_thread_list.tail == thrd );
     719                        __cfaabi_dbg_thread_list.tail = prev;
     720                }
     721
     722                if( prev ) { prev->dbg_next = next; }
     723
     724                thrd->dbg_prev = NULL;
     725                thrd->dbg_next = NULL;
    805726        }
    806727)
  • src/libcfa/concurrency/kernel_private.h

    rff29f08 rf6f0cca3  
    100100#define KERNEL_STORAGE(T,X) static char storage_##X[sizeof(T)]
    101101
    102 
    103 void doregister( struct thread_desc & thrd );
    104 void unregister( struct thread_desc & thrd );
    105 
    106 void doregister( struct cluster     & cltr );
    107 void unregister( struct cluster     & cltr );
    108 
    109 void doregister( struct cluster * cltr, struct processor * proc );
    110 void unregister( struct cluster * cltr, struct processor * proc );
    111 
    112102// Local Variables: //
    113103// mode: c //
  • src/libcfa/concurrency/monitor.c

    rff29f08 rf6f0cca3  
    8585                // Lock the monitor spinlock
    8686                lock( this->lock __cfaabi_dbg_ctx2 );
    87                 // Interrupts disable inside critical section
    88                 thread_desc * thrd = kernelTLS.this_thread;
     87                thread_desc * thrd = TL_GET( this_thread );
    8988
    9089                __cfaabi_dbg_print_safe( "Kernel : %10p Entering mon %p (%p)\n", thrd, this, this->owner);
     
    135134                // Lock the monitor spinlock
    136135                lock( this->lock __cfaabi_dbg_ctx2 );
    137                 // Interrupts disable inside critical section
    138                 thread_desc * thrd = kernelTLS.this_thread;
     136                thread_desc * thrd = TL_GET( this_thread );
    139137
    140138                __cfaabi_dbg_print_safe( "Kernel : %10p Entering dtor for mon %p (%p)\n", thrd, this, this->owner);
     
    170168
    171169                        // Create the node specific to this wait operation
    172                         wait_ctx_primed( thrd, 0 )
     170                        wait_ctx_primed( TL_GET( this_thread ), 0 )
    173171
    174172                        // Some one else has the monitor, wait for him to finish and then run
     
    181179                        __cfaabi_dbg_print_safe( "Kernel :  blocking \n" );
    182180
    183                         wait_ctx( thrd, 0 )
     181                        wait_ctx( TL_GET( this_thread ), 0 )
    184182                        this->dtor_node = &waiter;
    185183
     
    201199                lock( this->lock __cfaabi_dbg_ctx2 );
    202200
    203                 __cfaabi_dbg_print_safe( "Kernel : %10p Leaving mon %p (%p)\n", kernelTLS.this_thread, this, this->owner);
    204 
    205                 verifyf( kernelTLS.this_thread == this->owner, "Expected owner to be %p, got %p (r: %i, m: %p)", kernelTLS.this_thread, this->owner, this->recursion, this );
     201                __cfaabi_dbg_print_safe( "Kernel : %10p Leaving mon %p (%p)\n", TL_GET( this_thread ), this, this->owner);
     202
     203                verifyf( TL_GET( this_thread ) == this->owner, "Expected owner to be %p, got %p (r: %i, m: %p)", TL_GET( this_thread ), this->owner, this->recursion, this );
    206204
    207205                // Leaving a recursion level, decrement the counter
     
    291289// Sorts monitors before entering
    292290void ?{}( monitor_guard_t & this, monitor_desc * m [], __lock_size_t count, fptr_t func ) {
    293         thread_desc * thrd = TL_GET( this_thread );
    294 
    295291        // Store current array
    296292        this.m = m;
     
    301297
    302298        // Save previous thread context
    303         this.prev = thrd->monitors;
     299        this.prev = TL_GET( this_thread )->monitors;
    304300
    305301        // Update thread context (needed for conditions)
    306         (thrd->monitors){m, count, func};
     302        (TL_GET( this_thread )->monitors){m, count, func};
    307303
    308304        // __cfaabi_dbg_print_safe( "MGUARD : enter %d\n", count);
     
    332328// Sorts monitors before entering
    333329void ?{}( monitor_dtor_guard_t & this, monitor_desc * m [], fptr_t func ) {
    334         // optimization
    335         thread_desc * thrd = TL_GET( this_thread );
    336 
    337330        // Store current array
    338331        this.m = *m;
    339332
    340333        // Save previous thread context
    341         this.prev = thrd->monitors;
     334        this.prev = TL_GET( this_thread )->monitors;
    342335
    343336        // Update thread context (needed for conditions)
    344         (thrd->monitors){m, 1, func};
     337        (TL_GET( this_thread )->monitors){m, 1, func};
    345338
    346339        __enter_monitor_dtor( this.m, func );
     
    480473
    481474        // Create the node specific to this wait operation
    482         wait_ctx_primed( kernelTLS.this_thread, 0 )
     475        wait_ctx_primed( TL_GET( this_thread ), 0 )
    483476
    484477        //save contexts
     
    573566
    574567                                // Create the node specific to this wait operation
    575                                 wait_ctx_primed( kernelTLS.this_thread, 0 );
     568                                wait_ctx_primed( TL_GET( this_thread ), 0 );
    576569
    577570                                // Save monitor states
     
    619612
    620613        // Create the node specific to this wait operation
    621         wait_ctx_primed( kernelTLS.this_thread, 0 );
     614        wait_ctx_primed( TL_GET( this_thread ), 0 );
    622615
    623616        monitor_save;
     
    625618
    626619        for( __lock_size_t i = 0; i < count; i++) {
    627                 verify( monitors[i]->owner == kernelTLS.this_thread );
     620                verify( monitors[i]->owner == TL_GET( this_thread ) );
    628621        }
    629622
  • src/libcfa/concurrency/preemption.c

    rff29f08 rf6f0cca3  
    149149        // Disable interrupts by incrementing the counter
    150150        void disable_interrupts() {
    151                 with( kernelTLS.preemption_state ) {
    152                         enabled = false;
    153                         __attribute__((unused)) unsigned short new_val = disable_count + 1;
    154                         disable_count = new_val;
    155                         verify( new_val < 65_000u );              // If this triggers someone is disabling interrupts without enabling them
    156                 }
     151                TL_GET( preemption_state ).enabled = false;
     152                __attribute__((unused)) unsigned short new_val = TL_GET( preemption_state ).disable_count + 1;
     153                TL_GET( preemption_state ).disable_count = new_val;
     154                verify( new_val < 65_000u );              // If this triggers someone is disabling interrupts without enabling them
    157155        }
    158156
     
    160158        // If counter reaches 0, execute any pending CtxSwitch
    161159        void enable_interrupts( __cfaabi_dbg_ctx_param ) {
    162                 processor   * proc = kernelTLS.this_processor; // Cache the processor now since interrupts can start happening after the atomic add
    163                 thread_desc * thrd = kernelTLS.this_thread;       // Cache the thread now since interrupts can start happening after the atomic add
    164 
    165                 with( kernelTLS.preemption_state ){
    166                         unsigned short prev = disable_count;
    167                         disable_count -= 1;
    168                         verify( prev != 0u );                     // If this triggers someone is enabled already enabled interruptsverify( prev != 0u );
    169 
    170                         // Check if we need to prempt the thread because an interrupt was missed
    171                         if( prev == 1 ) {
    172                                 enabled = true;
    173                                 if( proc->pending_preemption ) {
    174                                         proc->pending_preemption = false;
    175                                         BlockInternal( thrd );
    176                                 }
     160                processor   * proc = TL_GET( this_processor ); // Cache the processor now since interrupts can start happening after the atomic add
     161                thread_desc * thrd = TL_GET( this_thread );       // Cache the thread now since interrupts can start happening after the atomic add
     162
     163                unsigned short prev = TL_GET( preemption_state ).disable_count;
     164                TL_GET( preemption_state ).disable_count -= 1;
     165                verify( prev != 0u );                     // If this triggers someone is enabled already enabled interruptsverify( prev != 0u );
     166
     167                // Check if we need to prempt the thread because an interrupt was missed
     168                if( prev == 1 ) {
     169                        TL_GET( preemption_state ).enabled = true;
     170                        if( proc->pending_preemption ) {
     171                                proc->pending_preemption = false;
     172                                BlockInternal( thrd );
    177173                        }
    178174                }
     
    185181        // Don't execute any pending CtxSwitch even if counter reaches 0
    186182        void enable_interrupts_noPoll() {
    187                 unsigned short prev = kernelTLS.preemption_state.disable_count;
    188                 kernelTLS.preemption_state.disable_count -= 1;
     183                unsigned short prev = TL_GET( preemption_state ).disable_count;
     184                TL_GET( preemption_state ).disable_count -= 1;
    189185                verifyf( prev != 0u, "Incremented from %u\n", prev );                     // If this triggers someone is enabled already enabled interrupts
    190186                if( prev == 1 ) {
    191                         kernelTLS.preemption_state.enabled = true;
     187                        TL_GET( preemption_state ).enabled = true;
    192188                }
    193189        }
     
    234230}
    235231
    236 // KERNEL ONLY
     232
    237233// Check if a CtxSwitch signal handler shoud defer
    238234// If true  : preemption is safe
    239235// If false : preemption is unsafe and marked as pending
    240236static inline bool preemption_ready() {
    241         // Check if preemption is safe
    242         bool ready = kernelTLS.preemption_state.enabled && ! kernelTLS.preemption_state.in_progress;
    243 
    244         // Adjust the pending flag accordingly
    245         kernelTLS.this_processor->pending_preemption = !ready;
     237        bool ready = TL_GET( preemption_state ).enabled && !TL_GET( preemption_state ).in_progress; // Check if preemption is safe
     238        TL_GET( this_processor )->pending_preemption = !ready;                  // Adjust the pending flag accordingly
    246239        return ready;
    247240}
     
    257250
    258251        // Start with preemption disabled until ready
    259         kernelTLS.preemption_state.enabled = false;
    260         kernelTLS.preemption_state.disable_count = 1;
     252        TL_GET( preemption_state ).enabled = false;
     253        TL_GET( preemption_state ).disable_count = 1;
    261254
    262255        // Initialize the event kernel
     
    323316        // before the kernel thread has even started running. When that happens an iterrupt
    324317        // we a null 'this_processor' will be caught, just ignore it.
    325         if(! kernelTLS.this_processor ) return;
     318        if(!TL_GET( this_processor )) return;
    326319
    327320        choose(sfp->si_value.sival_int) {
    328321                case PREEMPT_NORMAL   : ;// Normal case, nothing to do here
    329                 case PREEMPT_TERMINATE: verify( kernelTLS.this_processor->do_terminate);
     322                case PREEMPT_TERMINATE: verify(TL_GET( this_processor )->do_terminate);
    330323                default:
    331324                        abort( "internal error, signal value is %d", sfp->si_value.sival_int );
     
    335328        if( !preemption_ready() ) { return; }
    336329
    337         __cfaabi_dbg_print_buffer_decl( " KERNEL: preempting core %p (%p).\n", kernelTLS.this_processor, kernelTLS.this_thread );
    338 
    339         // Sync flag : prevent recursive calls to the signal handler
    340         kernelTLS.preemption_state.in_progress = true;
    341 
    342         // We are about to CtxSwitch out of the signal handler, let other handlers in
    343         signal_unblock( SIGUSR1 );
    344 
    345         // TODO: this should go in finish action
    346         // Clear the in progress flag
    347         kernelTLS.preemption_state.in_progress = false;
     330        __cfaabi_dbg_print_buffer_decl( " KERNEL: preempting core %p (%p).\n", this_processor, this_thread);
     331
     332        TL_GET( preemption_state ).in_progress = true;  // Sync flag : prevent recursive calls to the signal handler
     333        signal_unblock( SIGUSR1 );                          // We are about to CtxSwitch out of the signal handler, let other handlers in
     334        TL_GET( preemption_state ).in_progress = false; // Clear the in progress flag
    348335
    349336        // Preemption can occur here
    350337
    351         BlockInternal( kernelTLS.this_thread ); // Do the actual CtxSwitch
     338        BlockInternal( (thread_desc*)TL_GET( this_thread ) ); // Do the actual CtxSwitch
    352339}
    353340
     
    357344        // Block sigalrms to control when they arrive
    358345        sigset_t mask;
    359         sigfillset(&mask);
     346        sigemptyset( &mask );
     347        sigaddset( &mask, SIGALRM );
     348
    360349        if ( pthread_sigmask( SIG_BLOCK, &mask, NULL ) == -1 ) {
    361350            abort( "internal error, pthread_sigmask" );
    362351        }
    363 
    364         sigemptyset( &mask );
    365         sigaddset( &mask, SIGALRM );
    366352
    367353        // Main loop
     
    414400}
    415401
    416 //=============================================================================================
    417 // Kernel Signal Debug
    418 //=============================================================================================
    419 
    420 void __cfaabi_check_preemption() {
    421         bool ready = kernelTLS.preemption_state.enabled;
    422         if(!ready) { abort("Preemption should be ready"); }
    423 
    424         sigset_t oldset;
    425         int ret;
    426         ret = sigprocmask(0, NULL, &oldset);
    427         if(ret != 0) { abort("ERROR sigprocmask returned %d", ret); }
    428 
    429         ret = sigismember(&oldset, SIGUSR1);
    430         if(ret <  0) { abort("ERROR sigismember returned %d", ret); }
    431 
    432         if(ret == 1) { abort("ERROR SIGUSR1 is disabled"); }
    433 }
    434 
    435402// Local Variables: //
    436403// mode: c //
  • src/libcfa/concurrency/thread

    rff29f08 rf6f0cca3  
    2020
    2121#include "coroutine"
    22 #include "kernel"
    2322#include "monitor"
    2423
    2524//-----------------------------------------------------------------------------
    26 // thread trait
     25// Coroutine trait
     26// Anything that implements this trait can be resumed.
     27// Anything that is resumed is a coroutine.
    2728trait is_thread(dtype T) {
    2829      void ^?{}(T& mutex this);
     
    5152}
    5253
    53 extern struct cluster * mainCluster;
     54//extern thread_local thread_desc * volatile this_thread;
    5455
    5556forall( dtype T | is_thread(T) )
     
    5859//-----------------------------------------------------------------------------
    5960// Ctors and dtors
    60 void ?{}(thread_desc & this, const char * const name, struct cluster & cl, void * storage, size_t storageSize );
    61 void ^?{}(thread_desc & this);
    62 
    63 static inline void ?{}(thread_desc & this)                                                                  { this{ "Anonymous Thread", *mainCluster, NULL, 0 }; }
    64 static inline void ?{}(thread_desc & this, size_t stackSize )                                               { this{ "Anonymous Thread", *mainCluster, NULL, stackSize }; }
    65 static inline void ?{}(thread_desc & this, void * storage, size_t storageSize )                             { this{ "Anonymous Thread", *mainCluster, storage, storageSize }; }
    66 static inline void ?{}(thread_desc & this, struct cluster & cl )                                            { this{ "Anonymous Thread", cl, NULL, 0 }; }
    67 static inline void ?{}(thread_desc & this, struct cluster & cl, size_t stackSize )                          { this{ "Anonymous Thread", cl, 0, stackSize }; }
    68 static inline void ?{}(thread_desc & this, struct cluster & cl, void * storage, size_t storageSize )        { this{ "Anonymous Thread", cl, storage, storageSize }; }
    69 static inline void ?{}(thread_desc & this, const char * const name)                                         { this{ name, *mainCluster, NULL, 0 }; }
    70 static inline void ?{}(thread_desc & this, const char * const name, struct cluster & cl )                   { this{ name, cl, NULL, 0 }; }
    71 static inline void ?{}(thread_desc & this, const char * const name, struct cluster & cl, size_t stackSize ) { this{ name, cl, NULL, stackSize }; }
     61void ?{}(thread_desc& this);
     62void ^?{}(thread_desc& this);
    7263
    7364//-----------------------------------------------------------------------------
  • src/libcfa/concurrency/thread.c

    rff29f08 rf6f0cca3  
    3030//-----------------------------------------------------------------------------
    3131// Thread ctors and dtors
    32 void ?{}(thread_desc & this, const char * const name, cluster & cl, void * storage, size_t storageSize ) with( this ) {
    33         self_cor{ name, storage, storageSize };
    34         verify(&self_cor);
     32
     33void ?{}(thread_desc& this) with( this ) {
     34        self_cor{};
     35        self_cor.name = "Anonymous Coroutine";
    3536        curr_cor = &self_cor;
    3637        self_mon.owner = &this;
    3738        self_mon.recursion = 1;
    3839        self_mon_p = &self_mon;
    39         curr_cluster = &cl;
    4040        next = NULL;
    41 
    42         node.next = NULL;
    43         node.prev = NULL;
    44         doregister(this);
     41        __cfaabi_dbg_debug_do(
     42                dbg_next = NULL;
     43                dbg_prev = NULL;
     44                __cfaabi_dbg_thread_register(&this);
     45        )
    4546
    4647        monitors{ &self_mon_p, 1, (fptr_t)0 };
     
    4849
    4950void ^?{}(thread_desc& this) with( this ) {
    50         unregister(this);
    5151        ^self_cor{};
    5252}
     
    8181        disable_interrupts();
    8282        create_stack(&thrd_c->stack, thrd_c->stack.size);
    83         kernelTLS.this_coroutine = thrd_c;
     83        TL_SET( this_coroutine, thrd_c );
    8484        CtxStart(&this, CtxInvokeThread);
    8585        assert( thrd_c->last->stack.context );
     
    9191
    9292extern "C" {
    93         // KERNEL ONLY
    9493        void __finish_creation(void) {
    95                 coroutine_desc* thrd_c = kernelTLS.this_coroutine;
     94                coroutine_desc* thrd_c = TL_GET( this_coroutine );
    9695                ThreadCtxSwitch( thrd_c, thrd_c->last );
    9796        }
     
    9998
    10099void yield( void ) {
    101         // Safety note : This could cause some false positives due to preemption
    102       verify( TL_GET( preemption_state.enabled ) );
     100        verify( TL_GET( preemption_state ).enabled );
    103101        BlockInternal( TL_GET( this_thread ) );
    104         // Safety note : This could cause some false positives due to preemption
    105       verify( TL_GET( preemption_state.enabled ) );
     102        verify( TL_GET( preemption_state ).enabled );
    106103}
    107104
     
    112109}
    113110
    114 // KERNEL ONLY
    115111void ThreadCtxSwitch(coroutine_desc* src, coroutine_desc* dst) {
    116112        // set state of current coroutine to inactive
     
    120116        // set new coroutine that the processor is executing
    121117        // and context switch to it
    122         kernelTLS.this_coroutine = dst;
     118        TL_SET( this_coroutine, dst );
    123119        assert( src->stack.context );
    124120        CtxSwitch( src->stack.context, dst->stack.context );
    125         kernelTLS.this_coroutine = src;
     121        TL_SET( this_coroutine, src );
    126122
    127123        // set state of new coroutine to active
  • src/libcfa/interpose.c

    rff29f08 rf6f0cca3  
    1010// Created On       : Wed Mar 29 16:10:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May  5 11:37:35 2018
    13 // Update Count     : 111
    14 //
    15 
    16 #include <stdarg.h>                                                                             // va_start, va_end
    17 #include <string.h>                                                                             // strlen
    18 #include <unistd.h>                                                                             // _exit, getpid
     12// Last Modified On : Thu Feb  8 16:18:09 2018
     13// Update Count     : 75
     14//
     15
     16#include <stdarg.h>
     17#include <stddef.h>
     18
     19extern "C" {
     20#include <stdio.h>
     21#include <string.h>
     22#include <dlfcn.h>
     23#include <unistd.h>
    1924#define __USE_GNU
    2025#include <signal.h>
    2126#undef __USE_GNU
    22 extern "C" {
    23 #include <dlfcn.h>                                                                              // dlopen, dlsym
    24 #include <execinfo.h>                                                                   // backtrace, messages
     27#include <execinfo.h>
    2528}
    2629
    2730#include "bits/debug.h"
    2831#include "bits/defs.h"
    29 #include "bits/signal.h"                                                                // sigHandler_?
    30 #include "startup.h"                                                                    // STARTUP_PRIORITY_CORE
     32#include "bits/signal.h"
     33#include "startup.h"
    3134
    3235//=============================================================================================
     
    3437//=============================================================================================
    3538
    36 typedef void (* generic_fptr_t)(void);
    37 generic_fptr_t interpose_symbol( const char * symbol, const char * version ) {
     39typedef void (*generic_fptr_t)(void);
     40generic_fptr_t interpose_symbol( const char* symbol, const char *version ) {
    3841        const char * error;
    3942
     
    5255        } // if
    5356
    54         union { generic_fptr_t fptr; void * ptr; } originalFunc;
     57        union { generic_fptr_t fptr; void* ptr; } originalFunc;
    5558
    5659        #if defined( _GNU_SOURCE )
     
    7073}
    7174
    72 #define INTERPOSE_LIBC( x, ver ) __cabi_libc.x = (typeof(__cabi_libc.x))interpose_symbol( #x, ver )
    73 
    74 //=============================================================================================
    75 // Interposition Startup logic
     75forall(dtype T)
     76static inline void ptr_from_symbol( T** symbol_ptr, const char * symbol_name, const char * version) {
     77        union {
     78                generic_fptr_t gp;
     79                T* tp;
     80        } u;
     81
     82        u.gp = interpose_symbol( symbol_name, version );
     83
     84        *symbol_ptr = u.tp;
     85}
     86
     87#define INTERPOSE_LIBC( x, ver ) ptr_from_symbol( (void**)&__cabi_libc.x, #x, ver)
     88
     89//=============================================================================================
     90// Terminating Signals logic
    7691//=============================================================================================
    7792
     
    8095void sigHandler_fpe  ( __CFA_SIGPARMS__ );
    8196void sigHandler_abort( __CFA_SIGPARMS__ );
    82 void sigHandler_term ( __CFA_SIGPARMS__ );
    8397
    8498struct {
    85         void (* exit)( int ) __attribute__(( __noreturn__ ));
    86         void (* abort)( void ) __attribute__(( __noreturn__ ));
     99        void (* exit)( int ) __attribute__ (( __noreturn__ ));
     100        void (* abort)( void ) __attribute__ (( __noreturn__ ));
    87101} __cabi_libc;
    88102
     
    92106                const char *version = NULL;
    93107
    94 #pragma GCC diagnostic push
    95 #pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
    96108                INTERPOSE_LIBC( abort, version );
    97109                INTERPOSE_LIBC( exit , version );
    98 #pragma GCC diagnostic pop
    99 
    100                 // Failure handler
    101                 __cfaabi_sigaction( SIGSEGV, sigHandler_segv , SA_SIGINFO );
    102                 __cfaabi_sigaction( SIGBUS , sigHandler_segv , SA_SIGINFO );
    103                 __cfaabi_sigaction( SIGILL , sigHandler_ill  , SA_SIGINFO );
    104                 __cfaabi_sigaction( SIGFPE , sigHandler_fpe  , SA_SIGINFO );
    105                 __cfaabi_sigaction( SIGABRT, sigHandler_abort, SA_SIGINFO | SA_RESETHAND);
    106                 __cfaabi_sigaction( SIGTERM, sigHandler_term , SA_SIGINFO );
    107                 __cfaabi_sigaction( SIGINT , sigHandler_term , SA_SIGINFO );
     110
     111                __cfaabi_sigaction( SIGSEGV, sigHandler_segv , SA_SIGINFO ); // Failure handler
     112                __cfaabi_sigaction( SIGBUS , sigHandler_segv , SA_SIGINFO ); // Failure handler
     113                __cfaabi_sigaction( SIGILL , sigHandler_ill  , SA_SIGINFO ); // Failure handler
     114                __cfaabi_sigaction( SIGFPE , sigHandler_fpe  , SA_SIGINFO ); // Failure handler
     115                __cfaabi_sigaction( SIGABRT, sigHandler_abort, SA_SIGINFO ); // Failure handler
    108116        }
    109117}
     
    114122
    115123// Forward declare abort after the __typeof__ call to avoid ambiguities
    116 void exit( int status, const char fmt[], ... ) __attribute__(( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ ));
    117 void abort( const char fmt[], ... ) __attribute__(( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ ));
     124void exit( int status, const char fmt[], ... ) __attribute__ (( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ ));
     125void abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ ));
    118126
    119127extern "C" {
    120         void abort( void ) __attribute__(( __nothrow__, __leaf__, __noreturn__ )) {
     128        void abort( void ) __attribute__ (( __nothrow__, __leaf__, __noreturn__ )) {
    121129                abort( NULL );
    122130        }
    123131
    124         void __cabi_abort( const char fmt[], ... ) __attribute__(( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )) {
     132        void __cabi_abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )) {
    125133                va_list argp;
    126134                va_start( argp, fmt );
     
    129137        }
    130138
    131         void exit( int status ) __attribute__(( __nothrow__, __leaf__, __noreturn__ )) {
     139        void exit( int status ) __attribute__ (( __nothrow__, __leaf__, __noreturn__ )) {
    132140                __cabi_libc.exit( status );
    133141        }
    134142}
    135143
    136 void * kernel_abort    ( void ) __attribute__(( __nothrow__, __leaf__, __weak__ )) { return NULL; }
    137 void   kernel_abort_msg( void * data, char * buffer, int size ) __attribute__(( __nothrow__, __leaf__, __weak__ )) {}
    138 int kernel_abort_lastframe( void ) __attribute__(( __nothrow__, __leaf__, __weak__ )) { return 4; }
     144void * kernel_abort    ( void ) __attribute__ (( __nothrow__, __leaf__, __weak__ )) { return NULL; }
     145void   kernel_abort_msg( void * data, char * buffer, int size ) __attribute__ (( __nothrow__, __leaf__, __weak__ )) {}
     146int kernel_abort_lastframe( void ) __attribute__ (( __nothrow__, __leaf__, __weak__ )) { return 4; }
    139147
    140148enum { abort_text_size = 1024 };
     
    142150static int abort_lastframe;
    143151
    144 void exit( int status, const char fmt[], ... ) __attribute__(( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ )) {
     152void exit( int status, const char fmt[], ... ) __attribute__ (( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ )) {
    145153    va_list args;
    146154    va_start( args, fmt );
     
    150158}
    151159
    152 void abort( const char fmt[], ... ) __attribute__(( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )) {
     160void abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )) {
    153161        void * kernel_data = kernel_abort();                    // must be done here to lock down kernel
    154162        int len;
     
    260268}
    261269
    262 void sigHandler_term( __CFA_SIGPARMS__ ) {
    263         abort( "Application stopped by %s signal.", sig == SIGINT ? "an interrupt (SIGINT)" : "a terminate (SIGTERM)" );
    264 }
    265 
    266270// Local Variables: //
    267271// mode: c //
  • src/libcfa/iostream

    rff29f08 rf6f0cca3  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Apr 28 13:08:24 2018
    13 // Update Count     : 152
     12// Last Modified On : Thu Apr 12 14:34:37 2018
     13// Update Count     : 150
    1414//
    1515
     
    8080
    8181forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char * );
    82 //forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char16_t * );
     82forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char16_t * );
    8383#if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
    84 //forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char32_t * );
     84forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char32_t * );
    8585#endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
    86 //forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const wchar_t * );
     86forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const wchar_t * );
    8787forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const void * );
    8888
  • src/libcfa/iostream.c

    rff29f08 rf6f0cca3  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Apr 28 13:08:25 2018
    13 // Update Count     : 469
     12// Last Modified On : Thu Jan 25 13:09:28 2018
     13// Update Count     : 467
    1414//
    1515
     
    193193} // ?|?
    194194
    195 // forall( dtype ostype | ostream( ostype ) )
    196 // ostype & ?|?( ostype & os, const char16_t * str ) {
    197 //      if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    198 //      fmt( os, "%ls", str );
    199 //      return os;
    200 // } // ?|?
    201 
    202 // #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
    203 // forall( dtype ostype | ostream( ostype ) )
    204 // ostype & ?|?( ostype & os, const char32_t * str ) {
    205 //      if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    206 //      fmt( os, "%ls", str );
    207 //      return os;
    208 // } // ?|?
    209 // #endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
    210 
    211 // forall( dtype ostype | ostream( ostype ) )
    212 // ostype & ?|?( ostype & os, const wchar_t * str ) {
    213 //      if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    214 //      fmt( os, "%ls", str );
    215 //      return os;
    216 // } // ?|?
     195forall( dtype ostype | ostream( ostype ) )
     196ostype & ?|?( ostype & os, const char16_t * str ) {
     197        if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     198        fmt( os, "%ls", str );
     199        return os;
     200} // ?|?
     201
     202#if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
     203forall( dtype ostype | ostream( ostype ) )
     204ostype & ?|?( ostype & os, const char32_t * str ) {
     205        if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     206        fmt( os, "%ls", str );
     207        return os;
     208} // ?|?
     209#endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
     210
     211forall( dtype ostype | ostream( ostype ) )
     212ostype & ?|?( ostype & os, const wchar_t * str ) {
     213        if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     214        fmt( os, "%ls", str );
     215        return os;
     216} // ?|?
    217217
    218218forall( dtype ostype | ostream( ostype ) )
  • src/libcfa/stdlib

    rff29f08 rf6f0cca3  
    1010// Created On       : Thu Jan 28 17:12:35 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 16 07:53:10 2018
    13 // Update Count     : 300
     12// Last Modified On : Tue Jan  2 12:21:04 2018
     13// Update Count     : 292
    1414//
    1515
    1616#pragma once
    1717
     18//#define _XOPEN_SOURCE 600                                                             // posix_memalign, *rand48
    1819#include <stdlib.h>                                                                             // strto*, *abs
    1920
     
    2728//---------------------------------------
    2829
    29 // C dynamic allocation
    30 static inline forall( dtype T | sized(T) ) {
    31         T * malloc( void ) {
    32                 // printf( "* malloc\n" );
    33                 return (T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
    34         } // malloc
    35 
    36         // T & malloc( void ) {
    37         //      int & p = *(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
    38         //      printf( "& malloc %p\n", &p );
    39         //      return p;
    40         //      //      return (T &)*(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
    41         // } // malloc
    42 
    43         T * calloc( size_t dim ) {
    44                 //printf( "X2\n" );
    45                 return (T *)(void *)calloc( dim, sizeof(T) );   // C calloc
    46         } // calloc
    47 
    48         T * realloc( T * ptr, size_t size ) {
    49                 //printf( "X3\n" );
    50                 return (T *)(void *)realloc( (void *)ptr, size );
    51         } // realloc
    52 
    53         extern "C" { void * memalign( size_t align, size_t size ); } // use default C routine for void *
    54         T * memalign( size_t align ) {
    55                 //printf( "X4\n" );
    56                 return (T *)memalign( align, sizeof(T) );
    57         } // memalign
    58 
    59         extern "C" { void * aligned_alloc( size_t align, size_t size ); } // use default C routine for void *
    60         T * aligned_alloc( size_t align ) {
    61                 //printf( "X5\n" );
    62                 return (T *)aligned_alloc( align, sizeof(T) );
    63         } // aligned_alloc
    64 
    65         int posix_memalign( T ** ptr, size_t align ) {
    66                 //printf( "X6\n" );
    67                 return posix_memalign( (void **)ptr, align, sizeof(T) ); // C posix_memalign
    68         } // posix_memalign
    69 
    70 
    71         // Cforall dynamic allocation
    72         extern "C" { void * memset( void * dest, int c, size_t size ); } // use default C routine for void *
    73 
    74         T * alloc( void ) {
    75                 //printf( "X7\n" );
    76                 return (T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
    77         } // alloc
    78 
    79         T * alloc( char fill ) {
    80                 //printf( "X8\n" );
    81                 T * ptr = (T *)(void *)malloc( (size_t)sizeof(T) );     // C malloc
    82                 return (T *)memset( ptr, (int)fill, sizeof(T) );        // initial with fill value
    83         } // alloc
    84 
    85         T * alloc( size_t dim ) {
    86                 //printf( "X9\n" );
    87                 return (T *)(void *)malloc( dim * (size_t)sizeof(T) ); // C malloc
    88         } // alloc
    89 
    90         T * alloc( size_t dim, char fill ) {
    91                 //printf( "X10\n" );
    92                 T * ptr = (T *)(void *)malloc( dim * (size_t)sizeof(T) ); // C malloc
    93                 return (T *)memset( ptr, (int)fill, dim * sizeof(T) );    // initial with fill value
    94         } // alloc
    95 
    96         T * alloc( T ptr[], size_t dim ) {
    97                 //printf( "X11\n" );
    98                 return (T *)(void *)realloc( (void *)ptr, dim * (size_t)sizeof(T) ); // C realloc
    99         } // alloc
    100 } // distribution
    101 
    102 
     30// allocation, non-array types
     31static inline forall( dtype T | sized(T) ) T * malloc( void ) {
     32        // printf( "* malloc\n" );
     33        return (T *)(void *)malloc( (size_t)sizeof(T) );        // C malloc
     34} // malloc
     35
     36// static inline forall( dtype T | sized(T) ) T & malloc( void ) {
     37//      int & p = *(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
     38//      printf( "& malloc %p\n", &p );
     39//      return p;
     40// //   return (T &)*(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc
     41// } // malloc
     42
     43extern "C" { void * calloc( size_t dim, size_t size ); } // default C routine
     44static inline forall( dtype T | sized(T) ) T * calloc( size_t dim ) {
     45        //printf( "X2\n" );
     46        return (T *)(void *)calloc( dim, sizeof(T) );           // C cmalloc
     47}
     48
     49extern "C" { void * realloc( void * ptr, size_t size ); } // default C routine for void *
     50static inline forall( dtype T | sized(T) ) T * realloc( T * ptr, size_t size ) {
     51        //printf( "X3\n" );
     52        return (T *)(void *)realloc( (void *)ptr, size );
     53}
     54
     55extern "C" { void * memalign( size_t align, size_t size ); } // use default C routine for void *
     56static inline forall( dtype T | sized(T) ) T * memalign( size_t align ) {
     57        //printf( "X4\n" );
     58        return (T *)memalign( align, sizeof(T) );
     59} // memalign
     60
     61static inline forall( dtype T | sized(T) ) T * aligned_alloc( size_t align ) {
     62        //printf( "X5\n" );
     63        return (T *)memalign( align, sizeof(T) );
     64} // aligned_alloc
     65
     66extern "C" { int posix_memalign( void ** ptr, size_t align, size_t size ); } // use default C routine for void *
     67static inline forall( dtype T | sized(T) ) int posix_memalign( T ** ptr, size_t align ) {
     68        //printf( "X6\n" );
     69        return posix_memalign( (void **)ptr, align, sizeof(T) );
     70} // posix_memalign
     71
     72
     73extern "C" { void * memset( void * dest, int c, size_t size ); } // use default C routine for void *
     74
     75static inline forall( dtype T | sized(T) ) T * alloc( void ) {
     76        //printf( "X7\n" );
     77        return (T *)(void *)malloc( (size_t)sizeof(T) );        // C malloc
     78} // alloc
     79static inline forall( dtype T | sized(T) ) T * alloc( char fill ) {
     80        //printf( "X8\n" );
     81        T * ptr = (T *)(void *)malloc( (size_t)sizeof(T) );     // C malloc
     82    return (T *)memset( ptr, (int)fill, sizeof(T) );    // initial with fill value
     83} // alloc
     84
     85static inline forall( dtype T | sized(T) ) T * alloc( size_t dim ) {
     86        //printf( "X9\n" );
     87        return (T *)(void *)malloc( dim * (size_t)sizeof(T) ); // C malloc
     88} // alloc
     89static inline forall( dtype T | sized(T) ) T * alloc( size_t dim, char fill ) {
     90        //printf( "X10\n" );
     91        T * ptr = (T *)(void *)malloc( dim * (size_t)sizeof(T) ); // C malloc
     92    return (T *)memset( ptr, (int)fill, dim * sizeof(T) );
     93} // alloc
     94
     95static inline forall( dtype T | sized(T) ) T * alloc( T ptr[], size_t dim ) {
     96        //printf( "X11\n" );
     97        return (T *)(void *)realloc( (void *)ptr, dim * (size_t)sizeof(T) ); // C realloc
     98} // alloc
    10399forall( dtype T | sized(T) ) T * alloc( T ptr[], size_t dim, char fill );
    104100
  • src/libcfa/time.c

    rff29f08 rf6f0cca3  
    1010// Created On       : Tue Mar 27 13:33:14 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May  6 22:26:00 2018
    13 // Update Count     : 37
     12// Last Modified On : Thu Apr 12 14:41:00 2018
     13// Update Count     : 22
    1414//
    1515
     
    1717#include "iostream"
    1818#include <stdio.h>                                                                              // snprintf
    19 #include <assert.h>
    2019
    2120static char * nanomsd( long int ns, char * buf ) {              // most significant digits
     
    8887        time_t s = tv / TIMEGRAN;
    8988        tm tm;
    90         gmtime_r( &s, &tm );                                                            // tm_mon <= 11, tm_mday <= 31
    91 #if defined(__GNUC__) && __GNUC__ >= 7
    92 #pragma GCC diagnostic push
    93 #pragma GCC diagnostic ignored "-Wformat-truncation"
    94 #endif
     89        gmtime_r( &s, &tm );
    9590        snprintf( buf, 9, "%02d/%02d/%02d", tm.tm_year % 99, tm.tm_mon + 1, tm.tm_mday );
    96 #if defined(__GNUC__) && __GNUC__ >= 7
    97 #pragma GCC diagnostic pop
    98 #endif
    9991        return buf;
    10092} // yy_mm_dd
     
    10395        time_t s = tv / TIMEGRAN;
    10496        tm tm;
    105         gmtime_r( &s, &tm );                                                            // tm_mon <= 11, tm_mday <= 31
    106 #if defined(__GNUC__) && __GNUC__ >= 7
    107 #pragma GCC diagnostic push
    108 #pragma GCC diagnostic ignored "-Wformat-truncation"
    109 #endif
     97        gmtime_r( &s, &tm );
    11098        snprintf( buf, 9, "%02d/%02d/%02d", tm.tm_mon + 1, tm.tm_mday, tm.tm_year % 99 );
    111 #if defined(__GNUC__) && __GNUC__ >= 7
    112 #pragma GCC diagnostic pop
    113 #endif
    11499        return buf;
    115100} // mm_dd_yy
     
    118103        time_t s = tv / TIMEGRAN;
    119104        tm tm;
    120         gmtime_r( &s, &tm );                                                            // tm_mon <= 11, tm_mday <= 31
    121 #if defined(__GNUC__) && __GNUC__ >= 7
    122 #pragma GCC diagnostic push
    123 #pragma GCC diagnostic ignored "-Wformat-truncation"
    124 #endif
     105        gmtime_r( &s, &tm );
    125106        snprintf( buf, 9, "%02d/%02d/%02d", tm.tm_mday, tm.tm_mon + 1, tm.tm_year % 99 );
    126 #if defined(__GNUC__) && __GNUC__ >= 7
    127 #pragma GCC diagnostic pop
    128 #endif
    129107        return buf;
    130108} // dd_mm_yy
  • src/main.cc

    rff29f08 rf6f0cca3  
    1111// Created On       : Fri May 15 23:12:02 2015
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Mon May  7 14:35:57 2018
    14 // Update Count     : 492
     13// Last Modified On : Tue Oct 31 12:22:40 2017
     14// Update Count     : 445
    1515//
    1616
     
    3535#include "CodeTools/DeclStats.h"            // for printDeclStats
    3636#include "CodeTools/TrackLoc.h"             // for fillLocations
     37#include "Common/PassVisitor.h"
    3738#include "Common/CompilerError.h"           // for CompilerError
    38 #include "Common/GC.h"                      // for GC
    39 #include "Common/Heap.h"
    40 #include "Common/PassVisitor.h"
     39#include "Common/GC.h"                                          // for GC
    4140#include "Common/SemanticError.h"           // for SemanticError
    4241#include "Common/UnimplementedError.h"      // for UnimplementedError
     
    6665using namespace std;
    6766
    68 #define PASS(name, pass)                   \
    69         if ( errorp ) { cerr << name << endl; } \
    70         HeapStats::newPass(name);               \
    71         pass;
     67#define OPTPRINT(x) if ( errorp ) cerr << x << endl;
    7268
    7369LinkageSpec::Spec linkage = LinkageSpec::Cforall;
     
    246242
    247243                // add the assignment statement after the initialization of a type parameter
    248                 PASS( "validate", SymTab::validate( translationUnit, symtabp ) );
     244                OPTPRINT( "validate" )
     245                SymTab::validate( translationUnit, symtabp );
    249246                if ( symtabp ) return 0;
    250247                collect( translationUnit );
     
    261258                } // if
    262259
    263                 PASS( "mutate", ControlStruct::mutate( translationUnit ) );
    264                 PASS( "fixNames", CodeGen::fixNames( translationUnit ) );
    265                 PASS( "genInit", InitTweak::genInit( translationUnit ) );
    266                 PASS( "expandMemberTuples" , Tuples::expandMemberTuples( translationUnit ) );
     260                OPTPRINT( "mutate" )
     261                ControlStruct::mutate( translationUnit );
     262                OPTPRINT( "fixNames" )
     263                CodeGen::fixNames( translationUnit );
     264                OPTPRINT( "genInit" )
     265                InitTweak::genInit( translationUnit );
     266                OPTPRINT( "expandMemberTuples" );
     267                Tuples::expandMemberTuples( translationUnit );
    267268                collect( translationUnit );
    268269                if ( libcfap ) {
     
    283284                CodeTools::fillLocations( translationUnit );
    284285
    285                 PASS( "resolve", ResolvExpr::resolve( translationUnit ) );
     286                OPTPRINT( "resolve" )
     287                ResolvExpr::resolve( translationUnit );
    286288                collect( translationUnit );
    287289                if ( exprp ) {
     
    291293
    292294                // fix ObjectDecl - replaces ConstructorInit nodes
    293                 PASS( "fixInit", InitTweak::fix( translationUnit, filename, libcfap || treep ) );
     295                OPTPRINT( "fixInit" )
     296                InitTweak::fix( translationUnit, filename, libcfap || treep );
    294297                collect( translationUnit );
    295298                if ( ctorinitp ) {
     
    298301                } // if
    299302
    300                 PASS( "expandUniqueExpr", Tuples::expandUniqueExpr( translationUnit ) ); // xxx - is this the right place for this? want to expand ASAP so tha, sequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused
     303                OPTPRINT( "expandUniqueExpr" ); // xxx - is this the right place for this? want to expand ASAP so that subsequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused
    301304                Tuples::expandUniqueExpr( translationUnit );
    302305
    303                 PASS( "translateEHM" , ControlStruct::translateEHM( translationUnit ) );
    304 
    305                 PASS( "generateWaitfor" , Concurrency::generateWaitFor( translationUnit ) );
    306 
    307                 PASS( "convertSpecializations",  GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded
    308 
    309                 PASS( "expandTuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this?
     306                OPTPRINT( "translateEHM" );
     307                ControlStruct::translateEHM( translationUnit );
     308
     309                OPTPRINT( "generateWaitfor" );
     310                Concurrency::generateWaitFor( translationUnit );
     311
     312                OPTPRINT( "convertSpecializations" ) // needs to happen before tuple types are expanded
     313                GenPoly::convertSpecializations( translationUnit );
     314
     315                OPTPRINT( "expandTuples" ); // xxx - is this the right place for this?
     316                Tuples::expandTuples( translationUnit );
    310317                collect( translationUnit );
    311318                if ( tuplep ) {
     
    314321                }
    315322
    316                 PASS( "virtual expandCasts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM
    317 
    318                 PASS( "instantiateGenerics", GenPoly::instantiateGeneric( translationUnit ) );
     323                OPTPRINT( "virtual expandCasts" ) // Must come after translateEHM
     324                Virtual::expandCasts( translationUnit );
     325
     326                OPTPRINT("instantiateGenerics")
     327                GenPoly::instantiateGeneric( translationUnit );
    319328                collect( translationUnit );
    320329                if ( genericsp ) {
     
    322331                        return 0;
    323332                }
    324                 PASS( "convertLvalue", GenPoly::convertLvalue( translationUnit ) );
     333
     334                OPTPRINT( "convertLvalue" )
     335                GenPoly::convertLvalue( translationUnit );
    325336                collect( translationUnit );
    326337                if ( bboxp ) {
     
    328339                        return 0;
    329340                } // if
    330                 PASS( "box", GenPoly::box( translationUnit ) );
     341
     342                OPTPRINT( "box" )
     343                GenPoly::box( translationUnit );
    331344                collect( translationUnit );
    332345                if ( bcodegenp ) {
     
    340353
    341354                CodeTools::fillLocations( translationUnit );
    342                 PASS( "codegen", CodeGen::generate( translationUnit, *output, ! noprotop, prettycodegenp, true, linemarks ) );
     355                OPTPRINT( "codegen" )
     356                CodeGen::generate( translationUnit, *output, ! noprotop, prettycodegenp, true, linemarks );
    343357
    344358                CodeGen::FixMain::fix( *output, treep ? "../prelude/bootloader.c" : CFA_LIBDIR "/bootloader.c" );
     359                OPTPRINT( "end" )
     360
    345361                if ( output != &cout ) {
    346362                        delete output;
     
    370386                } // if
    371387                return 1;
    372         } catch(...) {
    373                 std::exception_ptr eptr = std::current_exception();
    374                 try {
    375                         if (eptr) {
    376                                 std::rethrow_exception(eptr);
    377                         }
    378                         else {
    379                                 std::cerr << "Exception Uncaught and Unkown" << std::endl;
    380                         }
    381                 } catch(const std::exception& e) {
    382                         std::cerr << "Unaught Exception \"" << e.what() << "\"\n";
    383                 }
    384                 return 1;
    385         }// try
    386 
    387         if(!libcfap && !treep) HeapStats::printStats();
     388        } // try
     389
    388390        return 0;
    389391} // main
     
    418420        opterr = 0;                                                                                     // (global) prevent getopt from printing error messages
    419421
    420         bool Wsuppress = false, Werror = false;
    421422        int c;
    422         while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) {
     423        while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrstTvyzZD:F:", long_opts, &long_index )) != -1 ) {
    423424                switch ( c ) {
    424425                  case Ast:
     
    456457                        yydebug = true;
    457458                        break;
    458                   case 'G':                                                                             // dump AST after instantiate generics
     459                  case 'G':                   // dump AST after instantiate generics
    459460                        genericsp = true;
    460461                        break;
     
    504505                  case 'v':                                                                             // dump AST after decl validation pass
    505506                        validp = true;
    506                         break;
    507                   case 'w':
    508                         Wsuppress = true;
    509                         break;
    510                   case 'W':
    511                         if ( strcmp( optarg, "all" ) == 0 ) {
    512                                 SemanticWarning_EnableAll();
    513                         } else if ( strcmp( optarg, "error" ) == 0 ) {
    514                                 Werror = true;
    515                         } else {
    516                                 char * warning = optarg;
    517                                 Severity s;
    518                                 if ( strncmp( optarg, "no-", 3 ) == 0 ) {
    519                                         warning += 3;
    520                                         s = Severity::Suppress;
    521                                 } else {
    522                                         s = Severity::Warn;
    523                                 } // if
    524                                 SemanticWarning_Set( warning, s );
    525                         } // if
    526507                        break;
    527508                  case 'y':                                                                             // dump AST on error
     
    545526                                assertf( false, "Unknown option: %s\n", argv[optind - 1] );
    546527                        } // if
    547                         #if defined(__GNUC__) && __GNUC__ >= 7
     528                        #if __GNUC__ < 7
     529                        #else
    548530                                __attribute__((fallthrough));
    549531                        #endif
     
    552534                } // switch
    553535        } // while
    554 
    555         if ( Werror ) {
    556                 SemanticWarning_WarningAsError();
    557         } // if
    558         if ( Wsuppress ) {
    559                 SemanticWarning_SuppressAll();
    560         } // if
    561         // for ( const auto w : WarningFormats ) {
    562         //      cout << w.name << ' ' << (int)w.severity << endl;
    563         // } // for
    564536} // parse_cmdline
    565537
  • src/prelude/prelude.cf

    rff29f08 rf6f0cca3  
    77// Created On       : Sat Nov 29 07:23:41 2014
    88// Last Modified By : Peter A. Buhr
    9 // Last Modified On : Sun Apr 22 13:21:47 2018
    10 // Update Count     : 103
     9// Last Modified On : Sat Oct 28 16:33:09 2017
     10// Update Count     : 102
    1111//
    1212
     
    142142                !?( float _Complex ),           !?( double _Complex ),          !?( long double _Complex );
    143143
    144 forall( dtype DT ) int !?(                DT * );
    145 forall( dtype DT ) int !?( const          DT * );
    146 forall( dtype DT ) int !?(       volatile DT * );
    147 forall( dtype DT ) int !?( const volatile DT * );
    148 forall( ftype FT ) int !?( FT * );
     144forall ( dtype DT ) int !?(                DT * );
     145forall ( dtype DT ) int !?( const          DT * );
     146forall ( dtype DT ) int !?(       volatile DT * );
     147forall ( dtype DT ) int !?( const volatile DT * );
     148forall ( ftype FT ) int !?( FT * );
    149149
    150150// ------------------------------------------------------------
  • src/tests/.expect/literals.x64.txt

    rff29f08 rf6f0cca3  
    2020void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Xr__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object558), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object559), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object560, _Bool __anonymous_object561), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object562), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object563, const char *__anonymous_object564), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object565), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object566, _Bool __anonymous_object567), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object568), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object569), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object570), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object571), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object572), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object573, const char *__anonymous_object574), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object575), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object576, const char *__anonymous_object577), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object578), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object579), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object580, const char *__anonymous_object581, unsigned long int __anonymous_object582), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object583, const char *__fmt__PCc_1, ...), void *__anonymous_object584, long double _Complex __anonymous_object585);
    2121void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object586), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object587), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object588, _Bool __anonymous_object589), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object590), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object591, const char *__anonymous_object592), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object593), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object594, _Bool __anonymous_object595), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object596), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object597), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object598), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object599), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object600), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object601, const char *__anonymous_object602), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object603), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object604, const char *__anonymous_object605), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object606), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object607), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object608, const char *__anonymous_object609, unsigned long int __anonymous_object610), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object611, const char *__fmt__PCc_1, ...), void *__anonymous_object612, const char *__anonymous_object613);
    22 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const void *__anonymous_object641);
    23 void *___operator_bitor__A0_2_0_1____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_bitor__PFRd0_Rd0tVARGS2__FRd0_Rd0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object642)(), void *__anonymous_object643, void *__anonymous_object644), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object645)(), void *__anonymous_object646, void *__anonymous_object647), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object648)(), void *__anonymous_object649, void *__anonymous_object650), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object651)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object652, void *__anonymous_object653), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object654, void *__anonymous_object655), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object657, void *__anonymous_object658), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object659), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype2tT__1)(void *__anonymous_object660, void *__anonymous_object661), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object664, _Bool __anonymous_object665), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object666), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object667, const char *__anonymous_object668), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object669), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object670, _Bool __anonymous_object671), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object672), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object673), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object675), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object676), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object677, const char *__anonymous_object678), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object679), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object680, const char *__anonymous_object681), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object684, const char *__anonymous_object685, unsigned long int __anonymous_object686), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object687, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype7tParams__1)(void *__anonymous_object688, void *__anonymous_object689), void *__os__R7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
    24 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object692, _Bool __anonymous_object693), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object694), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object695, const char *__anonymous_object696), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object697), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object698, _Bool __anonymous_object699), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object700), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object701), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object703), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object704), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object705, const char *__anonymous_object706), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object707), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object708, const char *__anonymous_object709), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object712, const char *__anonymous_object713, unsigned long int __anonymous_object714), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object715, const char *__fmt__PCc_1, ...), void *__anonymous_object716, void *(*__anonymous_object717)(void *__anonymous_object718));
    25 void *__endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object720), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object721, _Bool __anonymous_object722), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object723), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object724, const char *__anonymous_object725), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object726), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object727, _Bool __anonymous_object728), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object733), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object734, const char *__anonymous_object735), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object736), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object737, const char *__anonymous_object738), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object741, const char *__anonymous_object742, unsigned long int __anonymous_object743), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object744, const char *__fmt__PCc_1, ...), void *__anonymous_object745);
    26 void *__sep__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), void *__anonymous_object772);
    27 void *__sepTuple__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object773), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object775, _Bool __anonymous_object776), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object777), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object778, const char *__anonymous_object779), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object780), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object781, _Bool __anonymous_object782), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object783), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object788, const char *__anonymous_object789), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object790), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object791, const char *__anonymous_object792), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object793), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object795, const char *__anonymous_object796, unsigned long int __anonymous_object797), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object798, const char *__fmt__PCc_1, ...), void *__anonymous_object799);
    28 void *__sepOn__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object800), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object801), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object802, _Bool __anonymous_object803), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object805, const char *__anonymous_object806), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object808, _Bool __anonymous_object809), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object811), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object812), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object815, const char *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object821), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object822, const char *__anonymous_object823, unsigned long int __anonymous_object824), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object825, const char *__fmt__PCc_1, ...), void *__anonymous_object826);
    29 void *__sepOff__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object827), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object828), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object829, _Bool __anonymous_object830), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object832, const char *__anonymous_object833), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object835, _Bool __anonymous_object836), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object838), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object839), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object842, const char *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object848), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object849, const char *__anonymous_object850, unsigned long int __anonymous_object851), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object852, const char *__fmt__PCc_1, ...), void *__anonymous_object853);
    30 void *__sepDisable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object854), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object855), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object856, _Bool __anonymous_object857), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object859, const char *__anonymous_object860), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object862, _Bool __anonymous_object863), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object865), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object866), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object869, const char *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object875), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object876, const char *__anonymous_object877, unsigned long int __anonymous_object878), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object879, const char *__fmt__PCc_1, ...), void *__anonymous_object880);
    31 void *__sepEnable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object881), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object882), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object883, _Bool __anonymous_object884), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object886, const char *__anonymous_object887), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object889, _Bool __anonymous_object890), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object892), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object893), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object896, const char *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object902), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object903, const char *__anonymous_object904, unsigned long int __anonymous_object905), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object906, const char *__fmt__PCc_1, ...), void *__anonymous_object907);
    32 void __write__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object908)(), void *__anonymous_object909), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object910)(), void *__anonymous_object911, void *__anonymous_object912), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object913)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object914), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object915)(), void *__anonymous_object916, void *__anonymous_object917), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object918)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object919, void *__anonymous_object920), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object921)(), void *__anonymous_object922, void *__anonymous_object923), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object924)(), void *__anonymous_object925, void *__anonymous_object926), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object927)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object928, void *__anonymous_object929), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object930, void *__anonymous_object931), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object933, void *__anonymous_object934), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object935), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object936, void *__anonymous_object937), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object964, void *__anonymous_object965), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object969), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object970), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object971), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object974, void *__anonymous_object975), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object976), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
    33 void __write_reverse__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object977)(), void *__anonymous_object978), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object979)(), void *__anonymous_object980, void *__anonymous_object981), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object982)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object983), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object984)(), void *__anonymous_object985, void *__anonymous_object986), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object987)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object988, void *__anonymous_object989), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object990)(), void *__anonymous_object991, void *__anonymous_object992), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object993)(), void *__anonymous_object994, void *__anonymous_object995), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object996)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object997, void *__anonymous_object998), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object999, void *__anonymous_object1000), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1002, void *__anonymous_object1003), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1004), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1005, void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1009, _Bool __anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1015, _Bool __anonymous_object1016), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1017), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1018), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1019), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1020), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1021), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1022, const char *__anonymous_object1023), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1024), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1025, const char *__anonymous_object1026), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1028), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1029, const char *__anonymous_object1030, unsigned long int __anonymous_object1031), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1032, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1033, void *__anonymous_object1034), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1035), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1038), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1039), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1040), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1043, void *__anonymous_object1044), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1045), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
    34 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rb__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1046), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1047), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1048, char *__anonymous_object1049, unsigned long int __anonymous_object1050), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1051, char __anonymous_object1052), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1053, const char *__fmt__PCc_1, ...), void *__anonymous_object1054, _Bool *__anonymous_object1055);
    35 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1056), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1058, char *__anonymous_object1059, unsigned long int __anonymous_object1060), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1061, char __anonymous_object1062), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1063, const char *__fmt__PCc_1, ...), void *__anonymous_object1064, char *__anonymous_object1065);
    36 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RSc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1066), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1068, char *__anonymous_object1069, unsigned long int __anonymous_object1070), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1071, char __anonymous_object1072), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1073, const char *__fmt__PCc_1, ...), void *__anonymous_object1074, signed char *__anonymous_object1075);
    37 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1076), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1078, char *__anonymous_object1079, unsigned long int __anonymous_object1080), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1081, char __anonymous_object1082), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1083, const char *__fmt__PCc_1, ...), void *__anonymous_object1084, unsigned char *__anonymous_object1085);
    38 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1086), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1087), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1088, char *__anonymous_object1089, unsigned long int __anonymous_object1090), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1091, char __anonymous_object1092), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1093, const char *__fmt__PCc_1, ...), void *__anonymous_object1094, signed short int *__anonymous_object1095);
    39 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1097), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1098, char *__anonymous_object1099, unsigned long int __anonymous_object1100), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1101, char __anonymous_object1102), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1103, const char *__fmt__PCc_1, ...), void *__anonymous_object1104, unsigned short int *__anonymous_object1105);
    40 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Ri__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1106), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1107), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1108, char *__anonymous_object1109, unsigned long int __anonymous_object1110), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1111, char __anonymous_object1112), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1113, const char *__fmt__PCc_1, ...), void *__anonymous_object1114, signed int *__anonymous_object1115);
    41 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUi__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1116), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1117), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1118, char *__anonymous_object1119, unsigned long int __anonymous_object1120), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1121, char __anonymous_object1122), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1123, const char *__fmt__PCc_1, ...), void *__anonymous_object1124, unsigned int *__anonymous_object1125);
    42 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1126), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1127), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1128, char *__anonymous_object1129, unsigned long int __anonymous_object1130), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1131, char __anonymous_object1132), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1133, const char *__fmt__PCc_1, ...), void *__anonymous_object1134, signed long int *__anonymous_object1135);
    43 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1136), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1137), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1138, char *__anonymous_object1139, unsigned long int __anonymous_object1140), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1141, char __anonymous_object1142), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1143, const char *__fmt__PCc_1, ...), void *__anonymous_object1144, signed long long int *__anonymous_object1145);
    44 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1146), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1147), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1148, char *__anonymous_object1149, unsigned long int __anonymous_object1150), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1151, char __anonymous_object1152), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1153, const char *__fmt__PCc_1, ...), void *__anonymous_object1154, unsigned long int *__anonymous_object1155);
    45 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1156), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1157), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1158, char *__anonymous_object1159, unsigned long int __anonymous_object1160), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1161, char __anonymous_object1162), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1163, const char *__fmt__PCc_1, ...), void *__anonymous_object1164, unsigned long long int *__anonymous_object1165);
    46 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1166), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1167), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1168, char *__anonymous_object1169, unsigned long int __anonymous_object1170), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1171, char __anonymous_object1172), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1173, const char *__fmt__PCc_1, ...), void *__anonymous_object1174, float *__anonymous_object1175);
    47 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1176), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1177), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1178, char *__anonymous_object1179, unsigned long int __anonymous_object1180), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1181, char __anonymous_object1182), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1183, const char *__fmt__PCc_1, ...), void *__anonymous_object1184, double *__anonymous_object1185);
    48 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1186), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1187), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1188, char *__anonymous_object1189, unsigned long int __anonymous_object1190), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1191, char __anonymous_object1192), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1193, const char *__fmt__PCc_1, ...), void *__anonymous_object1194, long double *__anonymous_object1195);
    49 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1196), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1197), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1198, char *__anonymous_object1199, unsigned long int __anonymous_object1200), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1201, char __anonymous_object1202), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1203, const char *__fmt__PCc_1, ...), void *__anonymous_object1204, float _Complex *__anonymous_object1205);
    50 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1206), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1207), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1208, char *__anonymous_object1209, unsigned long int __anonymous_object1210), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1211, char __anonymous_object1212), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1213, const char *__fmt__PCc_1, ...), void *__anonymous_object1214, double _Complex *__anonymous_object1215);
    51 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1216), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1217), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1218, char *__anonymous_object1219, unsigned long int __anonymous_object1220), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1221, char __anonymous_object1222), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1223, const char *__fmt__PCc_1, ...), void *__anonymous_object1224, long double _Complex *__anonymous_object1225);
    52 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1226), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1227), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1228, char *__anonymous_object1229, unsigned long int __anonymous_object1230), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1231, char __anonymous_object1232), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1233, const char *__fmt__PCc_1, ...), void *__anonymous_object1234, void *(*__anonymous_object1235)(void *__anonymous_object1236));
    53 void *__endl__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1237), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1238), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1239, char *__anonymous_object1240, unsigned long int __anonymous_object1241), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1242, char __anonymous_object1243), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1244, const char *__fmt__PCc_1, ...), void *__is__R7tistype_1);
     22void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCUs__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const unsigned short int *__anonymous_object641);
     23void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCUi__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object642), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object643), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object644, _Bool __anonymous_object645), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object646), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object647, const char *__anonymous_object648), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object649), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object650, _Bool __anonymous_object651), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object652), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object653), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object654), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object655), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object657, const char *__anonymous_object658), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object659), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object660, const char *__anonymous_object661), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object664, const char *__anonymous_object665, unsigned long int __anonymous_object666), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object667, const char *__fmt__PCc_1, ...), void *__anonymous_object668, const unsigned int *__anonymous_object669);
     24void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCi__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object670), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object671), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object672, _Bool __anonymous_object673), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object675, const char *__anonymous_object676), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object677), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object678, _Bool __anonymous_object679), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object680), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object681), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object684), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object685, const char *__anonymous_object686), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object687), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object688, const char *__anonymous_object689), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object692, const char *__anonymous_object693, unsigned long int __anonymous_object694), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object695, const char *__fmt__PCc_1, ...), void *__anonymous_object696, const signed int *__anonymous_object697);
     25void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object698), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object699), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object700, _Bool __anonymous_object701), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object703, const char *__anonymous_object704), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object705), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object706, _Bool __anonymous_object707), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object708), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object709), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object712), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object713, const char *__anonymous_object714), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object715), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object716, const char *__anonymous_object717), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object718), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object720, const char *__anonymous_object721, unsigned long int __anonymous_object722), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object723, const char *__fmt__PCc_1, ...), void *__anonymous_object724, const void *__anonymous_object725);
     26void *___operator_bitor__A0_2_0_1____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_bitor__PFRd0_Rd0tVARGS2__FRd0_Rd0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object726)(), void *__anonymous_object727, void *__anonymous_object728), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object729)(), void *__anonymous_object730, void *__anonymous_object731), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object732)(), void *__anonymous_object733, void *__anonymous_object734), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object735)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object736, void *__anonymous_object737), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object738, void *__anonymous_object739), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object741, void *__anonymous_object742), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object743), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype2tT__1)(void *__anonymous_object744, void *__anonymous_object745), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype7tParams__1)(void *__anonymous_object772, void *__anonymous_object773), void *__os__R7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
     27void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object775), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object776, _Bool __anonymous_object777), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object778), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object779, const char *__anonymous_object780), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object781), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object782, _Bool __anonymous_object783), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object788), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object789, const char *__anonymous_object790), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object791), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object792, const char *__anonymous_object793), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object795), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object796, const char *__anonymous_object797, unsigned long int __anonymous_object798), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object799, const char *__fmt__PCc_1, ...), void *__anonymous_object800, void *(*__anonymous_object801)(void *__anonymous_object802));
     28void *__endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object803), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object805, _Bool __anonymous_object806), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object808, const char *__anonymous_object809), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object811, _Bool __anonymous_object812), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object815), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object821, const char *__anonymous_object822), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object823), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object824), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object825, const char *__anonymous_object826, unsigned long int __anonymous_object827), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object828, const char *__fmt__PCc_1, ...), void *__anonymous_object829);
     29void *__sep__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object830), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object832, _Bool __anonymous_object833), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object835, const char *__anonymous_object836), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object838, _Bool __anonymous_object839), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object842), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object848, const char *__anonymous_object849), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object850), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object851), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object852, const char *__anonymous_object853, unsigned long int __anonymous_object854), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object855, const char *__fmt__PCc_1, ...), void *__anonymous_object856);
     30void *__sepTuple__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object857), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object859, _Bool __anonymous_object860), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object862, const char *__anonymous_object863), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object865, _Bool __anonymous_object866), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object869), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object875, const char *__anonymous_object876), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object877), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object878), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object879, const char *__anonymous_object880, unsigned long int __anonymous_object881), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object882, const char *__fmt__PCc_1, ...), void *__anonymous_object883);
     31void *__sepOn__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object884), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object886, _Bool __anonymous_object887), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object889, const char *__anonymous_object890), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object892, _Bool __anonymous_object893), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object896), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object902, const char *__anonymous_object903), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object904), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object905), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object906, const char *__anonymous_object907, unsigned long int __anonymous_object908), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object909, const char *__fmt__PCc_1, ...), void *__anonymous_object910);
     32void *__sepOff__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object911), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object912), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object913, _Bool __anonymous_object914), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object915), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object916, const char *__anonymous_object917), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object918), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object919, _Bool __anonymous_object920), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object921), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object922), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object923), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object924), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object925), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object926, const char *__anonymous_object927), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object928), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object929, const char *__anonymous_object930), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object931), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object933, const char *__anonymous_object934, unsigned long int __anonymous_object935), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object936, const char *__fmt__PCc_1, ...), void *__anonymous_object937);
     33void *__sepDisable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), void *__anonymous_object964);
     34void *__sepEnable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object965), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object967, _Bool __anonymous_object968), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object969), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object970, const char *__anonymous_object971), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object972), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object973, _Bool __anonymous_object974), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object975), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object976), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object977), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object978), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object979), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object980, const char *__anonymous_object981), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object982), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object983, const char *__anonymous_object984), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object985), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object986), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object987, const char *__anonymous_object988, unsigned long int __anonymous_object989), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object990, const char *__fmt__PCc_1, ...), void *__anonymous_object991);
     35void __write__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object992)(), void *__anonymous_object993), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object994)(), void *__anonymous_object995, void *__anonymous_object996), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object997)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object998), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object999)(), void *__anonymous_object1000, void *__anonymous_object1001), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1002)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1003, void *__anonymous_object1004), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1005)(), void *__anonymous_object1006, void *__anonymous_object1007), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1008)(), void *__anonymous_object1009, void *__anonymous_object1010), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1011)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1012, void *__anonymous_object1013), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1014, void *__anonymous_object1015), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1016), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1017, void *__anonymous_object1018), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1019), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1020, void *__anonymous_object1021), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1022), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1023), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1024, _Bool __anonymous_object1025), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1026), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1027, const char *__anonymous_object1028), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1029), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1030, _Bool __anonymous_object1031), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1032), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1033), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1034), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1035), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1036), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1037, const char *__anonymous_object1038), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1039), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1040, const char *__anonymous_object1041), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1042), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1043), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1044, const char *__anonymous_object1045, unsigned long int __anonymous_object1046), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1047, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1048, void *__anonymous_object1049), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1050), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1051, void *__anonymous_object1052), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1053), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1054), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1055), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1056, void *__anonymous_object1057), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1058, void *__anonymous_object1059), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1060), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
     36void __write_reverse__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object1061)(), void *__anonymous_object1062), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object1063)(), void *__anonymous_object1064, void *__anonymous_object1065), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object1066)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object1067), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object1068)(), void *__anonymous_object1069, void *__anonymous_object1070), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1071)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1072, void *__anonymous_object1073), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1074)(), void *__anonymous_object1075, void *__anonymous_object1076), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1077)(), void *__anonymous_object1078, void *__anonymous_object1079), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1080)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1081, void *__anonymous_object1082), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1083, void *__anonymous_object1084), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1085), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1086, void *__anonymous_object1087), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1088), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1089, void *__anonymous_object1090), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1091), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1092), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1093, _Bool __anonymous_object1094), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1095), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1096, const char *__anonymous_object1097), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1098), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1099, _Bool __anonymous_object1100), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1101), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1102), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1103), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1104), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1105), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1106, const char *__anonymous_object1107), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1108), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1109, const char *__anonymous_object1110), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1111), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1112), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1113, const char *__anonymous_object1114, unsigned long int __anonymous_object1115), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1116, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1117, void *__anonymous_object1118), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1119), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1120, void *__anonymous_object1121), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1122), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1123), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1124), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1125, void *__anonymous_object1126), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1127, void *__anonymous_object1128), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1129), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
     37void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rb__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1130), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1131), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1132, char *__anonymous_object1133, unsigned long int __anonymous_object1134), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1135, char __anonymous_object1136), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1137, const char *__fmt__PCc_1, ...), void *__anonymous_object1138, _Bool *__anonymous_object1139);
     38void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1140), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1141), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1142, char *__anonymous_object1143, unsigned long int __anonymous_object1144), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1145, char __anonymous_object1146), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1147, const char *__fmt__PCc_1, ...), void *__anonymous_object1148, char *__anonymous_object1149);
     39void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RSc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1150), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1151), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1152, char *__anonymous_object1153, unsigned long int __anonymous_object1154), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1155, char __anonymous_object1156), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1157, const char *__fmt__PCc_1, ...), void *__anonymous_object1158, signed char *__anonymous_object1159);
     40void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1160), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1161), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1162, char *__anonymous_object1163, unsigned long int __anonymous_object1164), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1165, char __anonymous_object1166), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1167, const char *__fmt__PCc_1, ...), void *__anonymous_object1168, unsigned char *__anonymous_object1169);
     41void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1170), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1171), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1172, char *__anonymous_object1173, unsigned long int __anonymous_object1174), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1175, char __anonymous_object1176), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1177, const char *__fmt__PCc_1, ...), void *__anonymous_object1178, signed short int *__anonymous_object1179);
     42void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1180), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1181), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1182, char *__anonymous_object1183, unsigned long int __anonymous_object1184), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1185, char __anonymous_object1186), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1187, const char *__fmt__PCc_1, ...), void *__anonymous_object1188, unsigned short int *__anonymous_object1189);
     43void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Ri__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1190), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1191), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1192, char *__anonymous_object1193, unsigned long int __anonymous_object1194), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1195, char __anonymous_object1196), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1197, const char *__fmt__PCc_1, ...), void *__anonymous_object1198, signed int *__anonymous_object1199);
     44void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUi__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1200), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1201), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1202, char *__anonymous_object1203, unsigned long int __anonymous_object1204), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1205, char __anonymous_object1206), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1207, const char *__fmt__PCc_1, ...), void *__anonymous_object1208, unsigned int *__anonymous_object1209);
     45void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1210), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1211), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1212, char *__anonymous_object1213, unsigned long int __anonymous_object1214), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1215, char __anonymous_object1216), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1217, const char *__fmt__PCc_1, ...), void *__anonymous_object1218, signed long int *__anonymous_object1219);
     46void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1220), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1221), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1222, char *__anonymous_object1223, unsigned long int __anonymous_object1224), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1225, char __anonymous_object1226), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1227, const char *__fmt__PCc_1, ...), void *__anonymous_object1228, signed long long int *__anonymous_object1229);
     47void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1230), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1231), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1232, char *__anonymous_object1233, unsigned long int __anonymous_object1234), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1235, char __anonymous_object1236), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1237, const char *__fmt__PCc_1, ...), void *__anonymous_object1238, unsigned long int *__anonymous_object1239);
     48void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1240), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1241), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1242, char *__anonymous_object1243, unsigned long int __anonymous_object1244), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1245, char __anonymous_object1246), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1247, const char *__fmt__PCc_1, ...), void *__anonymous_object1248, unsigned long long int *__anonymous_object1249);
     49void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1250), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1251), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1252, char *__anonymous_object1253, unsigned long int __anonymous_object1254), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1255, char __anonymous_object1256), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1257, const char *__fmt__PCc_1, ...), void *__anonymous_object1258, float *__anonymous_object1259);
     50void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1260), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1261), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1262, char *__anonymous_object1263, unsigned long int __anonymous_object1264), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1265, char __anonymous_object1266), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1267, const char *__fmt__PCc_1, ...), void *__anonymous_object1268, double *__anonymous_object1269);
     51void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1270), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1271), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1272, char *__anonymous_object1273, unsigned long int __anonymous_object1274), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1275, char __anonymous_object1276), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1277, const char *__fmt__PCc_1, ...), void *__anonymous_object1278, long double *__anonymous_object1279);
     52void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1280), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1281), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1282, char *__anonymous_object1283, unsigned long int __anonymous_object1284), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1285, char __anonymous_object1286), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1287, const char *__fmt__PCc_1, ...), void *__anonymous_object1288, float _Complex *__anonymous_object1289);
     53void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1290), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1291), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1292, char *__anonymous_object1293, unsigned long int __anonymous_object1294), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1295, char __anonymous_object1296), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1297, const char *__fmt__PCc_1, ...), void *__anonymous_object1298, double _Complex *__anonymous_object1299);
     54void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1300), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1301), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1302, char *__anonymous_object1303, unsigned long int __anonymous_object1304), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1305, char __anonymous_object1306), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1307, const char *__fmt__PCc_1, ...), void *__anonymous_object1308, long double _Complex *__anonymous_object1309);
     55void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1310), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1311), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1312, char *__anonymous_object1313, unsigned long int __anonymous_object1314), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1315, char __anonymous_object1316), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1317, const char *__fmt__PCc_1, ...), void *__anonymous_object1318, void *(*__anonymous_object1319)(void *__anonymous_object1320));
     56void *__endl__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1321), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1322), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1323, char *__anonymous_object1324, unsigned long int __anonymous_object1325), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1326, char __anonymous_object1327), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1328, const char *__fmt__PCc_1, ...), void *__is__R7tistype_1);
    5457struct _Istream_cstrUC {
    5558    char *__s__Pc_1;
     
    7881    ((void)((*___dst__R16s_Istream_cstrUC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
    7982}
    80 struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1245);
    81 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1246), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1247), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1248, char *__anonymous_object1249, unsigned long int __anonymous_object1250), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1251, char __anonymous_object1252), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1253, const char *__fmt__PCc_1, ...), void *__anonymous_object1254, struct _Istream_cstrUC __anonymous_object1255);
     83struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1329);
     84void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1330), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1331), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1332, char *__anonymous_object1333, unsigned long int __anonymous_object1334), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1335, char __anonymous_object1336), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1337, const char *__fmt__PCc_1, ...), void *__anonymous_object1338, struct _Istream_cstrUC __anonymous_object1339);
    8285struct _Istream_cstrC {
    8386    char *__s__Pc_1;
     
    117120    ((void)((*___dst__R15s_Istream_cstrC_1).__size__i_1=__size__i_1) /* ?{} */);
    118121}
    119 struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1256, signed int __size__i_1);
    120 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1257), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1258), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1259, char *__anonymous_object1260, unsigned long int __anonymous_object1261), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1262, char __anonymous_object1263), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1264, const char *__fmt__PCc_1, ...), void *__anonymous_object1265, struct _Istream_cstrC __anonymous_object1266);
     122struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1340, signed int __size__i_1);
     123void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1341), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1342), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1343, char *__anonymous_object1344, unsigned long int __anonymous_object1345), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1346, char __anonymous_object1347), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1348, const char *__fmt__PCc_1, ...), void *__anonymous_object1349, struct _Istream_cstrC __anonymous_object1350);
    121124struct Duration {
    122125    signed long int __tv__l_1;
     
    149152    ((void)((*__dur__R9sDuration_1).__tv__l_1=((signed long int )0)));
    150153}
    151 static inline void ___constructor__F_R9sDurationZ__1(struct Duration *__dur__R9sDuration_1, long int __anonymous_object1267){
     154static inline void ___constructor__F_R9sDurationZ__1(struct Duration *__dur__R9sDuration_1, long int __anonymous_object1351){
    152155    ((void)((*__dur__R9sDuration_1).__tv__l_1) /* ?{} */);
    153156    ((void)((*__dur__R9sDuration_1).__tv__l_1=((signed long int )0)));
     
    183186    ((void)((*__time__R5sTime_1).__tv__Ul_1=((unsigned long int )0)));
    184187}
    185 static inline void ___constructor__F_R5sTimeZ__1(struct Time *__time__R5sTime_1, long int __anonymous_object1268){
     188static inline void ___constructor__F_R5sTimeZ__1(struct Time *__time__R5sTime_1, long int __anonymous_object1352){
    186189    ((void)((*__time__R5sTime_1).__tv__Ul_1) /* ?{} */);
    187190    ((void)((*__time__R5sTime_1).__tv__Ul_1=((unsigned long int )0)));
    188191}
    189 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1269), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1270), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1271, _Bool __anonymous_object1272), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1273), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1274, const char *__anonymous_object1275), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1276), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1277, _Bool __anonymous_object1278), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1279), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1280), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1281), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1282), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1283), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1284, const char *__anonymous_object1285), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1286), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1287, const char *__anonymous_object1288), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1289), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1290), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1291, const char *__anonymous_object1292, unsigned long int __anonymous_object1293), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1294, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Duration __dur__9sDuration_1);
    190 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1295), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1296), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1297, _Bool __anonymous_object1298), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1299), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1300, const char *__anonymous_object1301), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1302), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1303, _Bool __anonymous_object1304), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1305), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1306), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1307), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1308), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1309), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1310, const char *__anonymous_object1311), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1312), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1313, const char *__anonymous_object1314), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1315), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1316), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1317, const char *__anonymous_object1318, unsigned long int __anonymous_object1319), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1320, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Time __time__5sTime_1);
     192void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1353), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1354), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1355, _Bool __anonymous_object1356), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1357), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1358, const char *__anonymous_object1359), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1360), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1361, _Bool __anonymous_object1362), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1363), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1364), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1365), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1366), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1367), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1368, const char *__anonymous_object1369), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1370), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1371, const char *__anonymous_object1372), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1373), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1374), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1375, const char *__anonymous_object1376, unsigned long int __anonymous_object1377), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1378, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Duration __dur__9sDuration_1);
     193void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1379), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1380), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1381, _Bool __anonymous_object1382), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1383), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1384, const char *__anonymous_object1385), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1386), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1387, _Bool __anonymous_object1388), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1389), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1390), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1391), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1392), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1393), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1394, const char *__anonymous_object1395), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1396), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1397, const char *__anonymous_object1398), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1399), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1400), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1401, const char *__anonymous_object1402, unsigned long int __anonymous_object1403), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1404, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Time __time__5sTime_1);
    191194enum __anonymous0 {
    192195    __sepSize__C13e__anonymous0_1 = 16,
     
    468471
    469472}
    470 _Bool __sepPrt__Fb_R9sofstream__1(struct ofstream *__anonymous_object1321);
    471 void __sepReset__F_R9sofstream__1(struct ofstream *__anonymous_object1322);
    472 void __sepReset__F_R9sofstreamb__1(struct ofstream *__anonymous_object1323, _Bool __anonymous_object1324);
    473 const char *__sepGetCur__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1325);
    474 void __sepSetCur__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1326, const char *__anonymous_object1327);
    475 _Bool __getNL__Fb_R9sofstream__1(struct ofstream *__anonymous_object1328);
    476 void __setNL__F_R9sofstreamb__1(struct ofstream *__anonymous_object1329, _Bool __anonymous_object1330);
    477 void __sepOn__F_R9sofstream__1(struct ofstream *__anonymous_object1331);
    478 void __sepOff__F_R9sofstream__1(struct ofstream *__anonymous_object1332);
    479 _Bool __sepDisable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1333);
    480 _Bool __sepEnable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1334);
    481 const char *__sepGet__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1335);
    482 void __sepSet__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1336, const char *__anonymous_object1337);
    483 const char *__sepGetTuple__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1338);
    484 void __sepSetTuple__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1339, const char *__anonymous_object1340);
    485 signed int __fail__Fi_R9sofstream__1(struct ofstream *__anonymous_object1341);
    486 signed int __flush__Fi_R9sofstream__1(struct ofstream *__anonymous_object1342);
    487 void __open__F_R9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1343, const char *__name__PCc_1, const char *__mode__PCc_1);
    488 void __open__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1344, const char *__name__PCc_1);
    489 void __close__F_R9sofstream__1(struct ofstream *__anonymous_object1345);
    490 struct ofstream *__write__FR9sofstream_R9sofstreamPCcUl__1(struct ofstream *__anonymous_object1346, const char *__data__PCc_1, unsigned long int __size__Ul_1);
    491 signed int __fmt__Fi_R9sofstreamPCc__1(struct ofstream *__anonymous_object1347, const char *__fmt__PCc_1, ...);
     473_Bool __sepPrt__Fb_R9sofstream__1(struct ofstream *__anonymous_object1405);
     474void __sepReset__F_R9sofstream__1(struct ofstream *__anonymous_object1406);
     475void __sepReset__F_R9sofstreamb__1(struct ofstream *__anonymous_object1407, _Bool __anonymous_object1408);
     476const char *__sepGetCur__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1409);
     477void __sepSetCur__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1410, const char *__anonymous_object1411);
     478_Bool __getNL__Fb_R9sofstream__1(struct ofstream *__anonymous_object1412);
     479void __setNL__F_R9sofstreamb__1(struct ofstream *__anonymous_object1413, _Bool __anonymous_object1414);
     480void __sepOn__F_R9sofstream__1(struct ofstream *__anonymous_object1415);
     481void __sepOff__F_R9sofstream__1(struct ofstream *__anonymous_object1416);
     482_Bool __sepDisable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1417);
     483_Bool __sepEnable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1418);
     484const char *__sepGet__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1419);
     485void __sepSet__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1420, const char *__anonymous_object1421);
     486const char *__sepGetTuple__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1422);
     487void __sepSetTuple__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1423, const char *__anonymous_object1424);
     488signed int __fail__Fi_R9sofstream__1(struct ofstream *__anonymous_object1425);
     489signed int __flush__Fi_R9sofstream__1(struct ofstream *__anonymous_object1426);
     490void __open__F_R9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1427, const char *__name__PCc_1, const char *__mode__PCc_1);
     491void __open__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1428, const char *__name__PCc_1);
     492void __close__F_R9sofstream__1(struct ofstream *__anonymous_object1429);
     493struct ofstream *__write__FR9sofstream_R9sofstreamPCcUl__1(struct ofstream *__anonymous_object1430, const char *__data__PCc_1, unsigned long int __size__Ul_1);
     494signed int __fmt__Fi_R9sofstreamPCc__1(struct ofstream *__anonymous_object1431, const char *__fmt__PCc_1, ...);
    492495void ___constructor__F_R9sofstream__1(struct ofstream *__os__R9sofstream_1);
    493496void ___constructor__F_R9sofstreamPCcPCc__1(struct ofstream *__os__R9sofstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
     
    528531struct ifstream *__read__FR9sifstream_R9sifstreamPcUl__1(struct ifstream *__is__R9sifstream_1, char *__data__Pc_1, unsigned long int __size__Ul_1);
    529532struct ifstream *__ungetc__FR9sifstream_R9sifstreamc__1(struct ifstream *__is__R9sifstream_1, char __c__c_1);
    530 signed int __fmt__Fi_R9sifstreamPCc__1(struct ifstream *__anonymous_object1348, const char *__fmt__PCc_1, ...);
     533signed int __fmt__Fi_R9sifstreamPCc__1(struct ifstream *__anonymous_object1432, const char *__fmt__PCc_1, ...);
    531534void ___constructor__F_R9sifstream__1(struct ifstream *__is__R9sifstream_1);
    532535void ___constructor__F_R9sifstreamPCcPCc__1(struct ifstream *__is__R9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
     
    538541    struct ofstream *_tmp_cp_ret4;
    539542    __attribute__ ((unused)) struct ofstream *_thunk0(struct ofstream *_p0){
    540         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1349))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1350))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1351, _Bool __anonymous_object1352))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1353))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1354, const char *__anonymous_object1355))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1356))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1357, _Bool __anonymous_object1358))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1359))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1360))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1362))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1363))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1364, const char *__anonymous_object1365))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1366))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1367, const char *__anonymous_object1368))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1369))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1370))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1371, const char *__anonymous_object1372, unsigned long int __anonymous_object1373))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1374, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    541     }
    542     ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1375))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1376))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1377, _Bool __anonymous_object1378))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1379))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1380, const char *__anonymous_object1381))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1382))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1383, _Bool __anonymous_object1384))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1385))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1386))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1388))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1389))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1390, const char *__anonymous_object1391))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1392))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1393, const char *__anonymous_object1394))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1395))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1396))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1397, const char *__anonymous_object1398, unsigned long int __anonymous_object1399))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1400, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0c__1(((_Bool (*)(void *__anonymous_object1401))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1402))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1403, _Bool __anonymous_object1404))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1405))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1406, const char *__anonymous_object1407))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1408))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1409, _Bool __anonymous_object1410))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1411))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1412))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1414))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1415))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1416, const char *__anonymous_object1417))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1418))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1419, const char *__anonymous_object1420))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1421))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1422))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1423, const char *__anonymous_object1424, unsigned long int __anonymous_object1425))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1426, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1427))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1428))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1429, _Bool __anonymous_object1430))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1431))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1432, const char *__anonymous_object1433))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1434))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1437))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1438))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1439))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1440))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1441))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1442, const char *__anonymous_object1443))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1444))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1445, const char *__anonymous_object1446))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1447))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1448))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1449, const char *__anonymous_object1450, unsigned long int __anonymous_object1451))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1452, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1453))(&_thunk0))))) , _tmp_cp_ret4));
     543        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1433))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1434))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1437))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1438, const char *__anonymous_object1439))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1440))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1441, _Bool __anonymous_object1442))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1443))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1444))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1445))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1446))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1447))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1448, const char *__anonymous_object1449))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1450))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1451, const char *__anonymous_object1452))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1453))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1454))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1455, const char *__anonymous_object1456, unsigned long int __anonymous_object1457))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1458, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     544    }
     545    ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1459))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1460))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1461, _Bool __anonymous_object1462))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1463))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1464, const char *__anonymous_object1465))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1466))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1467, _Bool __anonymous_object1468))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1469))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1470))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1471))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1472))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1473))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1474, const char *__anonymous_object1475))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1476))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1477, const char *__anonymous_object1478))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1479))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1480))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1481, const char *__anonymous_object1482, unsigned long int __anonymous_object1483))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1484, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0c__1(((_Bool (*)(void *__anonymous_object1485))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1486))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1487, _Bool __anonymous_object1488))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1489))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1490, const char *__anonymous_object1491))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1492))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1493, _Bool __anonymous_object1494))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1495))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1496))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1497))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1498))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1499))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1500, const char *__anonymous_object1501))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1502))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1503, const char *__anonymous_object1504))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1505))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1506))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1507, const char *__anonymous_object1508, unsigned long int __anonymous_object1509))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1510, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1511))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1512))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1513, _Bool __anonymous_object1514))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1515))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1516, const char *__anonymous_object1517))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1518))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1519, _Bool __anonymous_object1520))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1521))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1522))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1523))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1524))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1525))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1526, const char *__anonymous_object1527))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1528))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1529, const char *__anonymous_object1530))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1531))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1532))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1533, const char *__anonymous_object1534, unsigned long int __anonymous_object1535))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1536, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1537))(&_thunk0))))) , _tmp_cp_ret4));
    543546}
    544547void __f__F_Sc__1(signed char __v__Sc_1){
     
    547550    struct ofstream *_tmp_cp_ret7;
    548551    __attribute__ ((unused)) struct ofstream *_thunk1(struct ofstream *_p0){
    549         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1454))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1455))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1456, _Bool __anonymous_object1457))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1458))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1459, const char *__anonymous_object1460))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1461))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1462, _Bool __anonymous_object1463))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1464))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1465))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1467))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1468))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1469, const char *__anonymous_object1470))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1471))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1472, const char *__anonymous_object1473))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1474))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1475))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1476, const char *__anonymous_object1477, unsigned long int __anonymous_object1478))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1479, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    550     }
    551     ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1480))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1481))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1482, _Bool __anonymous_object1483))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1484))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1485, const char *__anonymous_object1486))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1487))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1488, _Bool __anonymous_object1489))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1490))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1491))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1493))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1494))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1495, const char *__anonymous_object1496))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1497))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1498, const char *__anonymous_object1499))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1500))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1501))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1502, const char *__anonymous_object1503, unsigned long int __anonymous_object1504))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1505, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Sc__1(((_Bool (*)(void *__anonymous_object1506))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1507))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1508, _Bool __anonymous_object1509))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1510))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1511, const char *__anonymous_object1512))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1513))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1514, _Bool __anonymous_object1515))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1516))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1517))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1519))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1520))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1521, const char *__anonymous_object1522))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1523))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1524, const char *__anonymous_object1525))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1526))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1527))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1528, const char *__anonymous_object1529, unsigned long int __anonymous_object1530))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1531, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1532))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1533))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1534, _Bool __anonymous_object1535))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1536))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1537, const char *__anonymous_object1538))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1539))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1542))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1543))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1544))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1545))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1546))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1547, const char *__anonymous_object1548))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1549))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1550, const char *__anonymous_object1551))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1552))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1553))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1554, const char *__anonymous_object1555, unsigned long int __anonymous_object1556))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1557, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1558))(&_thunk1))))) , _tmp_cp_ret7));
     552        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1538))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1539))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1542))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1543, const char *__anonymous_object1544))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1545))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1546, _Bool __anonymous_object1547))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1548))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1549))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1550))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1551))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1552))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1553, const char *__anonymous_object1554))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1555))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1556, const char *__anonymous_object1557))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1558))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1559))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1560, const char *__anonymous_object1561, unsigned long int __anonymous_object1562))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1563, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     553    }
     554    ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1564))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1565))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1566, _Bool __anonymous_object1567))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1568))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1569, const char *__anonymous_object1570))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1571))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1572, _Bool __anonymous_object1573))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1574))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1575))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1576))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1577))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1578))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1579, const char *__anonymous_object1580))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1581))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1582, const char *__anonymous_object1583))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1584))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1585))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1586, const char *__anonymous_object1587, unsigned long int __anonymous_object1588))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1589, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Sc__1(((_Bool (*)(void *__anonymous_object1590))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1591))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1592, _Bool __anonymous_object1593))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1594))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1595, const char *__anonymous_object1596))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1597))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1598, _Bool __anonymous_object1599))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1600))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1601))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1602))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1603))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1604))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1605, const char *__anonymous_object1606))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1607))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1608, const char *__anonymous_object1609))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1610))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1611))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1612, const char *__anonymous_object1613, unsigned long int __anonymous_object1614))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1615, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1616))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1617))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1618, _Bool __anonymous_object1619))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1620))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1621, const char *__anonymous_object1622))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1623))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1624, _Bool __anonymous_object1625))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1626))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1627))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1628))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1629))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1630))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1631, const char *__anonymous_object1632))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1633))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1634, const char *__anonymous_object1635))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1636))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1637))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1638, const char *__anonymous_object1639, unsigned long int __anonymous_object1640))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1641, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1642))(&_thunk1))))) , _tmp_cp_ret7));
    552555}
    553556void __f__F_Uc__1(unsigned char __v__Uc_1){
     
    556559    struct ofstream *_tmp_cp_ret10;
    557560    __attribute__ ((unused)) struct ofstream *_thunk2(struct ofstream *_p0){
    558         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1559))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1560))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1561, _Bool __anonymous_object1562))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1563))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1564, const char *__anonymous_object1565))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1566))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1567, _Bool __anonymous_object1568))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1569))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1570))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1572))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1573))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1574, const char *__anonymous_object1575))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1576))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1577, const char *__anonymous_object1578))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1579))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1580))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1581, const char *__anonymous_object1582, unsigned long int __anonymous_object1583))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1584, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    559     }
    560     ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1585))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1586))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1587, _Bool __anonymous_object1588))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1589))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1590, const char *__anonymous_object1591))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1592))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1593, _Bool __anonymous_object1594))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1595))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1596))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1598))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1599))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1600, const char *__anonymous_object1601))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1602))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1603, const char *__anonymous_object1604))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1605))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1606))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1607, const char *__anonymous_object1608, unsigned long int __anonymous_object1609))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1610, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Uc__1(((_Bool (*)(void *__anonymous_object1611))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1612))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1613, _Bool __anonymous_object1614))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1615))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1616, const char *__anonymous_object1617))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1618))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1619, _Bool __anonymous_object1620))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1621))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1622))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1624))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1625))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1626, const char *__anonymous_object1627))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1628))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1629, const char *__anonymous_object1630))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1631))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1632))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1633, const char *__anonymous_object1634, unsigned long int __anonymous_object1635))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1636, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1637))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1638))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1639, _Bool __anonymous_object1640))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1641))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1642, const char *__anonymous_object1643))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1644))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1647))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1648))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1649))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1650))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1651))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1652, const char *__anonymous_object1653))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1654))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1655, const char *__anonymous_object1656))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1657))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1658))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1659, const char *__anonymous_object1660, unsigned long int __anonymous_object1661))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1662, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1663))(&_thunk2))))) , _tmp_cp_ret10));
     561        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1643))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1644))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1647))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1648, const char *__anonymous_object1649))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1650))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1651, _Bool __anonymous_object1652))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1653))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1654))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1655))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1656))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1657))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1658, const char *__anonymous_object1659))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1660))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1661, const char *__anonymous_object1662))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1663))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1664))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1665, const char *__anonymous_object1666, unsigned long int __anonymous_object1667))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1668, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     562    }
     563    ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1669))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1670))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1671, _Bool __anonymous_object1672))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1673))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1674, const char *__anonymous_object1675))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1676))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1677, _Bool __anonymous_object1678))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1679))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1680))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1681))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1682))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1683))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1684, const char *__anonymous_object1685))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1686))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1687, const char *__anonymous_object1688))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1689))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1690))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1691, const char *__anonymous_object1692, unsigned long int __anonymous_object1693))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1694, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Uc__1(((_Bool (*)(void *__anonymous_object1695))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1696))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1697, _Bool __anonymous_object1698))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1699))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1700, const char *__anonymous_object1701))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1702))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1703, _Bool __anonymous_object1704))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1705))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1706))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1707))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1708))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1709))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1710, const char *__anonymous_object1711))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1712))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1713, const char *__anonymous_object1714))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1715))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1716))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1717, const char *__anonymous_object1718, unsigned long int __anonymous_object1719))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1720, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1721))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1722))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1723, _Bool __anonymous_object1724))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1725))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1726, const char *__anonymous_object1727))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1728))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1729, _Bool __anonymous_object1730))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1731))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1732))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1733))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1734))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1735))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1736, const char *__anonymous_object1737))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1738))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1739, const char *__anonymous_object1740))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1741))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1742))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1743, const char *__anonymous_object1744, unsigned long int __anonymous_object1745))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1746, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1747))(&_thunk2))))) , _tmp_cp_ret10));
    561564}
    562565void __f__F_s__1(signed short int __v__s_1){
     
    565568    struct ofstream *_tmp_cp_ret13;
    566569    __attribute__ ((unused)) struct ofstream *_thunk3(struct ofstream *_p0){
    567         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1664))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1665))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1666, _Bool __anonymous_object1667))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1668))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1669, const char *__anonymous_object1670))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1671))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1672, _Bool __anonymous_object1673))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1674))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1675))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1677))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1678))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1679, const char *__anonymous_object1680))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1681))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1682, const char *__anonymous_object1683))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1684))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1685))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1686, const char *__anonymous_object1687, unsigned long int __anonymous_object1688))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1689, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    568     }
    569     ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1690))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1691))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1692, _Bool __anonymous_object1693))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1694))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1695, const char *__anonymous_object1696))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1697))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1698, _Bool __anonymous_object1699))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1700))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1701))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1703))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1704))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1705, const char *__anonymous_object1706))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1707))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1708, const char *__anonymous_object1709))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1710))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1711))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1712, const char *__anonymous_object1713, unsigned long int __anonymous_object1714))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1715, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0s__1(((_Bool (*)(void *__anonymous_object1716))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1717))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1718, _Bool __anonymous_object1719))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1720))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1721, const char *__anonymous_object1722))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1723))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1724, _Bool __anonymous_object1725))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1726))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1727))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1729))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1730))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1731, const char *__anonymous_object1732))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1733))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1734, const char *__anonymous_object1735))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1736))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1737))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1738, const char *__anonymous_object1739, unsigned long int __anonymous_object1740))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1741, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1742))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1743))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1744, _Bool __anonymous_object1745))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1746))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1747, const char *__anonymous_object1748))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1749))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1752))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1753))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1754))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1755))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1756))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1757, const char *__anonymous_object1758))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1759))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1760, const char *__anonymous_object1761))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1762))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1763))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1764, const char *__anonymous_object1765, unsigned long int __anonymous_object1766))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1767, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1768))(&_thunk3))))) , _tmp_cp_ret13));
     570        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1748))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1749))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1752))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1753, const char *__anonymous_object1754))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1755))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1756, _Bool __anonymous_object1757))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1758))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1759))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1760))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1761))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1762))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1763, const char *__anonymous_object1764))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1765))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1766, const char *__anonymous_object1767))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1768))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1769))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1770, const char *__anonymous_object1771, unsigned long int __anonymous_object1772))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1773, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     571    }
     572    ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1774))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1775))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1776, _Bool __anonymous_object1777))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1778))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1779, const char *__anonymous_object1780))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1781))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1782, _Bool __anonymous_object1783))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1784))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1785))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1786))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1787))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1788))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1789, const char *__anonymous_object1790))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1791))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1792, const char *__anonymous_object1793))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1794))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1795))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1796, const char *__anonymous_object1797, unsigned long int __anonymous_object1798))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1799, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0s__1(((_Bool (*)(void *__anonymous_object1800))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1801))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1802, _Bool __anonymous_object1803))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1804))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1805, const char *__anonymous_object1806))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1807))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1808, _Bool __anonymous_object1809))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1810))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1811))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1812))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1813))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1814))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1815, const char *__anonymous_object1816))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1817))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1818, const char *__anonymous_object1819))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1820))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1821))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1822, const char *__anonymous_object1823, unsigned long int __anonymous_object1824))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1825, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1826))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1827))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1828, _Bool __anonymous_object1829))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1830))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1831, const char *__anonymous_object1832))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1833))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1834, _Bool __anonymous_object1835))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1836))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1837))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1838))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1839))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1840))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1841, const char *__anonymous_object1842))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1843))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1844, const char *__anonymous_object1845))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1846))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1847))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1848, const char *__anonymous_object1849, unsigned long int __anonymous_object1850))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1851, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1852))(&_thunk3))))) , _tmp_cp_ret13));
    570573}
    571574void __f__F_Us__1(unsigned short int __v__Us_1){
     
    574577    struct ofstream *_tmp_cp_ret16;
    575578    __attribute__ ((unused)) struct ofstream *_thunk4(struct ofstream *_p0){
    576         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1769))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1770))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1771, _Bool __anonymous_object1772))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1773))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1774, const char *__anonymous_object1775))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1776))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1777, _Bool __anonymous_object1778))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1779))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1780))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1782))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1783))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1784, const char *__anonymous_object1785))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1786))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1787, const char *__anonymous_object1788))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1789))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1790))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1791, const char *__anonymous_object1792, unsigned long int __anonymous_object1793))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1794, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    577     }
    578     ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1795))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1796))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1797, _Bool __anonymous_object1798))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1799))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1800, const char *__anonymous_object1801))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1802))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1803, _Bool __anonymous_object1804))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1805))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1806))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1808))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1809))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1810, const char *__anonymous_object1811))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1812))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1813, const char *__anonymous_object1814))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1815))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1816))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1817, const char *__anonymous_object1818, unsigned long int __anonymous_object1819))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1820, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Us__1(((_Bool (*)(void *__anonymous_object1821))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1822))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1823, _Bool __anonymous_object1824))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1825))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1826, const char *__anonymous_object1827))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1828))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1829, _Bool __anonymous_object1830))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1831))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1832))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1834))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1835))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1836, const char *__anonymous_object1837))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1838))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1839, const char *__anonymous_object1840))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1841))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1842))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1843, const char *__anonymous_object1844, unsigned long int __anonymous_object1845))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1846, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1847))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1848))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1849, _Bool __anonymous_object1850))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1851))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1852, const char *__anonymous_object1853))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1854))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1857))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1858))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1859))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1860))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1861))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1862, const char *__anonymous_object1863))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1864))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1865, const char *__anonymous_object1866))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1867))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1868))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1869, const char *__anonymous_object1870, unsigned long int __anonymous_object1871))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1872, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1873))(&_thunk4))))) , _tmp_cp_ret16));
     579        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1853))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1854))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1857))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1858, const char *__anonymous_object1859))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1860))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1861, _Bool __anonymous_object1862))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1863))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1864))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1865))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1866))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1867))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1868, const char *__anonymous_object1869))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1870))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1871, const char *__anonymous_object1872))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1873))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1874))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1875, const char *__anonymous_object1876, unsigned long int __anonymous_object1877))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1878, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     580    }
     581    ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1879))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1880))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1881, _Bool __anonymous_object1882))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1883))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1884, const char *__anonymous_object1885))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1886))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1887, _Bool __anonymous_object1888))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1889))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1890))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1891))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1892))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1893))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1894, const char *__anonymous_object1895))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1896))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1897, const char *__anonymous_object1898))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1899))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1900))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1901, const char *__anonymous_object1902, unsigned long int __anonymous_object1903))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1904, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Us__1(((_Bool (*)(void *__anonymous_object1905))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1906))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1907, _Bool __anonymous_object1908))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1909))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1910, const char *__anonymous_object1911))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1912))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1913, _Bool __anonymous_object1914))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1915))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1916))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1917))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1918))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1919))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1920, const char *__anonymous_object1921))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1922))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1923, const char *__anonymous_object1924))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1925))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1926))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1927, const char *__anonymous_object1928, unsigned long int __anonymous_object1929))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1930, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1931))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1932))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1933, _Bool __anonymous_object1934))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1935))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1936, const char *__anonymous_object1937))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1938))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1939, _Bool __anonymous_object1940))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1941))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1942))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1943))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1944))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1945))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1946, const char *__anonymous_object1947))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1948))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1949, const char *__anonymous_object1950))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1951))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1952))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1953, const char *__anonymous_object1954, unsigned long int __anonymous_object1955))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1956, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1957))(&_thunk4))))) , _tmp_cp_ret16));
    579582}
    580583void __f__F_Ul__1(unsigned long int __v__Ul_1){
     
    583586    struct ofstream *_tmp_cp_ret19;
    584587    __attribute__ ((unused)) struct ofstream *_thunk5(struct ofstream *_p0){
    585         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1874))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1875))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1876, _Bool __anonymous_object1877))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1878))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1879, const char *__anonymous_object1880))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1881))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1882, _Bool __anonymous_object1883))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1884))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1885))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1887))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1888))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1889, const char *__anonymous_object1890))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1891))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1892, const char *__anonymous_object1893))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1894))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1895))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1896, const char *__anonymous_object1897, unsigned long int __anonymous_object1898))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1899, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    586     }
    587     ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1900))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1901))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1902, _Bool __anonymous_object1903))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1904))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1905, const char *__anonymous_object1906))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1907))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1908, _Bool __anonymous_object1909))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1910))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1911))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1913))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1914))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1915, const char *__anonymous_object1916))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1917))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1918, const char *__anonymous_object1919))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1920))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1921))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1922, const char *__anonymous_object1923, unsigned long int __anonymous_object1924))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1925, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Ul__1(((_Bool (*)(void *__anonymous_object1926))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1927))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1928, _Bool __anonymous_object1929))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1930))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1931, const char *__anonymous_object1932))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1933))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1934, _Bool __anonymous_object1935))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1936))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1937))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1939))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1940))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1941, const char *__anonymous_object1942))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1943))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1944, const char *__anonymous_object1945))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1946))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1947))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1948, const char *__anonymous_object1949, unsigned long int __anonymous_object1950))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1951, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1952))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1953))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1954, _Bool __anonymous_object1955))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1956))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1957, const char *__anonymous_object1958))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1959))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1962))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1963))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1964))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1965))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1966))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1967, const char *__anonymous_object1968))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1969))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1970, const char *__anonymous_object1971))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1972))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1973))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1974, const char *__anonymous_object1975, unsigned long int __anonymous_object1976))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1977, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ul_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object1978))(&_thunk5))))) , _tmp_cp_ret19));
     588        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1958))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1959))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1962))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1963, const char *__anonymous_object1964))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1965))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1966, _Bool __anonymous_object1967))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1968))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1969))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1970))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1971))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1972))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1973, const char *__anonymous_object1974))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1975))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1976, const char *__anonymous_object1977))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1978))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1979))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1980, const char *__anonymous_object1981, unsigned long int __anonymous_object1982))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1983, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     589    }
     590    ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1984))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1985))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1986, _Bool __anonymous_object1987))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1988))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1989, const char *__anonymous_object1990))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1991))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1992, _Bool __anonymous_object1993))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1994))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1995))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1996))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1997))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1998))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1999, const char *__anonymous_object2000))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2001))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2002, const char *__anonymous_object2003))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2004))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2005))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2006, const char *__anonymous_object2007, unsigned long int __anonymous_object2008))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2009, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Ul__1(((_Bool (*)(void *__anonymous_object2010))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2011))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object2012, _Bool __anonymous_object2013))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object2014))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2015, const char *__anonymous_object2016))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object2017))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2018, _Bool __anonymous_object2019))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object2020))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object2021))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2022))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2023))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object2024))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2025, const char *__anonymous_object2026))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2027))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2028, const char *__anonymous_object2029))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2030))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2031))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2032, const char *__anonymous_object2033, unsigned long int __anonymous_object2034))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2035, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object2036))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2037))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object2038, _Bool __anonymous_object2039))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object2040))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2041, const char *__anonymous_object2042))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object2043))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2044, _Bool __anonymous_object2045))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object2046))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object2047))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2048))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2049))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object2050))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2051, const char *__anonymous_object2052))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2053))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2054, const char *__anonymous_object2055))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2056))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2057))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2058, const char *__anonymous_object2059, unsigned long int __anonymous_object2060))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2061, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ul_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object2062))(&_thunk5))))) , _tmp_cp_ret19));
    588591}
    589592signed int __main__Fi___1(){
  • src/tests/.expect/literals.x86.txt

    rff29f08 rf6f0cca3  
    2020void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Xr__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object558), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object559), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object560, _Bool __anonymous_object561), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object562), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object563, const char *__anonymous_object564), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object565), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object566, _Bool __anonymous_object567), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object568), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object569), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object570), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object571), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object572), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object573, const char *__anonymous_object574), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object575), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object576, const char *__anonymous_object577), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object578), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object579), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object580, const char *__anonymous_object581, unsigned long int __anonymous_object582), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object583, const char *__fmt__PCc_1, ...), void *__anonymous_object584, long double _Complex __anonymous_object585);
    2121void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object586), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object587), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object588, _Bool __anonymous_object589), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object590), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object591, const char *__anonymous_object592), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object593), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object594, _Bool __anonymous_object595), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object596), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object597), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object598), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object599), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object600), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object601, const char *__anonymous_object602), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object603), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object604, const char *__anonymous_object605), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object606), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object607), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object608, const char *__anonymous_object609, unsigned long int __anonymous_object610), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object611, const char *__fmt__PCc_1, ...), void *__anonymous_object612, const char *__anonymous_object613);
    22 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const void *__anonymous_object641);
    23 void *___operator_bitor__A0_2_0_1____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_bitor__PFRd0_Rd0tVARGS2__FRd0_Rd0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object642)(), void *__anonymous_object643, void *__anonymous_object644), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object645)(), void *__anonymous_object646, void *__anonymous_object647), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object648)(), void *__anonymous_object649, void *__anonymous_object650), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object651)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object652, void *__anonymous_object653), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object654, void *__anonymous_object655), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object657, void *__anonymous_object658), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object659), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype2tT__1)(void *__anonymous_object660, void *__anonymous_object661), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object664, _Bool __anonymous_object665), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object666), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object667, const char *__anonymous_object668), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object669), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object670, _Bool __anonymous_object671), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object672), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object673), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object675), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object676), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object677, const char *__anonymous_object678), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object679), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object680, const char *__anonymous_object681), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object684, const char *__anonymous_object685, unsigned long int __anonymous_object686), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object687, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype7tParams__1)(void *__anonymous_object688, void *__anonymous_object689), void *__os__R7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
    24 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object692, _Bool __anonymous_object693), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object694), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object695, const char *__anonymous_object696), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object697), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object698, _Bool __anonymous_object699), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object700), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object701), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object703), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object704), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object705, const char *__anonymous_object706), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object707), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object708, const char *__anonymous_object709), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object712, const char *__anonymous_object713, unsigned long int __anonymous_object714), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object715, const char *__fmt__PCc_1, ...), void *__anonymous_object716, void *(*__anonymous_object717)(void *__anonymous_object718));
    25 void *__endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object720), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object721, _Bool __anonymous_object722), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object723), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object724, const char *__anonymous_object725), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object726), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object727, _Bool __anonymous_object728), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object733), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object734, const char *__anonymous_object735), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object736), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object737, const char *__anonymous_object738), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object741, const char *__anonymous_object742, unsigned long int __anonymous_object743), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object744, const char *__fmt__PCc_1, ...), void *__anonymous_object745);
    26 void *__sep__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), void *__anonymous_object772);
    27 void *__sepTuple__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object773), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object775, _Bool __anonymous_object776), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object777), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object778, const char *__anonymous_object779), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object780), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object781, _Bool __anonymous_object782), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object783), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object788, const char *__anonymous_object789), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object790), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object791, const char *__anonymous_object792), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object793), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object795, const char *__anonymous_object796, unsigned long int __anonymous_object797), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object798, const char *__fmt__PCc_1, ...), void *__anonymous_object799);
    28 void *__sepOn__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object800), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object801), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object802, _Bool __anonymous_object803), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object805, const char *__anonymous_object806), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object808, _Bool __anonymous_object809), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object811), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object812), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object815, const char *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object821), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object822, const char *__anonymous_object823, unsigned long int __anonymous_object824), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object825, const char *__fmt__PCc_1, ...), void *__anonymous_object826);
    29 void *__sepOff__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object827), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object828), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object829, _Bool __anonymous_object830), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object832, const char *__anonymous_object833), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object835, _Bool __anonymous_object836), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object838), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object839), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object842, const char *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object848), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object849, const char *__anonymous_object850, unsigned long int __anonymous_object851), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object852, const char *__fmt__PCc_1, ...), void *__anonymous_object853);
    30 void *__sepDisable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object854), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object855), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object856, _Bool __anonymous_object857), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object859, const char *__anonymous_object860), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object862, _Bool __anonymous_object863), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object865), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object866), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object869, const char *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object875), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object876, const char *__anonymous_object877, unsigned long int __anonymous_object878), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object879, const char *__fmt__PCc_1, ...), void *__anonymous_object880);
    31 void *__sepEnable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object881), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object882), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object883, _Bool __anonymous_object884), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object886, const char *__anonymous_object887), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object889, _Bool __anonymous_object890), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object892), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object893), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object896, const char *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object902), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object903, const char *__anonymous_object904, unsigned long int __anonymous_object905), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object906, const char *__fmt__PCc_1, ...), void *__anonymous_object907);
    32 void __write__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object908)(), void *__anonymous_object909), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object910)(), void *__anonymous_object911, void *__anonymous_object912), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object913)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object914), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object915)(), void *__anonymous_object916, void *__anonymous_object917), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object918)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object919, void *__anonymous_object920), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object921)(), void *__anonymous_object922, void *__anonymous_object923), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object924)(), void *__anonymous_object925, void *__anonymous_object926), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object927)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object928, void *__anonymous_object929), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object930, void *__anonymous_object931), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object933, void *__anonymous_object934), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object935), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object936, void *__anonymous_object937), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object964, void *__anonymous_object965), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object969), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object970), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object971), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object974, void *__anonymous_object975), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object976), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
    33 void __write_reverse__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object977)(), void *__anonymous_object978), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object979)(), void *__anonymous_object980, void *__anonymous_object981), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object982)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object983), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object984)(), void *__anonymous_object985, void *__anonymous_object986), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object987)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object988, void *__anonymous_object989), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object990)(), void *__anonymous_object991, void *__anonymous_object992), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object993)(), void *__anonymous_object994, void *__anonymous_object995), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object996)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object997, void *__anonymous_object998), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object999, void *__anonymous_object1000), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1002, void *__anonymous_object1003), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1004), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1005, void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1009, _Bool __anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1015, _Bool __anonymous_object1016), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1017), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1018), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1019), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1020), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1021), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1022, const char *__anonymous_object1023), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1024), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1025, const char *__anonymous_object1026), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1028), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1029, const char *__anonymous_object1030, unsigned long int __anonymous_object1031), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1032, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1033, void *__anonymous_object1034), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1035), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1038), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1039), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1040), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1043, void *__anonymous_object1044), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1045), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
    34 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rb__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1046), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1047), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1048, char *__anonymous_object1049, unsigned long int __anonymous_object1050), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1051, char __anonymous_object1052), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1053, const char *__fmt__PCc_1, ...), void *__anonymous_object1054, _Bool *__anonymous_object1055);
    35 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1056), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1058, char *__anonymous_object1059, unsigned long int __anonymous_object1060), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1061, char __anonymous_object1062), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1063, const char *__fmt__PCc_1, ...), void *__anonymous_object1064, char *__anonymous_object1065);
    36 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RSc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1066), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1068, char *__anonymous_object1069, unsigned long int __anonymous_object1070), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1071, char __anonymous_object1072), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1073, const char *__fmt__PCc_1, ...), void *__anonymous_object1074, signed char *__anonymous_object1075);
    37 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1076), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1078, char *__anonymous_object1079, unsigned long int __anonymous_object1080), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1081, char __anonymous_object1082), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1083, const char *__fmt__PCc_1, ...), void *__anonymous_object1084, unsigned char *__anonymous_object1085);
    38 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1086), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1087), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1088, char *__anonymous_object1089, unsigned long int __anonymous_object1090), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1091, char __anonymous_object1092), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1093, const char *__fmt__PCc_1, ...), void *__anonymous_object1094, signed short int *__anonymous_object1095);
    39 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1097), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1098, char *__anonymous_object1099, unsigned long int __anonymous_object1100), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1101, char __anonymous_object1102), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1103, const char *__fmt__PCc_1, ...), void *__anonymous_object1104, unsigned short int *__anonymous_object1105);
    40 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Ri__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1106), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1107), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1108, char *__anonymous_object1109, unsigned long int __anonymous_object1110), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1111, char __anonymous_object1112), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1113, const char *__fmt__PCc_1, ...), void *__anonymous_object1114, signed int *__anonymous_object1115);
    41 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUi__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1116), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1117), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1118, char *__anonymous_object1119, unsigned long int __anonymous_object1120), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1121, char __anonymous_object1122), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1123, const char *__fmt__PCc_1, ...), void *__anonymous_object1124, unsigned int *__anonymous_object1125);
    42 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1126), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1127), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1128, char *__anonymous_object1129, unsigned long int __anonymous_object1130), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1131, char __anonymous_object1132), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1133, const char *__fmt__PCc_1, ...), void *__anonymous_object1134, signed long int *__anonymous_object1135);
    43 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1136), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1137), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1138, char *__anonymous_object1139, unsigned long int __anonymous_object1140), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1141, char __anonymous_object1142), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1143, const char *__fmt__PCc_1, ...), void *__anonymous_object1144, signed long long int *__anonymous_object1145);
    44 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1146), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1147), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1148, char *__anonymous_object1149, unsigned long int __anonymous_object1150), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1151, char __anonymous_object1152), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1153, const char *__fmt__PCc_1, ...), void *__anonymous_object1154, unsigned long int *__anonymous_object1155);
    45 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1156), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1157), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1158, char *__anonymous_object1159, unsigned long int __anonymous_object1160), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1161, char __anonymous_object1162), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1163, const char *__fmt__PCc_1, ...), void *__anonymous_object1164, unsigned long long int *__anonymous_object1165);
    46 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1166), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1167), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1168, char *__anonymous_object1169, unsigned long int __anonymous_object1170), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1171, char __anonymous_object1172), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1173, const char *__fmt__PCc_1, ...), void *__anonymous_object1174, float *__anonymous_object1175);
    47 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1176), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1177), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1178, char *__anonymous_object1179, unsigned long int __anonymous_object1180), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1181, char __anonymous_object1182), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1183, const char *__fmt__PCc_1, ...), void *__anonymous_object1184, double *__anonymous_object1185);
    48 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1186), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1187), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1188, char *__anonymous_object1189, unsigned long int __anonymous_object1190), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1191, char __anonymous_object1192), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1193, const char *__fmt__PCc_1, ...), void *__anonymous_object1194, long double *__anonymous_object1195);
    49 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1196), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1197), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1198, char *__anonymous_object1199, unsigned long int __anonymous_object1200), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1201, char __anonymous_object1202), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1203, const char *__fmt__PCc_1, ...), void *__anonymous_object1204, float _Complex *__anonymous_object1205);
    50 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1206), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1207), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1208, char *__anonymous_object1209, unsigned long int __anonymous_object1210), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1211, char __anonymous_object1212), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1213, const char *__fmt__PCc_1, ...), void *__anonymous_object1214, double _Complex *__anonymous_object1215);
    51 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1216), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1217), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1218, char *__anonymous_object1219, unsigned long int __anonymous_object1220), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1221, char __anonymous_object1222), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1223, const char *__fmt__PCc_1, ...), void *__anonymous_object1224, long double _Complex *__anonymous_object1225);
    52 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1226), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1227), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1228, char *__anonymous_object1229, unsigned long int __anonymous_object1230), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1231, char __anonymous_object1232), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1233, const char *__fmt__PCc_1, ...), void *__anonymous_object1234, void *(*__anonymous_object1235)(void *__anonymous_object1236));
    53 void *__endl__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1237), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1238), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1239, char *__anonymous_object1240, unsigned long int __anonymous_object1241), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1242, char __anonymous_object1243), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1244, const char *__fmt__PCc_1, ...), void *__is__R7tistype_1);
     22void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCUs__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const unsigned short int *__anonymous_object641);
     23void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCUi__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object642), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object643), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object644, _Bool __anonymous_object645), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object646), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object647, const char *__anonymous_object648), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object649), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object650, _Bool __anonymous_object651), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object652), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object653), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object654), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object655), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object657, const char *__anonymous_object658), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object659), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object660, const char *__anonymous_object661), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object664, const char *__anonymous_object665, unsigned long int __anonymous_object666), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object667, const char *__fmt__PCc_1, ...), void *__anonymous_object668, const unsigned int *__anonymous_object669);
     24void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCl__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object670), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object671), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object672, _Bool __anonymous_object673), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object675, const char *__anonymous_object676), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object677), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object678, _Bool __anonymous_object679), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object680), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object681), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object684), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object685, const char *__anonymous_object686), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object687), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object688, const char *__anonymous_object689), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object692, const char *__anonymous_object693, unsigned long int __anonymous_object694), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object695, const char *__fmt__PCc_1, ...), void *__anonymous_object696, const signed long int *__anonymous_object697);
     25void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object698), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object699), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object700, _Bool __anonymous_object701), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object703, const char *__anonymous_object704), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object705), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object706, _Bool __anonymous_object707), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object708), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object709), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object712), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object713, const char *__anonymous_object714), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object715), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object716, const char *__anonymous_object717), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object718), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object720, const char *__anonymous_object721, unsigned long int __anonymous_object722), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object723, const char *__fmt__PCc_1, ...), void *__anonymous_object724, const void *__anonymous_object725);
     26void *___operator_bitor__A0_2_0_1____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_bitor__PFRd0_Rd0tVARGS2__FRd0_Rd0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object726)(), void *__anonymous_object727, void *__anonymous_object728), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object729)(), void *__anonymous_object730, void *__anonymous_object731), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object732)(), void *__anonymous_object733, void *__anonymous_object734), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object735)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object736, void *__anonymous_object737), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object738, void *__anonymous_object739), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object741, void *__anonymous_object742), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object743), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype2tT__1)(void *__anonymous_object744, void *__anonymous_object745), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype7tParams__1)(void *__anonymous_object772, void *__anonymous_object773), void *__os__R7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
     27void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object775), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object776, _Bool __anonymous_object777), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object778), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object779, const char *__anonymous_object780), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object781), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object782, _Bool __anonymous_object783), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object788), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object789, const char *__anonymous_object790), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object791), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object792, const char *__anonymous_object793), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object795), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object796, const char *__anonymous_object797, unsigned long int __anonymous_object798), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object799, const char *__fmt__PCc_1, ...), void *__anonymous_object800, void *(*__anonymous_object801)(void *__anonymous_object802));
     28void *__endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object803), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object805, _Bool __anonymous_object806), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object808, const char *__anonymous_object809), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object811, _Bool __anonymous_object812), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object815), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object821, const char *__anonymous_object822), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object823), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object824), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object825, const char *__anonymous_object826, unsigned long int __anonymous_object827), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object828, const char *__fmt__PCc_1, ...), void *__anonymous_object829);
     29void *__sep__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object830), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object832, _Bool __anonymous_object833), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object835, const char *__anonymous_object836), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object838, _Bool __anonymous_object839), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object842), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object848, const char *__anonymous_object849), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object850), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object851), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object852, const char *__anonymous_object853, unsigned long int __anonymous_object854), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object855, const char *__fmt__PCc_1, ...), void *__anonymous_object856);
     30void *__sepTuple__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object857), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object859, _Bool __anonymous_object860), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object862, const char *__anonymous_object863), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object865, _Bool __anonymous_object866), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object869), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object875, const char *__anonymous_object876), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object877), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object878), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object879, const char *__anonymous_object880, unsigned long int __anonymous_object881), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object882, const char *__fmt__PCc_1, ...), void *__anonymous_object883);
     31void *__sepOn__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object884), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object886, _Bool __anonymous_object887), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object889, const char *__anonymous_object890), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object892, _Bool __anonymous_object893), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object896), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object902, const char *__anonymous_object903), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object904), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object905), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object906, const char *__anonymous_object907, unsigned long int __anonymous_object908), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object909, const char *__fmt__PCc_1, ...), void *__anonymous_object910);
     32void *__sepOff__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object911), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object912), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object913, _Bool __anonymous_object914), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object915), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object916, const char *__anonymous_object917), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object918), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object919, _Bool __anonymous_object920), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object921), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object922), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object923), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object924), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object925), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object926, const char *__anonymous_object927), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object928), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object929, const char *__anonymous_object930), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object931), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object933, const char *__anonymous_object934, unsigned long int __anonymous_object935), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object936, const char *__fmt__PCc_1, ...), void *__anonymous_object937);
     33void *__sepDisable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), void *__anonymous_object964);
     34void *__sepEnable__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object965), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object967, _Bool __anonymous_object968), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object969), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object970, const char *__anonymous_object971), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object972), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object973, _Bool __anonymous_object974), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object975), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object976), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object977), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object978), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object979), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object980, const char *__anonymous_object981), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object982), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object983, const char *__anonymous_object984), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object985), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object986), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object987, const char *__anonymous_object988, unsigned long int __anonymous_object989), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object990, const char *__fmt__PCc_1, ...), void *__anonymous_object991);
     35void __write__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object992)(), void *__anonymous_object993), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object994)(), void *__anonymous_object995, void *__anonymous_object996), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object997)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object998), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object999)(), void *__anonymous_object1000, void *__anonymous_object1001), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1002)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1003, void *__anonymous_object1004), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1005)(), void *__anonymous_object1006, void *__anonymous_object1007), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1008)(), void *__anonymous_object1009, void *__anonymous_object1010), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1011)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1012, void *__anonymous_object1013), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1014, void *__anonymous_object1015), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1016), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1017, void *__anonymous_object1018), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1019), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1020, void *__anonymous_object1021), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1022), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1023), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1024, _Bool __anonymous_object1025), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1026), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1027, const char *__anonymous_object1028), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1029), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1030, _Bool __anonymous_object1031), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1032), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1033), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1034), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1035), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1036), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1037, const char *__anonymous_object1038), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1039), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1040, const char *__anonymous_object1041), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1042), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1043), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1044, const char *__anonymous_object1045, unsigned long int __anonymous_object1046), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1047, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1048, void *__anonymous_object1049), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1050), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1051, void *__anonymous_object1052), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1053), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1054), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1055), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1056, void *__anonymous_object1057), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1058, void *__anonymous_object1059), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1060), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
     36void __write_reverse__A0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFRd0_Rd0d1___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Rd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object1061)(), void *__anonymous_object1062), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object1063)(), void *__anonymous_object1064, void *__anonymous_object1065), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object1066)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object1067), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object1068)(), void *__anonymous_object1069, void *__anonymous_object1070), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1071)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1072, void *__anonymous_object1073), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1074)(), void *__anonymous_object1075, void *__anonymous_object1076), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1077)(), void *__anonymous_object1078, void *__anonymous_object1079), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1080)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1081, void *__anonymous_object1082), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1083, void *__anonymous_object1084), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1085), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1086, void *__anonymous_object1087), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1088), __attribute__ ((unused)) void *(*___operator_bitor__PFR7tostype_R7tostype9telt_type__1)(void *__anonymous_object1089, void *__anonymous_object1090), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1091), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1092), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1093, _Bool __anonymous_object1094), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1095), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1096, const char *__anonymous_object1097), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1098), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1099, _Bool __anonymous_object1100), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1101), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1102), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1103), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1104), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1105), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1106, const char *__anonymous_object1107), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1108), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1109, const char *__anonymous_object1110), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1111), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1112), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1113, const char *__anonymous_object1114, unsigned long int __anonymous_object1115), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1116, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1117, void *__anonymous_object1118), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1119), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1120, void *__anonymous_object1121), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1122), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1123), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1124), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1125, void *__anonymous_object1126), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1127, void *__anonymous_object1128), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1129), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__R7tostype_1);
     37void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rb__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1130), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1131), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1132, char *__anonymous_object1133, unsigned long int __anonymous_object1134), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1135, char __anonymous_object1136), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1137, const char *__fmt__PCc_1, ...), void *__anonymous_object1138, _Bool *__anonymous_object1139);
     38void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1140), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1141), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1142, char *__anonymous_object1143, unsigned long int __anonymous_object1144), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1145, char __anonymous_object1146), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1147, const char *__fmt__PCc_1, ...), void *__anonymous_object1148, char *__anonymous_object1149);
     39void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RSc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1150), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1151), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1152, char *__anonymous_object1153, unsigned long int __anonymous_object1154), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1155, char __anonymous_object1156), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1157, const char *__fmt__PCc_1, ...), void *__anonymous_object1158, signed char *__anonymous_object1159);
     40void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUc__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1160), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1161), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1162, char *__anonymous_object1163, unsigned long int __anonymous_object1164), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1165, char __anonymous_object1166), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1167, const char *__fmt__PCc_1, ...), void *__anonymous_object1168, unsigned char *__anonymous_object1169);
     41void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1170), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1171), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1172, char *__anonymous_object1173, unsigned long int __anonymous_object1174), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1175, char __anonymous_object1176), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1177, const char *__fmt__PCc_1, ...), void *__anonymous_object1178, signed short int *__anonymous_object1179);
     42void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUs__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1180), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1181), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1182, char *__anonymous_object1183, unsigned long int __anonymous_object1184), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1185, char __anonymous_object1186), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1187, const char *__fmt__PCc_1, ...), void *__anonymous_object1188, unsigned short int *__anonymous_object1189);
     43void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Ri__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1190), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1191), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1192, char *__anonymous_object1193, unsigned long int __anonymous_object1194), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1195, char __anonymous_object1196), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1197, const char *__fmt__PCc_1, ...), void *__anonymous_object1198, signed int *__anonymous_object1199);
     44void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUi__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1200), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1201), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1202, char *__anonymous_object1203, unsigned long int __anonymous_object1204), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1205, char __anonymous_object1206), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1207, const char *__fmt__PCc_1, ...), void *__anonymous_object1208, unsigned int *__anonymous_object1209);
     45void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1210), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1211), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1212, char *__anonymous_object1213, unsigned long int __anonymous_object1214), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1215, char __anonymous_object1216), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1217, const char *__fmt__PCc_1, ...), void *__anonymous_object1218, signed long int *__anonymous_object1219);
     46void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1220), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1221), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1222, char *__anonymous_object1223, unsigned long int __anonymous_object1224), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1225, char __anonymous_object1226), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1227, const char *__fmt__PCc_1, ...), void *__anonymous_object1228, signed long long int *__anonymous_object1229);
     47void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUl__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1230), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1231), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1232, char *__anonymous_object1233, unsigned long int __anonymous_object1234), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1235, char __anonymous_object1236), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1237, const char *__fmt__PCc_1, ...), void *__anonymous_object1238, unsigned long int *__anonymous_object1239);
     48void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RUq__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1240), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1241), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1242, char *__anonymous_object1243, unsigned long int __anonymous_object1244), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1245, char __anonymous_object1246), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1247, const char *__fmt__PCc_1, ...), void *__anonymous_object1248, unsigned long long int *__anonymous_object1249);
     49void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1250), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1251), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1252, char *__anonymous_object1253, unsigned long int __anonymous_object1254), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1255, char __anonymous_object1256), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1257, const char *__fmt__PCc_1, ...), void *__anonymous_object1258, float *__anonymous_object1259);
     50void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1260), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1261), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1262, char *__anonymous_object1263, unsigned long int __anonymous_object1264), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1265, char __anonymous_object1266), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1267, const char *__fmt__PCc_1, ...), void *__anonymous_object1268, double *__anonymous_object1269);
     51void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0Rr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1270), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1271), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1272, char *__anonymous_object1273, unsigned long int __anonymous_object1274), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1275, char __anonymous_object1276), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1277, const char *__fmt__PCc_1, ...), void *__anonymous_object1278, long double *__anonymous_object1279);
     52void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXf__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1280), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1281), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1282, char *__anonymous_object1283, unsigned long int __anonymous_object1284), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1285, char __anonymous_object1286), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1287, const char *__fmt__PCc_1, ...), void *__anonymous_object1288, float _Complex *__anonymous_object1289);
     53void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXd__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1290), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1291), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1292, char *__anonymous_object1293, unsigned long int __anonymous_object1294), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1295, char __anonymous_object1296), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1297, const char *__fmt__PCc_1, ...), void *__anonymous_object1298, double _Complex *__anonymous_object1299);
     54void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0RXr__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1300), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1301), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1302, char *__anonymous_object1303, unsigned long int __anonymous_object1304), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1305, char __anonymous_object1306), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1307, const char *__fmt__PCc_1, ...), void *__anonymous_object1308, long double _Complex *__anonymous_object1309);
     55void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1310), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1311), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1312, char *__anonymous_object1313, unsigned long int __anonymous_object1314), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1315, char __anonymous_object1316), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1317, const char *__fmt__PCc_1, ...), void *__anonymous_object1318, void *(*__anonymous_object1319)(void *__anonymous_object1320));
     56void *__endl__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd0__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1321), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1322), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1323, char *__anonymous_object1324, unsigned long int __anonymous_object1325), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1326, char __anonymous_object1327), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1328, const char *__fmt__PCc_1, ...), void *__is__R7tistype_1);
    5457struct _Istream_cstrUC {
    5558    char *__s__Pc_1;
     
    7881    ((void)((*___dst__R16s_Istream_cstrUC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
    7982}
    80 struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1245);
    81 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1246), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1247), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1248, char *__anonymous_object1249, unsigned long int __anonymous_object1250), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1251, char __anonymous_object1252), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1253, const char *__fmt__PCc_1, ...), void *__anonymous_object1254, struct _Istream_cstrUC __anonymous_object1255);
     83struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1329);
     84void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1330), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1331), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1332, char *__anonymous_object1333, unsigned long int __anonymous_object1334), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1335, char __anonymous_object1336), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1337, const char *__fmt__PCc_1, ...), void *__anonymous_object1338, struct _Istream_cstrUC __anonymous_object1339);
    8285struct _Istream_cstrC {
    8386    char *__s__Pc_1;
     
    117120    ((void)((*___dst__R15s_Istream_cstrC_1).__size__i_1=__size__i_1) /* ?{} */);
    118121}
    119 struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1256, signed int __size__i_1);
    120 void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1257), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1258), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1259, char *__anonymous_object1260, unsigned long int __anonymous_object1261), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1262, char __anonymous_object1263), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1264, const char *__fmt__PCc_1, ...), void *__anonymous_object1265, struct _Istream_cstrC __anonymous_object1266);
     122struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1340, signed int __size__i_1);
     123void *___operator_bitor__A0_1_0_0___fail__PFi_Rd0___eof__PFi_Rd0___open__PF_Rd0PCc___close__PF_Rd0___read__PFRd0_Rd0PcUl___ungetc__PFRd0_Rd0c___fmt__PFi_Rd0PCc__FRd0_Rd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_R7tistype__1)(void *__anonymous_object1341), __attribute__ ((unused)) signed int (*__eof__PFi_R7tistype__1)(void *__anonymous_object1342), __attribute__ ((unused)) void (*__open__PF_R7tistypePCc__1)(void *__is__R7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tistype__1)(void *__is__R7tistype_1), __attribute__ ((unused)) void *(*__read__PFR7tistype_R7tistypePcUl__1)(void *__anonymous_object1343, char *__anonymous_object1344, unsigned long int __anonymous_object1345), __attribute__ ((unused)) void *(*__ungetc__PFR7tistype_R7tistypec__1)(void *__anonymous_object1346, char __anonymous_object1347), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tistypePCc__1)(void *__anonymous_object1348, const char *__fmt__PCc_1, ...), void *__anonymous_object1349, struct _Istream_cstrC __anonymous_object1350);
    121124struct Duration {
    122125    signed long long int __tv__q_1;
     
    149152    ((void)((*__dur__R9sDuration_1).__tv__q_1=((signed long long int )0)));
    150153}
    151 static inline void ___constructor__F_R9sDurationZ__1(struct Duration *__dur__R9sDuration_1, long int __anonymous_object1267){
     154static inline void ___constructor__F_R9sDurationZ__1(struct Duration *__dur__R9sDuration_1, long int __anonymous_object1351){
    152155    ((void)((*__dur__R9sDuration_1).__tv__q_1) /* ?{} */);
    153156    ((void)((*__dur__R9sDuration_1).__tv__q_1=((signed long long int )0)));
     
    183186    ((void)((*__time__R5sTime_1).__tv__Uq_1=((unsigned long long int )0)));
    184187}
    185 static inline void ___constructor__F_R5sTimeZ__1(struct Time *__time__R5sTime_1, long int __anonymous_object1268){
     188static inline void ___constructor__F_R5sTimeZ__1(struct Time *__time__R5sTime_1, long int __anonymous_object1352){
    186189    ((void)((*__time__R5sTime_1).__tv__Uq_1) /* ?{} */);
    187190    ((void)((*__time__R5sTime_1).__tv__Uq_1=((unsigned long long int )0)));
    188191}
    189 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1269), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1270), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1271, _Bool __anonymous_object1272), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1273), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1274, const char *__anonymous_object1275), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1276), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1277, _Bool __anonymous_object1278), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1279), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1280), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1281), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1282), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1283), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1284, const char *__anonymous_object1285), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1286), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1287, const char *__anonymous_object1288), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1289), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1290), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1291, const char *__anonymous_object1292, unsigned long int __anonymous_object1293), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1294, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Duration __dur__9sDuration_1);
    190 void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1295), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1296), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1297, _Bool __anonymous_object1298), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1299), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1300, const char *__anonymous_object1301), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1302), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1303, _Bool __anonymous_object1304), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1305), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1306), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1307), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1308), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1309), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1310, const char *__anonymous_object1311), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1312), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1313, const char *__anonymous_object1314), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1315), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1316), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1317, const char *__anonymous_object1318, unsigned long int __anonymous_object1319), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1320, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Time __time__5sTime_1);
     192void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1353), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1354), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1355, _Bool __anonymous_object1356), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1357), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1358, const char *__anonymous_object1359), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1360), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1361, _Bool __anonymous_object1362), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1363), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1364), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1365), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1366), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1367), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1368, const char *__anonymous_object1369), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1370), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1371, const char *__anonymous_object1372), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1373), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1374), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1375, const char *__anonymous_object1376, unsigned long int __anonymous_object1377), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1378, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Duration __dur__9sDuration_1);
     193void *___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_R7tostype__1)(void *__anonymous_object1379), __attribute__ ((unused)) void (*__sepReset__PF_R7tostype__1)(void *__anonymous_object1380), __attribute__ ((unused)) void (*__sepReset__PF_R7tostypeb__1)(void *__anonymous_object1381, _Bool __anonymous_object1382), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_R7tostype__1)(void *__anonymous_object1383), __attribute__ ((unused)) void (*__sepSetCur__PF_R7tostypePCc__1)(void *__anonymous_object1384, const char *__anonymous_object1385), __attribute__ ((unused)) _Bool (*__getNL__PFb_R7tostype__1)(void *__anonymous_object1386), __attribute__ ((unused)) void (*__setNL__PF_R7tostypeb__1)(void *__anonymous_object1387, _Bool __anonymous_object1388), __attribute__ ((unused)) void (*__sepOn__PF_R7tostype__1)(void *__anonymous_object1389), __attribute__ ((unused)) void (*__sepOff__PF_R7tostype__1)(void *__anonymous_object1390), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_R7tostype__1)(void *__anonymous_object1391), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_R7tostype__1)(void *__anonymous_object1392), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_R7tostype__1)(void *__anonymous_object1393), __attribute__ ((unused)) void (*__sepSet__PF_R7tostypePCc__1)(void *__anonymous_object1394, const char *__anonymous_object1395), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_R7tostype__1)(void *__anonymous_object1396), __attribute__ ((unused)) void (*__sepSetTuple__PF_R7tostypePCc__1)(void *__anonymous_object1397, const char *__anonymous_object1398), __attribute__ ((unused)) signed int (*__fail__PFi_R7tostype__1)(void *__anonymous_object1399), __attribute__ ((unused)) signed int (*__flush__PFi_R7tostype__1)(void *__anonymous_object1400), __attribute__ ((unused)) void (*__open__PF_R7tostypePCcPCc__1)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_R7tostype__1)(void *__os__R7tostype_1), __attribute__ ((unused)) void *(*__write__PFR7tostype_R7tostypePCcUl__1)(void *__anonymous_object1401, const char *__anonymous_object1402, unsigned long int __anonymous_object1403), __attribute__ ((unused)) signed int (*__fmt__PFi_R7tostypePCc__1)(void *__anonymous_object1404, const char *__fmt__PCc_1, ...), void *__os__R7tostype_1, struct Time __time__5sTime_1);
    191194enum __anonymous0 {
    192195    __sepSize__C13e__anonymous0_1 = 16,
     
    468471
    469472}
    470 _Bool __sepPrt__Fb_R9sofstream__1(struct ofstream *__anonymous_object1321);
    471 void __sepReset__F_R9sofstream__1(struct ofstream *__anonymous_object1322);
    472 void __sepReset__F_R9sofstreamb__1(struct ofstream *__anonymous_object1323, _Bool __anonymous_object1324);
    473 const char *__sepGetCur__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1325);
    474 void __sepSetCur__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1326, const char *__anonymous_object1327);
    475 _Bool __getNL__Fb_R9sofstream__1(struct ofstream *__anonymous_object1328);
    476 void __setNL__F_R9sofstreamb__1(struct ofstream *__anonymous_object1329, _Bool __anonymous_object1330);
    477 void __sepOn__F_R9sofstream__1(struct ofstream *__anonymous_object1331);
    478 void __sepOff__F_R9sofstream__1(struct ofstream *__anonymous_object1332);
    479 _Bool __sepDisable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1333);
    480 _Bool __sepEnable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1334);
    481 const char *__sepGet__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1335);
    482 void __sepSet__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1336, const char *__anonymous_object1337);
    483 const char *__sepGetTuple__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1338);
    484 void __sepSetTuple__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1339, const char *__anonymous_object1340);
    485 signed int __fail__Fi_R9sofstream__1(struct ofstream *__anonymous_object1341);
    486 signed int __flush__Fi_R9sofstream__1(struct ofstream *__anonymous_object1342);
    487 void __open__F_R9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1343, const char *__name__PCc_1, const char *__mode__PCc_1);
    488 void __open__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1344, const char *__name__PCc_1);
    489 void __close__F_R9sofstream__1(struct ofstream *__anonymous_object1345);
    490 struct ofstream *__write__FR9sofstream_R9sofstreamPCcUl__1(struct ofstream *__anonymous_object1346, const char *__data__PCc_1, unsigned long int __size__Ul_1);
    491 signed int __fmt__Fi_R9sofstreamPCc__1(struct ofstream *__anonymous_object1347, const char *__fmt__PCc_1, ...);
     473_Bool __sepPrt__Fb_R9sofstream__1(struct ofstream *__anonymous_object1405);
     474void __sepReset__F_R9sofstream__1(struct ofstream *__anonymous_object1406);
     475void __sepReset__F_R9sofstreamb__1(struct ofstream *__anonymous_object1407, _Bool __anonymous_object1408);
     476const char *__sepGetCur__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1409);
     477void __sepSetCur__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1410, const char *__anonymous_object1411);
     478_Bool __getNL__Fb_R9sofstream__1(struct ofstream *__anonymous_object1412);
     479void __setNL__F_R9sofstreamb__1(struct ofstream *__anonymous_object1413, _Bool __anonymous_object1414);
     480void __sepOn__F_R9sofstream__1(struct ofstream *__anonymous_object1415);
     481void __sepOff__F_R9sofstream__1(struct ofstream *__anonymous_object1416);
     482_Bool __sepDisable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1417);
     483_Bool __sepEnable__Fb_R9sofstream__1(struct ofstream *__anonymous_object1418);
     484const char *__sepGet__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1419);
     485void __sepSet__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1420, const char *__anonymous_object1421);
     486const char *__sepGetTuple__FPCc_R9sofstream__1(struct ofstream *__anonymous_object1422);
     487void __sepSetTuple__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1423, const char *__anonymous_object1424);
     488signed int __fail__Fi_R9sofstream__1(struct ofstream *__anonymous_object1425);
     489signed int __flush__Fi_R9sofstream__1(struct ofstream *__anonymous_object1426);
     490void __open__F_R9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1427, const char *__name__PCc_1, const char *__mode__PCc_1);
     491void __open__F_R9sofstreamPCc__1(struct ofstream *__anonymous_object1428, const char *__name__PCc_1);
     492void __close__F_R9sofstream__1(struct ofstream *__anonymous_object1429);
     493struct ofstream *__write__FR9sofstream_R9sofstreamPCcUl__1(struct ofstream *__anonymous_object1430, const char *__data__PCc_1, unsigned long int __size__Ul_1);
     494signed int __fmt__Fi_R9sofstreamPCc__1(struct ofstream *__anonymous_object1431, const char *__fmt__PCc_1, ...);
    492495void ___constructor__F_R9sofstream__1(struct ofstream *__os__R9sofstream_1);
    493496void ___constructor__F_R9sofstreamPCcPCc__1(struct ofstream *__os__R9sofstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
     
    528531struct ifstream *__read__FR9sifstream_R9sifstreamPcUl__1(struct ifstream *__is__R9sifstream_1, char *__data__Pc_1, unsigned long int __size__Ul_1);
    529532struct ifstream *__ungetc__FR9sifstream_R9sifstreamc__1(struct ifstream *__is__R9sifstream_1, char __c__c_1);
    530 signed int __fmt__Fi_R9sifstreamPCc__1(struct ifstream *__anonymous_object1348, const char *__fmt__PCc_1, ...);
     533signed int __fmt__Fi_R9sifstreamPCc__1(struct ifstream *__anonymous_object1432, const char *__fmt__PCc_1, ...);
    531534void ___constructor__F_R9sifstream__1(struct ifstream *__is__R9sifstream_1);
    532535void ___constructor__F_R9sifstreamPCcPCc__1(struct ifstream *__is__R9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
     
    538541    struct ofstream *_tmp_cp_ret4;
    539542    __attribute__ ((unused)) struct ofstream *_thunk0(struct ofstream *_p0){
    540         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1349))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1350))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1351, _Bool __anonymous_object1352))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1353))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1354, const char *__anonymous_object1355))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1356))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1357, _Bool __anonymous_object1358))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1359))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1360))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1362))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1363))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1364, const char *__anonymous_object1365))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1366))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1367, const char *__anonymous_object1368))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1369))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1370))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1371, const char *__anonymous_object1372, unsigned long int __anonymous_object1373))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1374, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    541     }
    542     ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1375))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1376))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1377, _Bool __anonymous_object1378))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1379))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1380, const char *__anonymous_object1381))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1382))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1383, _Bool __anonymous_object1384))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1385))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1386))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1388))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1389))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1390, const char *__anonymous_object1391))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1392))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1393, const char *__anonymous_object1394))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1395))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1396))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1397, const char *__anonymous_object1398, unsigned long int __anonymous_object1399))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1400, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0c__1(((_Bool (*)(void *__anonymous_object1401))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1402))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1403, _Bool __anonymous_object1404))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1405))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1406, const char *__anonymous_object1407))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1408))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1409, _Bool __anonymous_object1410))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1411))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1412))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1414))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1415))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1416, const char *__anonymous_object1417))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1418))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1419, const char *__anonymous_object1420))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1421))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1422))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1423, const char *__anonymous_object1424, unsigned long int __anonymous_object1425))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1426, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1427))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1428))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1429, _Bool __anonymous_object1430))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1431))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1432, const char *__anonymous_object1433))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1434))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1437))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1438))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1439))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1440))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1441))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1442, const char *__anonymous_object1443))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1444))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1445, const char *__anonymous_object1446))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1447))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1448))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1449, const char *__anonymous_object1450, unsigned long int __anonymous_object1451))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1452, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1453))(&_thunk0))))) , _tmp_cp_ret4));
     543        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1433))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1434))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1437))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1438, const char *__anonymous_object1439))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1440))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1441, _Bool __anonymous_object1442))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1443))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1444))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1445))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1446))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1447))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1448, const char *__anonymous_object1449))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1450))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1451, const char *__anonymous_object1452))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1453))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1454))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1455, const char *__anonymous_object1456, unsigned long int __anonymous_object1457))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1458, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     544    }
     545    ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1459))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1460))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1461, _Bool __anonymous_object1462))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1463))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1464, const char *__anonymous_object1465))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1466))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1467, _Bool __anonymous_object1468))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1469))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1470))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1471))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1472))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1473))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1474, const char *__anonymous_object1475))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1476))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1477, const char *__anonymous_object1478))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1479))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1480))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1481, const char *__anonymous_object1482, unsigned long int __anonymous_object1483))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1484, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0c__1(((_Bool (*)(void *__anonymous_object1485))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1486))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1487, _Bool __anonymous_object1488))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1489))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1490, const char *__anonymous_object1491))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1492))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1493, _Bool __anonymous_object1494))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1495))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1496))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1497))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1498))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1499))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1500, const char *__anonymous_object1501))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1502))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1503, const char *__anonymous_object1504))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1505))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1506))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1507, const char *__anonymous_object1508, unsigned long int __anonymous_object1509))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1510, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1511))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1512))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1513, _Bool __anonymous_object1514))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1515))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1516, const char *__anonymous_object1517))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1518))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1519, _Bool __anonymous_object1520))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1521))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1522))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1523))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1524))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1525))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1526, const char *__anonymous_object1527))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1528))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1529, const char *__anonymous_object1530))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1531))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1532))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1533, const char *__anonymous_object1534, unsigned long int __anonymous_object1535))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1536, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1537))(&_thunk0))))) , _tmp_cp_ret4));
    543546}
    544547void __f__F_Sc__1(signed char __v__Sc_1){
     
    547550    struct ofstream *_tmp_cp_ret7;
    548551    __attribute__ ((unused)) struct ofstream *_thunk1(struct ofstream *_p0){
    549         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1454))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1455))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1456, _Bool __anonymous_object1457))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1458))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1459, const char *__anonymous_object1460))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1461))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1462, _Bool __anonymous_object1463))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1464))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1465))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1467))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1468))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1469, const char *__anonymous_object1470))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1471))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1472, const char *__anonymous_object1473))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1474))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1475))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1476, const char *__anonymous_object1477, unsigned long int __anonymous_object1478))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1479, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    550     }
    551     ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1480))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1481))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1482, _Bool __anonymous_object1483))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1484))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1485, const char *__anonymous_object1486))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1487))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1488, _Bool __anonymous_object1489))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1490))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1491))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1493))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1494))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1495, const char *__anonymous_object1496))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1497))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1498, const char *__anonymous_object1499))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1500))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1501))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1502, const char *__anonymous_object1503, unsigned long int __anonymous_object1504))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1505, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Sc__1(((_Bool (*)(void *__anonymous_object1506))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1507))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1508, _Bool __anonymous_object1509))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1510))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1511, const char *__anonymous_object1512))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1513))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1514, _Bool __anonymous_object1515))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1516))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1517))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1519))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1520))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1521, const char *__anonymous_object1522))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1523))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1524, const char *__anonymous_object1525))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1526))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1527))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1528, const char *__anonymous_object1529, unsigned long int __anonymous_object1530))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1531, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1532))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1533))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1534, _Bool __anonymous_object1535))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1536))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1537, const char *__anonymous_object1538))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1539))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1542))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1543))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1544))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1545))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1546))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1547, const char *__anonymous_object1548))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1549))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1550, const char *__anonymous_object1551))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1552))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1553))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1554, const char *__anonymous_object1555, unsigned long int __anonymous_object1556))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1557, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1558))(&_thunk1))))) , _tmp_cp_ret7));
     552        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1538))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1539))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1542))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1543, const char *__anonymous_object1544))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1545))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1546, _Bool __anonymous_object1547))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1548))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1549))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1550))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1551))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1552))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1553, const char *__anonymous_object1554))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1555))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1556, const char *__anonymous_object1557))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1558))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1559))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1560, const char *__anonymous_object1561, unsigned long int __anonymous_object1562))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1563, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     553    }
     554    ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1564))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1565))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1566, _Bool __anonymous_object1567))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1568))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1569, const char *__anonymous_object1570))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1571))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1572, _Bool __anonymous_object1573))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1574))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1575))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1576))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1577))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1578))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1579, const char *__anonymous_object1580))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1581))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1582, const char *__anonymous_object1583))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1584))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1585))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1586, const char *__anonymous_object1587, unsigned long int __anonymous_object1588))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1589, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Sc__1(((_Bool (*)(void *__anonymous_object1590))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1591))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1592, _Bool __anonymous_object1593))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1594))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1595, const char *__anonymous_object1596))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1597))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1598, _Bool __anonymous_object1599))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1600))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1601))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1602))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1603))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1604))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1605, const char *__anonymous_object1606))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1607))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1608, const char *__anonymous_object1609))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1610))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1611))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1612, const char *__anonymous_object1613, unsigned long int __anonymous_object1614))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1615, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1616))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1617))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1618, _Bool __anonymous_object1619))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1620))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1621, const char *__anonymous_object1622))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1623))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1624, _Bool __anonymous_object1625))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1626))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1627))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1628))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1629))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1630))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1631, const char *__anonymous_object1632))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1633))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1634, const char *__anonymous_object1635))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1636))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1637))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1638, const char *__anonymous_object1639, unsigned long int __anonymous_object1640))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1641, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1642))(&_thunk1))))) , _tmp_cp_ret7));
    552555}
    553556void __f__F_Uc__1(unsigned char __v__Uc_1){
     
    556559    struct ofstream *_tmp_cp_ret10;
    557560    __attribute__ ((unused)) struct ofstream *_thunk2(struct ofstream *_p0){
    558         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1559))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1560))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1561, _Bool __anonymous_object1562))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1563))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1564, const char *__anonymous_object1565))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1566))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1567, _Bool __anonymous_object1568))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1569))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1570))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1572))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1573))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1574, const char *__anonymous_object1575))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1576))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1577, const char *__anonymous_object1578))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1579))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1580))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1581, const char *__anonymous_object1582, unsigned long int __anonymous_object1583))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1584, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    559     }
    560     ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1585))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1586))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1587, _Bool __anonymous_object1588))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1589))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1590, const char *__anonymous_object1591))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1592))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1593, _Bool __anonymous_object1594))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1595))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1596))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1598))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1599))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1600, const char *__anonymous_object1601))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1602))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1603, const char *__anonymous_object1604))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1605))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1606))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1607, const char *__anonymous_object1608, unsigned long int __anonymous_object1609))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1610, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Uc__1(((_Bool (*)(void *__anonymous_object1611))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1612))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1613, _Bool __anonymous_object1614))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1615))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1616, const char *__anonymous_object1617))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1618))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1619, _Bool __anonymous_object1620))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1621))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1622))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1624))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1625))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1626, const char *__anonymous_object1627))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1628))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1629, const char *__anonymous_object1630))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1631))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1632))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1633, const char *__anonymous_object1634, unsigned long int __anonymous_object1635))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1636, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1637))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1638))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1639, _Bool __anonymous_object1640))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1641))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1642, const char *__anonymous_object1643))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1644))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1647))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1648))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1649))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1650))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1651))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1652, const char *__anonymous_object1653))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1654))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1655, const char *__anonymous_object1656))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1657))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1658))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1659, const char *__anonymous_object1660, unsigned long int __anonymous_object1661))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1662, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1663))(&_thunk2))))) , _tmp_cp_ret10));
     561        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1643))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1644))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1647))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1648, const char *__anonymous_object1649))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1650))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1651, _Bool __anonymous_object1652))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1653))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1654))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1655))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1656))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1657))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1658, const char *__anonymous_object1659))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1660))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1661, const char *__anonymous_object1662))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1663))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1664))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1665, const char *__anonymous_object1666, unsigned long int __anonymous_object1667))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1668, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     562    }
     563    ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1669))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1670))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1671, _Bool __anonymous_object1672))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1673))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1674, const char *__anonymous_object1675))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1676))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1677, _Bool __anonymous_object1678))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1679))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1680))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1681))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1682))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1683))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1684, const char *__anonymous_object1685))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1686))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1687, const char *__anonymous_object1688))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1689))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1690))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1691, const char *__anonymous_object1692, unsigned long int __anonymous_object1693))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1694, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Uc__1(((_Bool (*)(void *__anonymous_object1695))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1696))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1697, _Bool __anonymous_object1698))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1699))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1700, const char *__anonymous_object1701))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1702))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1703, _Bool __anonymous_object1704))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1705))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1706))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1707))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1708))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1709))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1710, const char *__anonymous_object1711))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1712))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1713, const char *__anonymous_object1714))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1715))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1716))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1717, const char *__anonymous_object1718, unsigned long int __anonymous_object1719))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1720, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1721))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1722))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1723, _Bool __anonymous_object1724))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1725))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1726, const char *__anonymous_object1727))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1728))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1729, _Bool __anonymous_object1730))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1731))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1732))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1733))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1734))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1735))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1736, const char *__anonymous_object1737))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1738))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1739, const char *__anonymous_object1740))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1741))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1742))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1743, const char *__anonymous_object1744, unsigned long int __anonymous_object1745))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1746, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1747))(&_thunk2))))) , _tmp_cp_ret10));
    561564}
    562565void __f__F_s__1(signed short int __v__s_1){
     
    565568    struct ofstream *_tmp_cp_ret13;
    566569    __attribute__ ((unused)) struct ofstream *_thunk3(struct ofstream *_p0){
    567         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1664))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1665))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1666, _Bool __anonymous_object1667))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1668))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1669, const char *__anonymous_object1670))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1671))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1672, _Bool __anonymous_object1673))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1674))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1675))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1677))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1678))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1679, const char *__anonymous_object1680))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1681))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1682, const char *__anonymous_object1683))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1684))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1685))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1686, const char *__anonymous_object1687, unsigned long int __anonymous_object1688))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1689, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    568     }
    569     ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1690))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1691))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1692, _Bool __anonymous_object1693))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1694))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1695, const char *__anonymous_object1696))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1697))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1698, _Bool __anonymous_object1699))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1700))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1701))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1703))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1704))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1705, const char *__anonymous_object1706))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1707))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1708, const char *__anonymous_object1709))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1710))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1711))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1712, const char *__anonymous_object1713, unsigned long int __anonymous_object1714))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1715, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0s__1(((_Bool (*)(void *__anonymous_object1716))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1717))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1718, _Bool __anonymous_object1719))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1720))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1721, const char *__anonymous_object1722))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1723))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1724, _Bool __anonymous_object1725))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1726))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1727))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1729))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1730))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1731, const char *__anonymous_object1732))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1733))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1734, const char *__anonymous_object1735))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1736))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1737))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1738, const char *__anonymous_object1739, unsigned long int __anonymous_object1740))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1741, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1742))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1743))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1744, _Bool __anonymous_object1745))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1746))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1747, const char *__anonymous_object1748))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1749))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1752))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1753))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1754))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1755))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1756))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1757, const char *__anonymous_object1758))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1759))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1760, const char *__anonymous_object1761))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1762))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1763))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1764, const char *__anonymous_object1765, unsigned long int __anonymous_object1766))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1767, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1768))(&_thunk3))))) , _tmp_cp_ret13));
     570        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1748))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1749))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1752))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1753, const char *__anonymous_object1754))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1755))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1756, _Bool __anonymous_object1757))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1758))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1759))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1760))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1761))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1762))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1763, const char *__anonymous_object1764))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1765))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1766, const char *__anonymous_object1767))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1768))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1769))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1770, const char *__anonymous_object1771, unsigned long int __anonymous_object1772))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1773, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     571    }
     572    ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1774))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1775))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1776, _Bool __anonymous_object1777))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1778))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1779, const char *__anonymous_object1780))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1781))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1782, _Bool __anonymous_object1783))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1784))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1785))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1786))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1787))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1788))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1789, const char *__anonymous_object1790))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1791))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1792, const char *__anonymous_object1793))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1794))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1795))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1796, const char *__anonymous_object1797, unsigned long int __anonymous_object1798))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1799, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0s__1(((_Bool (*)(void *__anonymous_object1800))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1801))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1802, _Bool __anonymous_object1803))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1804))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1805, const char *__anonymous_object1806))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1807))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1808, _Bool __anonymous_object1809))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1810))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1811))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1812))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1813))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1814))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1815, const char *__anonymous_object1816))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1817))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1818, const char *__anonymous_object1819))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1820))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1821))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1822, const char *__anonymous_object1823, unsigned long int __anonymous_object1824))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1825, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1826))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1827))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1828, _Bool __anonymous_object1829))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1830))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1831, const char *__anonymous_object1832))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1833))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1834, _Bool __anonymous_object1835))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1836))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1837))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1838))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1839))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1840))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1841, const char *__anonymous_object1842))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1843))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1844, const char *__anonymous_object1845))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1846))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1847))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1848, const char *__anonymous_object1849, unsigned long int __anonymous_object1850))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1851, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1852))(&_thunk3))))) , _tmp_cp_ret13));
    570573}
    571574void __f__F_Us__1(unsigned short int __v__Us_1){
     
    574577    struct ofstream *_tmp_cp_ret16;
    575578    __attribute__ ((unused)) struct ofstream *_thunk4(struct ofstream *_p0){
    576         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1769))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1770))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1771, _Bool __anonymous_object1772))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1773))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1774, const char *__anonymous_object1775))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1776))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1777, _Bool __anonymous_object1778))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1779))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1780))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1782))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1783))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1784, const char *__anonymous_object1785))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1786))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1787, const char *__anonymous_object1788))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1789))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1790))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1791, const char *__anonymous_object1792, unsigned long int __anonymous_object1793))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1794, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    577     }
    578     ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1795))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1796))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1797, _Bool __anonymous_object1798))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1799))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1800, const char *__anonymous_object1801))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1802))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1803, _Bool __anonymous_object1804))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1805))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1806))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1808))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1809))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1810, const char *__anonymous_object1811))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1812))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1813, const char *__anonymous_object1814))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1815))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1816))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1817, const char *__anonymous_object1818, unsigned long int __anonymous_object1819))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1820, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Us__1(((_Bool (*)(void *__anonymous_object1821))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1822))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1823, _Bool __anonymous_object1824))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1825))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1826, const char *__anonymous_object1827))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1828))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1829, _Bool __anonymous_object1830))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1831))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1832))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1834))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1835))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1836, const char *__anonymous_object1837))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1838))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1839, const char *__anonymous_object1840))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1841))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1842))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1843, const char *__anonymous_object1844, unsigned long int __anonymous_object1845))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1846, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1847))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1848))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1849, _Bool __anonymous_object1850))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1851))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1852, const char *__anonymous_object1853))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1854))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1857))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1858))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1859))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1860))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1861))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1862, const char *__anonymous_object1863))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1864))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1865, const char *__anonymous_object1866))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1867))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1868))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1869, const char *__anonymous_object1870, unsigned long int __anonymous_object1871))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1872, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1873))(&_thunk4))))) , _tmp_cp_ret16));
     579        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1853))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1854))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1857))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1858, const char *__anonymous_object1859))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1860))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1861, _Bool __anonymous_object1862))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1863))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1864))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1865))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1866))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1867))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1868, const char *__anonymous_object1869))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1870))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1871, const char *__anonymous_object1872))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1873))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1874))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1875, const char *__anonymous_object1876, unsigned long int __anonymous_object1877))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1878, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     580    }
     581    ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1879))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1880))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1881, _Bool __anonymous_object1882))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1883))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1884, const char *__anonymous_object1885))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1886))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1887, _Bool __anonymous_object1888))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1889))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1890))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1891))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1892))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1893))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1894, const char *__anonymous_object1895))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1896))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1897, const char *__anonymous_object1898))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1899))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1900))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1901, const char *__anonymous_object1902, unsigned long int __anonymous_object1903))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1904, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Us__1(((_Bool (*)(void *__anonymous_object1905))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1906))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1907, _Bool __anonymous_object1908))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1909))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1910, const char *__anonymous_object1911))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1912))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1913, _Bool __anonymous_object1914))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1915))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1916))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1917))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1918))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1919))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1920, const char *__anonymous_object1921))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1922))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1923, const char *__anonymous_object1924))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1925))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1926))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1927, const char *__anonymous_object1928, unsigned long int __anonymous_object1929))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1930, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1931))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1932))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1933, _Bool __anonymous_object1934))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1935))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1936, const char *__anonymous_object1937))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1938))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1939, _Bool __anonymous_object1940))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1941))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1942))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1943))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1944))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1945))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1946, const char *__anonymous_object1947))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1948))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1949, const char *__anonymous_object1950))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1951))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1952))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1953, const char *__anonymous_object1954, unsigned long int __anonymous_object1955))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1956, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1957))(&_thunk4))))) , _tmp_cp_ret16));
    579582}
    580583void __f__F_Ui__1(unsigned int __v__Ui_1){
     
    583586    struct ofstream *_tmp_cp_ret19;
    584587    __attribute__ ((unused)) struct ofstream *_thunk5(struct ofstream *_p0){
    585         return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1874))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1875))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1876, _Bool __anonymous_object1877))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1878))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1879, const char *__anonymous_object1880))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1881))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1882, _Bool __anonymous_object1883))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1884))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1885))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1887))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1888))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1889, const char *__anonymous_object1890))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1891))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1892, const char *__anonymous_object1893))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1894))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1895))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1896, const char *__anonymous_object1897, unsigned long int __anonymous_object1898))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1899, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
    586     }
    587     ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1900))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1901))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1902, _Bool __anonymous_object1903))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1904))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1905, const char *__anonymous_object1906))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1907))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1908, _Bool __anonymous_object1909))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1910))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1911))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1913))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1914))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1915, const char *__anonymous_object1916))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1917))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1918, const char *__anonymous_object1919))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1920))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1921))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1922, const char *__anonymous_object1923, unsigned long int __anonymous_object1924))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1925, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Ui__1(((_Bool (*)(void *__anonymous_object1926))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1927))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1928, _Bool __anonymous_object1929))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1930))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1931, const char *__anonymous_object1932))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1933))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1934, _Bool __anonymous_object1935))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1936))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1937))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1939))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1940))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1941, const char *__anonymous_object1942))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1943))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1944, const char *__anonymous_object1945))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1946))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1947))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1948, const char *__anonymous_object1949, unsigned long int __anonymous_object1950))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1951, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object1952))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1953))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1954, _Bool __anonymous_object1955))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1956))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1957, const char *__anonymous_object1958))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1959))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1962))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1963))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1964))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1965))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1966))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1967, const char *__anonymous_object1968))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1969))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1970, const char *__anonymous_object1971))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1972))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1973))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1974, const char *__anonymous_object1975, unsigned long int __anonymous_object1976))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1977, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ui_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object1978))(&_thunk5))))) , _tmp_cp_ret19));
     588        return __endl__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0__1(((_Bool (*)(void *__anonymous_object1958))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1959))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1962))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1963, const char *__anonymous_object1964))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1965))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1966, _Bool __anonymous_object1967))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1968))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1969))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1970))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1971))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1972))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1973, const char *__anonymous_object1974))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1975))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1976, const char *__anonymous_object1977))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1978))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object1979))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object1980, const char *__anonymous_object1981, unsigned long int __anonymous_object1982))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1983, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)_p0));
     589    }
     590    ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PFRd0_Rd0___1(((_Bool (*)(void *__anonymous_object1984))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1985))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object1986, _Bool __anonymous_object1987))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object1988))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1989, const char *__anonymous_object1990))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1991))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object1992, _Bool __anonymous_object1993))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object1994))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object1995))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1996))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object1997))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object1998))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object1999, const char *__anonymous_object2000))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2001))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2002, const char *__anonymous_object2003))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2004))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2005))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2006, const char *__anonymous_object2007, unsigned long int __anonymous_object2008))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2009, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0Ui__1(((_Bool (*)(void *__anonymous_object2010))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2011))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object2012, _Bool __anonymous_object2013))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object2014))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2015, const char *__anonymous_object2016))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object2017))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2018, _Bool __anonymous_object2019))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object2020))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object2021))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2022))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2023))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object2024))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2025, const char *__anonymous_object2026))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2027))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2028, const char *__anonymous_object2029))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2030))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2031))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2032, const char *__anonymous_object2033, unsigned long int __anonymous_object2034))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2035, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__PFb_Rd0___sepReset__PF_Rd0___sepReset__PF_Rd0b___sepGetCur__PFPCc_Rd0___sepSetCur__PF_Rd0PCc___getNL__PFb_Rd0___setNL__PF_Rd0b___sepOn__PF_Rd0___sepOff__PF_Rd0___sepDisable__PFb_Rd0___sepEnable__PFb_Rd0___sepGet__PFPCc_Rd0___sepSet__PF_Rd0PCc___sepGetTuple__PFPCc_Rd0___sepSetTuple__PF_Rd0PCc___fail__PFi_Rd0___flush__PFi_Rd0___open__PF_Rd0PCcPCc___close__PF_Rd0___write__PFRd0_Rd0PCcUl___fmt__PFi_Rd0PCc__FRd0_Rd0PCc__1(((_Bool (*)(void *__anonymous_object2036))__sepPrt__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2037))__sepReset__F_R9sofstream__1), ((void (*)(void *__anonymous_object2038, _Bool __anonymous_object2039))__sepReset__F_R9sofstreamb__1), ((const char *(*)(void *__anonymous_object2040))__sepGetCur__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2041, const char *__anonymous_object2042))__sepSetCur__F_R9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object2043))__getNL__Fb_R9sofstream__1), ((void (*)(void *__anonymous_object2044, _Bool __anonymous_object2045))__setNL__F_R9sofstreamb__1), ((void (*)(void *__anonymous_object2046))__sepOn__F_R9sofstream__1), ((void (*)(void *__anonymous_object2047))__sepOff__F_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2048))__sepDisable__Fb_R9sofstream__1), ((_Bool (*)(void *__anonymous_object2049))__sepEnable__Fb_R9sofstream__1), ((const char *(*)(void *__anonymous_object2050))__sepGet__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2051, const char *__anonymous_object2052))__sepSet__F_R9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object2053))__sepGetTuple__FPCc_R9sofstream__1), ((void (*)(void *__anonymous_object2054, const char *__anonymous_object2055))__sepSetTuple__F_R9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object2056))__fail__Fi_R9sofstream__1), ((signed int (*)(void *__anonymous_object2057))__flush__Fi_R9sofstream__1), ((void (*)(void *__os__R7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_R9sofstreamPCcPCc__1), ((void (*)(void *__os__R7tostype_1))__close__F_R9sofstream__1), ((void *(*)(void *__anonymous_object2058, const char *__anonymous_object2059, unsigned long int __anonymous_object2060))__write__FR9sofstream_R9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object2061, const char *__fmt__PCc_1, ...))__fmt__Fi_R9sofstreamPCc__1), ((void *)__sout__R9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ui_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object2062))(&_thunk5))))) , _tmp_cp_ret19));
    588591}
    589592signed int __main__Fi___1(){
  • src/tests/.expect/user_literals.txt

    rff29f08 rf6f0cca3  
    2323_thingy_ 10
    2424secs abc
     25mins
     26hours abc
     27_A_ abc
    2528_thingy_ abc
  • src/tests/concurrent/examples/.expect/boundedBufferEXT.txt

    rff29f08 rf6f0cca3  
    1 total:400000
     1concurrent/examples/boundedBufferEXT.c:39:1 error: No alternatives for function in call to waitfor
     2/u/pabuhr/software/cfa-cc/include/cfa/bits/containers.h:170:1 error: candidate function not viable: no mutex parameters
     3forall
     4  _6573_20_T: sized object type
     5  ... with assertions
     6    get_next: pointer to function
     7    ... with parameters
     8      reference to instance of type _6573_20_T (not function type)
     9    ... returning
     10      _retval_get_next: reference to pointer to instance of type _6573_20_T (not function type)
     11      ... with attributes:
     12        Attribute with name: unused
     13
     14
     15
     16  lvalue function
     17... with parameters
     18  this: reference to instance of struct __queue with body 1
     19  ... with parameters
     20    instance of type _6573_20_T (not function type)
     21
     22  it: pointer to pointer to instance of type _6573_20_T (not function type)
     23... returning
     24  _retval_remove: pointer to instance of type _6573_20_T (not function type)
     25  ... with attributes:
     26    Attribute with name: unused
     27
     28
     29/usr/include/stdio.h:178:1 error: candidate function not viable: no mutex parameters
     30lvalue function
     31... with parameters
     32  __filename: C pointer to const char
     33... returning
     34  _retval_remove: signed int
     35  ... with attributes:
     36    Attribute with name: unused
     37
     38
     39concurrent/examples/boundedBufferEXT.c:47:1 error: No alternatives for function in call to waitfor
     40concurrent/examples/boundedBufferEXT.c:37:1 error: candidate function not viable: too few mutex arguments
     41forall
     42  _6578_20_T: sized object type
     43  ... with assertions
     44    ?=?: pointer to function
     45    ... with parameters
     46      reference to instance of type _6578_20_T (not function type)
     47      instance of type _6578_20_T (not function type)
     48    ... returning
     49      _retval__operator_assign: instance of type _6578_20_T (not function type)
     50      ... with attributes:
     51        Attribute with name: unused
     52
     53
     54    ?{}: pointer to function
     55    ... with parameters
     56      reference to instance of type _6578_20_T (not function type)
     57    ... returning nothing
     58
     59    ?{}: pointer to function
     60    ... with parameters
     61      reference to instance of type _6578_20_T (not function type)
     62      instance of type _6578_20_T (not function type)
     63    ... returning nothing
     64
     65    ^?{}: pointer to function
     66    ... with parameters
     67      reference to instance of type _6578_20_T (not function type)
     68    ... returning nothing
     69
     70
     71  lvalue function
     72... with parameters
     73  buffer: mutex reference to instance of struct Buffer with body 1
     74  ... with parameters
     75    instance of type _6578_20_T (not function type)
     76
     77  elem: instance of type _6578_20_T (not function type)
     78... returning nothing
     79
  • src/tests/concurrent/examples/boundedBufferEXT.c

    rff29f08 rf6f0cca3  
    1 //
     1// 
    22// The contents of this file are covered under the licence agreement in the
    33// file "LICENCE" distributed with Cforall.
    4 //
    5 // boundedBufferEXT.c --
    6 //
     4// 
     5// boundedBufferEXT.c -- 
     6// 
    77// Author           : Peter A. Buhr
    88// Created On       : Wed Apr 18 22:52:12 2018
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Wed May  2 16:12:58 2018
    11 // Update Count     : 7
    12 //
     10// Last Modified On : Fri Apr 20 22:25:14 2018
     11// Update Count     : 6
     12// 
    1313
    1414#include <stdlib>                                                                               // random
     
    2222enum { BufferSize = 50 };
    2323
    24 forall( otype T ) {
    25         monitor Buffer {
    26                 int front, back, count;
    27                 T elements[BufferSize];
    28         }; // Buffer
     24forall( otype T )
     25monitor Buffer {
     26        int front, back, count;
     27        T elements[BufferSize];
     28};
    2929
    30         void ?{}( Buffer(T) & buffer ) with( buffer ) { [front, back, count] = 0; }
     30forall( otype T )
     31void ?{}( Buffer(T) & buffer ) with( buffer ) { [front, back, count] = 0; }
    3132
    32         int query( Buffer(T) & buffer ) { return buffer.count; } // read-only, no mutual exclusion
     33forall( otype T )
     34int query( Buffer(T) & buffer ) { return buffer.count; }
    3335
    34         T remove( Buffer(T) & mutex buffer );                           // forward
     36forall( otype T )                                                                               // forward
     37T remove( Buffer(T) & mutex buffer );
    3538
    36         void insert( Buffer(T) & mutex buffer, T elem ) with( buffer ) {
    37                 if ( count == BufferSize ) waitfor( remove, buffer );
    38                 elements[back] = elem;
    39                 back = ( back + 1 ) % BufferSize;
    40                 count += 1;
    41         } // insert
     39forall( otype T )
     40void insert( Buffer(T) & mutex buffer, T elem ) with( buffer ) {
     41        if ( count == BufferSize ) waitfor( remove );
     42        elements[back] = elem;
     43        back = ( back + 1 ) % BufferSize;
     44        count += 1;
     45}
    4246
    43         T remove( Buffer(T) & mutex buffer ) with( buffer ) {
    44                 if ( count == 0 ) waitfor( insert, buffer );
    45                 T elem = elements[front];
    46                 front = ( front + 1 ) % BufferSize;
    47                 count -= 1;
    48                 return elem;
    49         } // remove
     47forall( otype T )
     48T remove( Buffer(T) & mutex buffer ) with( buffer ) {
     49        if ( count == 0 ) waitfor( insert );
     50        T elem = elements[front];
     51        front = ( front + 1 ) % BufferSize;
     52        count -= 1;
     53        return elem;
    5054}
    5155
  • src/tests/concurrent/examples/boundedBufferINT.c

    rff29f08 rf6f0cca3  
    88// Created On       : Mon Oct 30 12:45:13 2017
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Thu Apr 26 23:08:17 2018
    11 // Update Count     : 82
     10// Last Modified On : Fri Apr 20 22:18:18 2018
     11// Update Count     : 78
    1212//
    1313
     
    2222enum { BufferSize = 50 };
    2323
    24 forall( otype T ) {
    25         monitor Buffer {
    26                 condition full, empty;
    27                 int front, back, count;
    28                 T elements[BufferSize];
    29         }; // Buffer
     24forall( otype T )
     25monitor Buffer {
     26        condition full, empty;
     27        int front, back, count;
     28        T elements[BufferSize];
     29};
    3030
    31         void ?{}( Buffer(T) & buffer ) with( buffer ) { [front, back, count] = 0; }
     31forall( otype T )
     32void ?{}( Buffer(T) & buffer ) with( buffer ) { [front, back, count] = 0; }
    3233
    33         int query( Buffer(T) & buffer ) { return buffer.count; } // read-only, no mutual exclusion
     34forall( otype T )
     35int query( Buffer(T) & buffer ) { return buffer.count; }
    3436
    35         void insert( Buffer(T) & mutex buffer, T elem ) with( buffer ) {
    36                 if ( count == BufferSize ) wait( empty );
    37                 elements[back] = elem;
    38                 back = ( back + 1 ) % BufferSize;
    39                 count += 1;
    40                 signal( full );
    41         } // insert
     37forall( otype T )
     38void insert( Buffer(T) & mutex buffer, T elem ) with( buffer ) {
     39        if ( count == BufferSize ) wait( empty );
     40        elements[back] = elem;
     41        back = ( back + 1 ) % BufferSize;
     42        count += 1;
     43        signal( full );
     44}
    4245
    43         T remove( Buffer(T) & mutex buffer ) with( buffer ) {
    44                 if ( count == 0 ) wait( full );
    45                 T elem = elements[front];
    46                 front = ( front + 1 ) % BufferSize;
    47                 count -= 1;
    48                 signal( empty );
    49                 return elem;
    50         } // remove
     46forall( otype T )
     47T remove( Buffer(T) & mutex buffer ) with( buffer ) {
     48        if ( count == 0 ) wait( full );
     49        T elem = elements[front];
     50        front = ( front + 1 ) % BufferSize;
     51        count -= 1;
     52        signal( empty );
     53        return elem;
    5154}
    5255
  • src/tests/concurrent/preempt.c

    rff29f08 rf6f0cca3  
    1717#endif
    1818
    19 extern void __cfaabi_check_preemption();
    20 
    2119static volatile int counter = 0;
    2220
     
    3129void main(worker_t & this) {
    3230        while(counter < N) {
    33                 __cfaabi_check_preemption();
    3431                if( (counter % 7) == this.value ) {
    35                         __cfaabi_check_preemption();
    3632                        int next = __atomic_add_fetch_4(&counter, 1, __ATOMIC_SEQ_CST);
    37                         __cfaabi_check_preemption();
    3833                        if( (next % 100) == 0 ) printf("%d\n", (int)next);
    39                         __cfaabi_check_preemption();
    4034                }
    41                 __cfaabi_check_preemption();
    4235        }
    4336}
  • src/tests/concurrent/thread.c

    rff29f08 rf6f0cca3  
    77thread Second { semaphore* lock; };
    88
    9 void ?{}( First  & this, semaphore & lock ) { ((thread&)this){"Thread 1"}; this.lock = &lock; }
    10 void ?{}( Second & this, semaphore & lock ) { ((thread&)this){"Thread 2"}; this.lock = &lock; }
     9void ?{}( First & this, semaphore & lock ) { this.lock = &lock; }
     10void ?{}( Second & this, semaphore & lock ) { this.lock = &lock; }
    1111
    1212void main(First& this) {
  • src/tests/coroutine/fibonacci.c

    rff29f08 rf6f0cca3  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // fibonacci.c -- 3-state finite-state machine
    8 
     7// fibonacci.c --
    98//
    109// Author           : Thierry Delisle
    1110// Created On       : Thu Jun  8 07:29:37 2017
    1211// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Fri Apr 27 08:55:31 2018
    14 // Update Count     : 19
     12// Last Modified On : Thu Mar 22 22:45:44 2018
     13// Update Count     : 15
    1514//
    1615
     
    2019coroutine Fibonacci { int fn; };                                                // used for communication
    2120
    22 void main( Fibonacci & fib ) with( fib ) {                              // called on first resume
     21void ?{}( Fibonacci & fib ) with( fib ) { fn = 0; }
     22
     23// main automatically called on first resume
     24void main( Fibonacci & fib ) with( fib ) {
    2325        int fn1, fn2;                                                                           // retained between resumes
    2426        fn = 0;  fn1 = fn;                                                                      // 1st case
     
    2729        suspend();                                                                                      // restart last resume
    2830        for ( ;; ) {
    29                 fn = fn1 + fn2;  fn2 = fn1;  fn1 = fn;                  // general case
     31                fn = fn1 + fn2; fn2 = fn1;  fn1 = fn;                   // general case
    3032                suspend();                                                                              // restart last resume
    3133        } // for
  • src/tests/coroutine/fmtLines.c

    rff29f08 rf6f0cca3  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // fmtLines.cc -- format characters into blocks of 4 and groups of 5 blocks per line
     7// fmtLines.cc --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Sun Sep 17 21:56:15 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 15 12:25:33 2018
    13 // Update Count     : 42
     12// Last Modified On : Tue Dec  5 21:56:35 2017
     13// Update Count     : 38
    1414//
    1515
     
    2121        int g, b;                                                                                       // global because used in destructor
    2222};
     23
     24void ?{}( Format & fmt ) {
     25        resume( fmt );                                                                          // prime (start) coroutine
     26}
     27
     28void ^?{}( Format & fmt ) with( fmt ) {
     29        if ( g != 0 || b != 0 ) sout | endl;
     30}
    2331
    2432void main( Format & fmt ) with( fmt ) {
     
    3846} // main
    3947
    40 void ?{}( Format & fmt ) {
    41         resume( fmt );                                                                          // prime (start) coroutine
    42 }
    43 
    44 void ^?{}( Format & fmt ) with( fmt ) {
    45         if ( g != 0 || b != 0 ) sout | endl;
    46 }
    47 
    48 void format( Format & fmt ) {
     48void prt( Format & fmt, char ch ) {
     49        fmt.ch = ch;
    4950        resume( fmt );
    5051} // prt
    5152
    5253int main() {
    53         Format fmt;
     54        Format fmt;                                                                                     // format characters into blocks of 4 and groups of 5 blocks per line
     55        char ch;
    5456
    55         eof: for ( ;; ) {                                                                       // read until end of file
    56                 sin | fmt.ch;                                                                   // read one character
    57           if ( eof( sin ) ) break eof;                                          // eof ?
    58                 format( fmt );                                                                  // push character for formatting
     57        Eof: for ( ;; ) {                                                                       // read until end of file
     58                sin | ch;                                                                               // read one character
     59          if ( eof( sin ) ) break Eof;                                          // eof ?
     60                prt( fmt, ch );                                                                 // push character for formatting
    5961        } // for
    6062} // main
  • src/tests/pybin/test_run.py

    rff29f08 rf6f0cca3  
    44
    55import pybin.settings
    6 import datetime
    7 
    8 from string import Template
    9 
    10 class DeltaTemplate(Template):
    11     delimiter = "%"
    12 
    13 def strfdelta(tdelta, fmt):
    14     d["H"], rem = divmod(tdelta.seconds, 3600)
    15     d["M"], d["S"] = divmod(rem, 60)
    16     t = DeltaTemplate(fmt)
    17     return t.substitute(**d)
    186
    197# Test class that defines what a test is
     
    6957
    7058        @classmethod
    71         def toString( cls, retcode, duration ):
     59        def toString( cls, retcode ):
    7260                if settings.generating :
    73                         if   retcode == TestResult.SUCCESS:     text = "Done   "
    74                         elif retcode == TestResult.TIMEOUT:     text = "TIMEOUT"
    75                         else :                                          text = "ERROR code %d" % retcode
     61                        if   retcode == TestResult.SUCCESS:     return "Done"
     62                        elif retcode == TestResult.TIMEOUT:     return "TIMEOUT"
     63                        else :                                          return "ERROR code %d" % retcode
    7664                else :
    77                         if   retcode == TestResult.SUCCESS:     text = "PASSED "
    78                         elif retcode == TestResult.TIMEOUT:     text = "TIMEOUT"
    79                         else :                                          text = "FAILED with code %d" % retcode
    80 
    81                 text += "    C%s - R%s" % (cls.fmtDur(duration[0]), cls.fmtDur(duration[1]))
    82                 return text
    83 
    84         @classmethod
    85         def fmtDur( cls, duration ):
    86                 if duration :
    87                         hours, rem = divmod(duration, 3600)
    88                         minutes, rem = divmod(rem, 60)
    89                         seconds, millis = divmod(rem, 1)
    90                         return "%2d:%02d.%03d" % (minutes, seconds, millis * 1000)
    91                 return " n/a"
     65                        if   retcode == TestResult.SUCCESS:     return "PASSED"
     66                        elif retcode == TestResult.TIMEOUT:     return "TIMEOUT"
     67                        else :                                          return "FAILED with code %d" % retcode
  • src/tests/references.c

    rff29f08 rf6f0cca3  
    4545}
    4646
    47 // --- temporary code needed to make array of references subscript work.
    48 extern "C" {
    49   void ** __index(__attribute__ ((unused)) size_t sizeof_T, __attribute__ ((unused)) size_t alignof_T, void **x, ptrdiff_t y) {
    50     return (void **)((char *)x+y*sizeof(void *));
    51   }
    52   void __ctor(void ***dst, void **src) {
    53     *dst = src;
    54   }
    55 }
    56 __attribute__((alias("__index"))) forall( dtype T | sized(T) ) T && ?[?]( T & * x, ptrdiff_t y );
    57 __attribute__((alias("__ctor"))) forall( dtype DT ) void ?{}( DT & * & dst, DT & * src);
    58 forall( dtype DT ) void ^?{}( DT & * & ) {}
    59 // --- end of temporary code
    60 
    6147int main() {
    6248        int x = 123456, x2 = 789, *p1 = &x, **p2 = &p1, ***p3 = &p2,
     
    6652        *p3 = &p1;                          // change p2
    6753        int y = 0, z = 11, & ar[3] = { x, y, z };    // initialize array of references
    68         &ar[1] = &z;                        // change reference array element
    69         typeof( ar[1] ) p = 3;              // is int, i.e., the type of referenced object
    70         typeof( &ar[1] ) q = &x;            // is int *, i.e., the type of pointer
    71         _Static_assert( sizeof( ar[1] ) == sizeof( int ), "Array type should be int." );   // is true, i.e., the size of referenced object
    72         _Static_assert( sizeof( &ar[1] ) == sizeof( int *), "Address of array should be int *." ); // is true, i.e., the size of a reference
     54        // &ar[1] = &z;                        // change reference array element
     55        // typeof( ar[1] ) p;                  // is int, i.e., the type of referenced object
     56        // typeof( &ar[1] ) q;                 // is int &, i.e., the type of reference
     57        // sizeof( ar[1] ) == sizeof( int );   // is true, i.e., the size of referenced object
     58        // sizeof( &ar[1] ) == sizeof( int *); // is true, i.e., the size of a reference
    7359
    7460        ((int*&)&r3) = &x;                  // change r1, (&*)**r3
  • src/tests/test.py

    rff29f08 rf6f0cca3  
    99import re
    1010import sys
    11 import time
    1211
    1312################################################################################
     
    137136
    138137        # build, skipping to next test on error
    139         before = time.time()
    140138        make_ret, _ = make( test.target(),
    141139                redirects  = "2> %s 1> /dev/null" % out_file,
    142140                error_file = err_file
    143141        )
    144         after = time.time()
    145 
    146         comp_dur = after - before
    147 
    148         run_dur = None
    149142
    150143        # if the make command succeds continue otherwise skip to diff
    151144        if make_ret == 0 or settings.dry_run:
    152                 before = time.time()
    153145                if settings.dry_run or fileIsExecutable(test.target()) :
    154146                        # run test
     
    157149                        # simply cat the result into the output
    158150                        retcode, _ = sh("cat %s > %s" % (test.target(), out_file))
    159 
    160                 after = time.time()
    161                 run_dur = after - before
    162151        else:
    163152                retcode, _ = sh("mv %s %s" % (err_file, out_file))
     
    185174        sh("rm -f %s > /dev/null 2>&1" % test.target())
    186175
    187         return retcode, error, [comp_dur, run_dur]
     176        return retcode, error
    188177
    189178# run a single test and handle the errors, outputs, printing, exception handling, etc.
     
    194183                name_txt = "%20s  " % t.name
    195184
    196                 retcode, error, duration = run_single_test(t)
     185                retcode, error = run_single_test(t)
    197186
    198187                # update output based on current action
    199                 result_txt = TestResult.toString( retcode, duration )
     188                result_txt = TestResult.toString( retcode )
    200189
    201190                #print result with error if needed
  • src/tests/user_literals.c

    rff29f08 rf6f0cca3  
    1010// Created On       : Wed Sep  6 21:40:50 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Apr 29 16:51:42 2018
    13 // Update Count     : 54
     12// Last Modified On : Sun Mar  4 11:14:02 2018
     13// Update Count     : 52
    1414//
    1515
     
    8282
    8383        "abc"`s;
    84 //      u"abc"`m;
    85 //      U_"abc"`h;
    86 //      L"abc"`_A_;
     84        u"abc"`m;
     85        U_"abc"`h;
     86        L"abc"`_A_;
    8787        u8_"abc"`__thingy_;
    8888} // main
Note: See TracChangeset for help on using the changeset viewer.