diff --git a/.Makefile.lint b/.Makefile.lint
index ecae11caedaf5711a2d0241b5a76796b47daffe0..7d18f22eed17986328f25354182e7a0ccd4fb06a 100644
--- a/.Makefile.lint
+++ b/.Makefile.lint
@@ -81,17 +81,6 @@ ML_LINT_KO+=src/kernel_services/ast_data/ast.mli
 ML_LINT_KO+=src/kernel_services/ast_data/kernel_function.ml
 ML_LINT_KO+=src/kernel_services/ast_data/kernel_function.mli
 ML_LINT_KO+=src/kernel_services/ast_data/property_status.mli
-ML_LINT_KO+=src/kernel_services/ast_printing/cabs_debug.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/cil_descriptive_printer.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/cil_printer.mli
-ML_LINT_KO+=src/kernel_services/ast_printing/cil_types_debug.mli
-ML_LINT_KO+=src/kernel_services/ast_printing/cprint.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/cprint.mli
-ML_LINT_KO+=src/kernel_services/ast_printing/logic_print.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/printer.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/printer_api.mli
-ML_LINT_KO+=src/kernel_services/ast_printing/printer_builder.ml
-ML_LINT_KO+=src/kernel_services/ast_printing/printer_builder.mli
 ML_LINT_KO+=src/kernel_services/ast_queries/ast_info.ml
 ML_LINT_KO+=src/kernel_services/ast_queries/ast_info.mli
 ML_LINT_KO+=src/kernel_services/ast_queries/cil.mli
diff --git a/.gitignore b/.gitignore
index 633a7d72b4f6a96980eec0d1d508467a17ddfa92..0e333030f4d2f99767fd4ca245b5c91ccbfd7f55 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,6 +66,7 @@ autom4te.cache
 /share/manuals/
 
 #doc
+
 /doc/manuals/
 /doc/*/*.dot
 /doc/*/*.aux
@@ -137,6 +138,8 @@ autom4te.cache
 /doc/pdg/pdg00*.png
 /doc/pdg/previous_motif.gif
 
+/doc/server/
+
 #lib
 /lib/fc/
 /lib/plugins/*.mli
diff --git a/Makefile b/Makefile
index 72f0a63b88a1e0a40be8e93f25d1a163cb87cfe6..4df5cf329a46333da072ec0bcfb9db04d8e5ffe6 100644
--- a/Makefile
+++ b/Makefile
@@ -84,6 +84,7 @@ PLUGIN_BIN_DOC_LIST:=
 PLUGIN_DIST_EXTERNAL_LIST:=
 PLUGIN_DIST_TESTS_LIST:=
 PLUGIN_DISTRIBUTED_NAME_LIST:=
+MERLIN_PACKAGES:=
 
 PLUGIN_HEADER_SPEC_LIST :=
 PLUGIN_HEADER_DIRS_LIST :=
@@ -271,6 +272,10 @@ DISTRIB_FILES:=\
       share/analysis-scripts/template.mk                                \
       $(wildcard share/emacs/*.el) share/autocomplete_frama-c           \
       share/_frama-c                                                    \
+      share/compliance/c11_functions.json                               \
+      share/compliance/glibc_functions.json                             \
+      share/compliance/nonstandard_identifiers.json                     \
+      share/compliance/posix_identifiers.json                           \
       share/configure.ac                                                \
       share/Makefile.config.in share/Makefile.common                    \
       share/Makefile.generic						\
@@ -451,7 +456,9 @@ LIB_CMO =\
 	src/libraries/utils/leftistheap \
 	src/libraries/stdlib/integer \
 	src/libraries/utils/json \
-	src/libraries/utils/rich_text
+	src/libraries/utils/markdown \
+	src/libraries/utils/rich_text \
+	src/libraries/utils/dotgraph
 
 NON_OPAQUE_DEPS+=\
   src/libraries/datatype/unmarshal_z \
@@ -1510,6 +1517,28 @@ plugins-doc:
 	     $(addsuffix _DOC,$(PLUGIN_DISTRIBUTED_NAME_LIST)),\
 	     $(PLUGIN_DOC_LIST)))
 
+.PHONY: server-doc-md server-doc-html server-doc
+
+server-doc-md: byte
+	$(PRINT) 'Generating Markdown server documentation'
+	@rm -fr doc/server
+	@mkdir -p doc/server
+	./bin/frama-c.byte -server-doc doc/server
+
+server-doc-html: server-doc-md
+	$(PRINT) 'Generating HTML server documentation'
+	@find doc/server -name "*.md" -print -exec pandoc \
+			--standalone --toc --toc-depth=2 --to html \
+			--template doc/pandoc/template.html \
+			--metadata-file {}.json \
+			--lua-filter doc/pandoc/href.lua \
+			{} -o {}.html \;
+	@cp -f doc/pandoc/style.css doc/server/
+	$(PRINT) 'HTML server documentation ready:'
+	$(PRINT) '  open doc/server/readme.md.html'
+
+server-doc: server-doc-html
+
 # to make the documentation for one plugin only,
 # the name of the plugin should begin with a capital letter :
 # Example for the pdg doc : make Pdg_DOC
@@ -1919,6 +1948,12 @@ install:: install-lib
 	$(MKDIR) $(FRAMAC_DATADIR)/analysis-scripts/examples
 	$(CP) share/analysis-scripts/examples/* \
 	  $(FRAMAC_DATADIR)/analysis-scripts/examples
+	$(MKDIR) $(FRAMAC_DATADIR)/compliance
+	$(CP) share/compliance/c11_functions.json \
+	  share/compliance/glibc_functions.json \
+	  share/compliance/nonstandard_identifiers.json \
+	  share/compliance/posix_identifiers.json \
+	  $(FRAMAC_DATADIR)/compliance
 	$(MKDIR) $(FRAMAC_DATADIR)/emacs
 	$(CP) $(wildcard share/emacs/*.el) $(FRAMAC_DATADIR)/emacs
 	$(CP) share/frama-c.rc $(ICONS) $(FRAMAC_DATADIR)
diff --git a/doc/code/.gitignore b/doc/code/.gitignore
index b7720446464e2b86180a469acd76669aa411012f..d215811ad788d24a80392ce042fe246711ae33ff 100644
--- a/doc/code/.gitignore
+++ b/doc/code/.gitignore
@@ -33,3 +33,4 @@
 /value/
 /variadic/
 /wp/
+/server/
diff --git a/doc/pandoc/href.lua b/doc/pandoc/href.lua
new file mode 100644
index 0000000000000000000000000000000000000000..080635d1533c0aee541b0c4b85bb8917b80bcd74
--- /dev/null
+++ b/doc/pandoc/href.lua
@@ -0,0 +1,4 @@
+function Link(el)
+  el.target = string.gsub(el.target, "%.md", ".md.html")
+  return el
+end
diff --git a/doc/pandoc/style.css b/doc/pandoc/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..ba609d558f7bdb1b4936cfd8fcf9520199602f46
--- /dev/null
+++ b/doc/pandoc/style.css
@@ -0,0 +1,224 @@
+/**************************************************************************/
+/*                                                                        */
+/*  This file is part of Frama-C.                                         */
+/*                                                                        */
+/*  Copyright (C) 2007-2018                                               */
+/*    CEA (Commissariat à l'énergie atomique et aux énergies              */
+/*         alternatives)                                                  */
+/*                                                                        */
+/*  you can redistribute it and/or modify it under the terms of the GNU   */
+/*  Lesser General Public License as published by the Free Software       */
+/*  Foundation, version 2.1.                                              */
+/*                                                                        */
+/*  It is distributed in the hope that it will be useful,                 */
+/*  but WITHOUT ANY WARRANTY; without even the implied warranty of        */
+/*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
+/*  GNU Lesser General Public License for more details.                   */
+/*                                                                        */
+/*  See the GNU Lesser General Public License version 2.1                 */
+/*  for more details (enclosed in the file licenses/LGPLv2.1).            */
+/*                                                                        */
+/**************************************************************************/
+
+* { margin: 0; padding: 0 }
+
+html
+{
+    background-color: #fff;
+}
+
+* { margin: 0; padding: 0 }
+
+body {
+    position: absolute;
+    color: #222;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    font-family: "Verdana", sans;
+    font-size: 12pt;
+}
+
+/* -------------------------------------------------------------------------- */
+/* --- Headers                                                            --- */
+/* -------------------------------------------------------------------------- */
+
+#BODY {
+    display: flex ;
+    flex-flow: row nowrap ;
+    width: 100% ;
+    height: 100% ;
+    overflow: hidden ;
+}
+
+#NAVIGATION {
+    display: block ;
+    overflow: auto ;
+    flex: 0 1 auto ;
+    order: 1 ;
+    box-sizing: border-box ;
+    min-width: 3cm ;
+    max-width: 8cm ;
+    height: 100% ;
+    padding: 0cm 0.5cm 0cm 0.5cm ;
+    background: #888 ;
+}
+
+#CONTENT {
+    display: block ;
+    overflow: auto ;
+    flex: 1 1 auto ;
+    order: 2 ;
+    justify-content: left ;
+    align-content: center ;
+    box-sizing: border-box ;
+    width: 18cm ;
+    height: 100% ;
+    padding: 0cm 1cm 1cm 1cm ;
+}
+
+/* -------------------------------------------------------------------------- */
+/* --- Navigation                                                         --- */
+/* -------------------------------------------------------------------------- */
+
+#TOC {
+    font-size: smaller ;
+}
+
+#NAVIGATION a.root {
+    display: block;
+    font-family: "Optima", "Verdana", "Arial", sans;
+    font-size: 16pt;
+    margin-top: 1cm;
+    margin-bottom: 6mm;
+}
+
+#NAVIGATION a.chapter {
+    display: block ;
+    margin-left: 0px;
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+
+#NAVIGATION a:hover {
+    background-color: darkorange ;
+}
+
+#NAVIGATION a {
+    color: white ;
+}
+
+#NAVIGATION code {
+    color: black ;
+}
+
+#NAVIGATION ul {
+    width: 6cm ;
+}
+
+#NAVIGATION ul > ul {
+    margin-left: 0px ;
+    padding-top: 2px ;
+    padding-bottom: 2px ;
+    background-color: darkgrey ;
+}
+
+/* -------------------------------------------------------------------------- */
+/* --- Headers                                                            --- */
+/* -------------------------------------------------------------------------- */
+
+h1 {
+    width: 18cm;
+    font-family: "Optima", "Verdana", "Arial", sans;
+    text-align: left;
+    margin-top: 1cm;
+    margin-bottom: 6mm;
+    padding-left: 3mm;
+    border-left: 20px solid red;
+}
+
+h2 {
+    width: 18cm;
+    font-family: "Optima", "Verdana", "Arial", sans;
+    margin-top: 5mm;
+    margin-bottom: 2mm;
+    border-bottom: solid thin darkred ;
+    color: darkred;
+}
+
+h3 {
+    width: 17cm;
+    font-family: "Optima", "Verdana", "Arial", sans;
+    color: black;
+    margin-top: 5mm;
+    margin-bottom: 3mm;
+    border-bottom: thin solid #404040;
+}
+
+h4,h5,h6 {
+    margin-left:   4mm;
+    margin-top:    4mm;
+    margin-bottom: 1mm;
+    font-family: "Optima", "Verdana", "Arial", sans;
+    font-size: 10pt;
+    font-style: italic;
+    font-weight: bold;
+    color: darkred;
+}
+
+p { margin: 6px 0px 6px 0px; width: 15cm; }
+
+ul,ol,blockquote {
+    margin-left: 24px ;
+    width: 13cm;
+}
+
+li {
+    padding-left: 6px ;
+    padding-right : 6px ;
+}
+
+pre {
+    width : 15cm ;
+    background-color: #eef ;
+}
+
+pre,code { font-size: smaller ; color: #106000 }
+
+hr {
+    border: none ;
+    border-top: 1px solid #404040 ;
+    margin-top: 4mm ;
+    margin-bottom: 4mm ;
+}
+
+table {
+    border-collapse: collapse ;
+    margin-left: 6mm ;
+}
+
+th,td {
+    padding: 2px 16px 2px 12px ;
+}
+
+thead {
+    border-bottom: thin solid gray ;
+}
+
+tr.odd {
+    background-color: rgba(178, 222, 236, 0.3) ;
+}
+
+:target { background-color: darkorange; }
+
+a:visited { color: darkred; text-decoration: none }
+a:link    { color: darkred; text-decoration: none }
+a:hover   { background-color: lightgray; color: firebrick }
+a:active  { background-color: lightgray; color: darkgreen }
+
+a:visited em { color: darkgreen; text-decoration: none }
+a:link    em { color: darkgreen; text-decoration: none }
+a:hover   em { background-color: lightgray; color: firebrick }
+a:active  em { background-color: lightgray; color: darkgreen }
+
+/* -------------------------------------------------------------------------- */
diff --git a/doc/pandoc/template.html b/doc/pandoc/template.html
new file mode 100644
index 0000000000000000000000000000000000000000..e6871d568e832f49fc1bcaadb8171df7a7f47b0b
--- /dev/null
+++ b/doc/pandoc/template.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$"$if(dir)$ dir="$dir$"$endif$>
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>$if(document)$$document$ – $endif$$title$</title>
+  <link rel="stylesheet" href="$root$/style.css" />
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+  <div id="BODY">
+    <div id="NAVIGATION">
+      <nav id="TOC">
+        <a class="root" href="$root$/readme.md.html">$document$</a>
+        $if(chapter)$
+        <a class="chapter" href="$page$">$chapter$</a>
+        $endif$
+        $if(link)$
+        <ul>
+          $if(toc)$
+            $for(link)$
+              $if(link.toc)$
+                $table-of-contents$
+              $else$
+                <li><a href="$link.href$.html">$link.title$</a></li>
+              $endif$
+            $endfor$
+          $else$
+            $for(link)$
+               <li><a href="$link.href$.html">$link.title$</a></li>
+            $endfor$
+          $endif$
+        </ul>
+        $else$
+        $table-of-contents$
+        $endif$
+      </nav>
+    </div>
+    <div id="CONTENT">
+      $body$
+    </div>
+  </div>
+</body>
+</html>
diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index b807000c93dffeef61dc8f9ca1e5afd63500fe89..9b4dd6608022d2a599e89cfdfec3c5ec8b25c904 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -136,6 +136,10 @@ share/analysis-scripts/README.md: .ignore
 share/analysis-scripts/results_display.py: .ignore
 share/analysis-scripts/summary.py: .ignore
 share/analysis-scripts/template.mk: .ignore
+share/compliance/c11_functions.json: .ignore
+share/compliance/glibc_functions.json: .ignore
+share/compliance/nonstandard_identifiers.json: .ignore
+share/compliance/posix_identifiers.json: .ignore
 share/autocomplete_frama-c: CEA_LGPL
 share/Makefile.clean: CEA_LGPL
 share/Makefile.common: CEA_LGPL
@@ -648,6 +652,8 @@ src/libraries/utils/cilconfig.ml: CIL
 src/libraries/utils/cilconfig.mli: CIL
 src/libraries/utils/command.ml: CEA_LGPL
 src/libraries/utils/command.mli: CEA_LGPL
+src/libraries/utils/dotgraph.ml: CEA_LGPL
+src/libraries/utils/dotgraph.mli: CEA_LGPL
 src/libraries/utils/escape.ml: CIL
 src/libraries/utils/escape.mli: CIL
 src/libraries/utils/filepath.ml: CEA_LGPL
@@ -665,6 +671,8 @@ src/libraries/utils/indexer.ml: CEA_LGPL
 src/libraries/utils/indexer.mli: CEA_LGPL
 src/libraries/utils/leftistheap.ml: JCF_LGPL
 src/libraries/utils/leftistheap.mli: JCF_LGPL
+src/libraries/utils/markdown.ml: CEA_LGPL
+src/libraries/utils/markdown.mli: CEA_LGPL
 src/libraries/utils/pretty_utils.ml: CEA_LGPL
 src/libraries/utils/pretty_utils.mli: CEA_LGPL
 src/libraries/utils/qstack.ml: CEA_LGPL
@@ -1023,6 +1031,32 @@ src/plugins/rte/rte.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/rte/rte.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/rte/visit.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/rte/visit.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/.gitignore: .ignore
+src/plugins/server/Makefile.in: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/Server.mli: .ignore
+src/plugins/server/configure.ac: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/data.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/data.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/doc.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/doc.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/jbuffer.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/jbuffer.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_ast.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_ast.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_main.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_main.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_project.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/kernel_project.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/main.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/main.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/request.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/request.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/server_parameters.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/server_parameters.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/server_batch.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/server_zmq.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/syntax.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/server/syntax.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/scope/Scope.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/scope/datascope.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/scope/datascope.mli: CEA_LGPL_OR_PROPRIETARY
diff --git a/opam/opam b/opam/opam
index 0c0a81eaa9a61b5d9886d6386a24d3c28c80cbde..3b6424cf61d919a5f75ebeb120dd05eb2d6a6d04 100644
--- a/opam/opam
+++ b/opam/opam
@@ -94,7 +94,7 @@ depends: [
   ( ( "lablgtk" { >= "2.18.2" } & "conf-gnomecanvas" )
   | ( "lablgtk3" { >= "3.0.beta4" & os!="macos" } & "lablgtk3-sourceview3" ))
   "conf-gtksourceview"
-  ( "alt-ergo-free" | "alt-ergo" { <= "2.2.0" } )
+  ( "alt-ergo-free" | "alt-ergo" )
   "conf-graphviz" { post }
   "yojson"
 ]
diff --git a/ptests/ptests.ml b/ptests/ptests.ml
index 79e513c75a36ad5d556520868c82ef411e778ad7..33373150bf3f259221e0959e655d2296ea06ce50 100644
--- a/ptests/ptests.ml
+++ b/ptests/ptests.ml
@@ -592,7 +592,7 @@ type config =
       (** full path of the default toplevel. *)
       dc_filter     : string option; (** optional filter to apply to
                               standard output *)
-      dc_toplevels    : (string * string * string list) list;
+      dc_toplevels    : (string * string * string list * Macros.t) list;
       (** toplevel full path, options to launch the toplevel on, and list
        of output files to monitor beyond stdout and stderr. *)
       dc_dont_run   : bool;
@@ -612,7 +612,7 @@ let default_config () =
     dc_execnow = [];
     dc_filter = None ;
     dc_default_toplevel = !toplevel_path;
-    dc_toplevels = [ !toplevel_path, default_options, [] ];
+    dc_toplevels = [ !toplevel_path, default_options, [], Macros.empty ];
     dc_dont_run = false;
     dc_default_log = []
   }
@@ -674,7 +674,7 @@ let scan_execnow ~once dir (s:string) =
 (* the default toplevel for the current level of options. *)
 let current_default_toplevel = ref !toplevel_path
 let current_default_log = ref []
-let current_default_cmds = ref [!toplevel_path,default_options,[] ]
+let current_default_cmds = ref [!toplevel_path,default_options,[], Macros.empty]
 
 let make_custom_opts =
   let space = Str.regexp " " in
@@ -742,7 +742,7 @@ let config_options =
 
     "OPT",
     (fun _ s current ->
-       let t = current.dc_default_toplevel, s, current.dc_default_log in
+       let t = current.dc_default_toplevel, s, current.dc_default_log, current.dc_macros in
        { current with
 (*           dc_default_toplevel = !current_default_toplevel;*)
            dc_default_log = !current_default_log;
@@ -752,7 +752,7 @@ let config_options =
     (fun _ s current ->
        let new_top =
          List.map
-           (fun (cmd,opts, log) -> cmd, make_custom_opts opts s, log)
+           (fun (cmd,opts, log, macros) -> cmd, make_custom_opts opts s, log, current.dc_macros)
            !current_default_cmds
        in
        { current with dc_toplevels = new_top @ current.dc_toplevels;
@@ -1610,10 +1610,10 @@ let dispatcher () =
       let i = ref 0 in
       let e = ref 0 in
       let nb_files = List.length config.dc_toplevels in
-      let make_toplevel_cmd (toplevel, options, log_files) =
+      let make_toplevel_cmd (toplevel, options, log_files, macros) =
         let n = !i in
         {file; options; toplevel; nb_files; directory; n; log_files;
-         filter = config.dc_filter; macros = config.dc_macros;
+         filter = config.dc_filter; macros;
          execnow=false;
         }
       in
diff --git a/share/compliance/c11_functions.json b/share/compliance/c11_functions.json
new file mode 100644
index 0000000000000000000000000000000000000000..1ec844c35e497dc756f763aa49b8383e23055b27
--- /dev/null
+++ b/share/compliance/c11_functions.json
@@ -0,0 +1,605 @@
+{
+    "description": "C11 reserved function identifiers",
+    "source":"ISO/IEC 9899:2011",
+    "data":[
+        {"ident":"abort", "header":"stdlib.h"},
+        {"ident":"abort_handler_s", "header":"stdlib.h"},
+        {"ident":"abs", "header":"stdlib.h"},
+        {"ident":"acos", "header":"math.h"},
+        {"ident":"acosf", "header":"math.h"},
+        {"ident":"acosh", "header":"math.h"},
+        {"ident":"acoshf", "header":"math.h"},
+        {"ident":"acoshl", "header":"math.h"},
+        {"ident":"acosl", "header":"math.h"},
+        {"ident":"aligned_alloc", "header":"stdlib.h"},
+        {"ident":"asctime", "header":"time.h"},
+        {"ident":"asctime_s", "header":"time.h"},
+        {"ident":"asin", "header":"math.h"},
+        {"ident":"asinf", "header":"math.h"},
+        {"ident":"asinh", "header":"math.h"},
+        {"ident":"asinhf", "header":"math.h"},
+        {"ident":"asinhl", "header":"math.h"},
+        {"ident":"asinl", "header":"math.h"},
+        {"ident":"at_quick_exit", "header":"stdlib.h"},
+        {"ident":"atan", "header":"math.h"},
+        {"ident":"atan2", "header":"math.h"},
+        {"ident":"atan2f", "header":"math.h"},
+        {"ident":"atanf", "header":"math.h"},
+        {"ident":"atanh", "header":"math.h"},
+        {"ident":"atanhf", "header":"math.h"},
+        {"ident":"atanhl", "header":"math.h"},
+        {"ident":"atanl", "header":"math.h"},
+        {"ident":"atexit", "header":"stdlib.h"},
+        {"ident":"atof", "header":"stdlib.h"},
+        {"ident":"atoi", "header":"stdlib.h"},
+        {"ident":"atol", "header":"stdlib.h"},
+        {"ident":"atoll", "header":"stdlib.h"},
+        {"ident":"atomic_compare_exchange_strong", "header":"stdatomic.h"},
+        {"ident":"atomic_compare_exchange_strong_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_compare_exchange_weak", "header":"stdatomic.h"},
+        {"ident":"atomic_compare_exchange_weak_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_exchange", "header":"stdatomic.h"},
+        {"ident":"atomic_exchange_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_fetch_key", "header":"stdatomic.h"},
+        {"ident":"atomic_fetch_key_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_flag_clear", "header":"stdatomic.h"},
+        {"ident":"atomic_flag_clear_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_flag_test_and_set", "header":"stdatomic.h"},
+        {"ident":"atomic_flag_test_and_set_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_init", "header":"stdatomic.h"},
+        {"ident":"atomic_is_lock_free", "header":"stdatomic.h"},
+        {"ident":"atomic_load", "header":"stdatomic.h"},
+        {"ident":"atomic_load_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_signal_fence", "header":"stdatomic.h"},
+        {"ident":"atomic_store", "header":"stdatomic.h"},
+        {"ident":"atomic_store_explicit", "header":"stdatomic.h"},
+        {"ident":"atomic_thread_fence", "header":"stdatomic.h"},
+        {"ident":"bsearch", "header":"stdlib.h"},
+        {"ident":"bsearch_s", "header":"stdlib.h"},
+        {"ident":"btowc", "header":"wchar.h"},
+        {"ident":"c16rtomb", "header":"uchar.h"},
+        {"ident":"c32rtomb", "header":"uchar.h"},
+        {"ident":"cabs", "header":"complex.h"},
+        {"ident":"cabsf", "header":"complex.h"},
+        {"ident":"cabsl", "header":"complex.h"},
+        {"ident":"cacos", "header":"complex.h"},
+        {"ident":"cacosf", "header":"complex.h"},
+        {"ident":"cacosh", "header":"complex.h"},
+        {"ident":"cacoshf", "header":"complex.h"},
+        {"ident":"cacoshl", "header":"complex.h"},
+        {"ident":"cacosl", "header":"complex.h"},
+        {"ident":"call_once", "header":"threads.h"},
+        {"ident":"calloc", "header":"stdlib.h"},
+        {"ident":"carg", "header":"complex.h"},
+        {"ident":"cargf", "header":"complex.h"},
+        {"ident":"cargl", "header":"complex.h"},
+        {"ident":"casin", "header":"complex.h"},
+        {"ident":"casinf", "header":"complex.h"},
+        {"ident":"casinh", "header":"complex.h"},
+        {"ident":"casinhf", "header":"complex.h"},
+        {"ident":"casinhl", "header":"complex.h"},
+        {"ident":"casinl", "header":"complex.h"},
+        {"ident":"catan", "header":"complex.h"},
+        {"ident":"catanf", "header":"complex.h"},
+        {"ident":"catanh", "header":"complex.h"},
+        {"ident":"catanhf", "header":"complex.h"},
+        {"ident":"catanhl", "header":"complex.h"},
+        {"ident":"catanl", "header":"complex.h"},
+        {"ident":"cbrt", "header":"math.h"},
+        {"ident":"cbrtf", "header":"math.h"},
+        {"ident":"cbrtl", "header":"math.h"},
+        {"ident":"ccos", "header":"complex.h"},
+        {"ident":"ccosf", "header":"complex.h"},
+        {"ident":"ccosh", "header":"complex.h"},
+        {"ident":"ccoshf", "header":"complex.h"},
+        {"ident":"ccoshl", "header":"complex.h"},
+        {"ident":"ccosl", "header":"complex.h"},
+        {"ident":"ceil", "header":"math.h"},
+        {"ident":"ceilf", "header":"math.h"},
+        {"ident":"ceill", "header":"math.h"},
+        {"ident":"cexp", "header":"complex.h"},
+        {"ident":"cexpf", "header":"complex.h"},
+        {"ident":"cexpl", "header":"complex.h"},
+        {"ident":"cimag", "header":"complex.h"},
+        {"ident":"cimagf", "header":"complex.h"},
+        {"ident":"cimagl", "header":"complex.h"},
+        {"ident":"clearerr", "header":"stdio.h"},
+        {"ident":"clock", "header":"time.h"},
+        {"ident":"clog", "header":"complex.h"},
+        {"ident":"clogf", "header":"complex.h"},
+        {"ident":"clogl", "header":"complex.h"},
+        {"ident":"cnd_broadcast", "header":"threads.h"},
+        {"ident":"cnd_destroy", "header":"threads.h"},
+        {"ident":"cnd_init", "header":"threads.h"},
+        {"ident":"cnd_signal", "header":"threads.h"},
+        {"ident":"cnd_timedwait", "header":"threads.h"},
+        {"ident":"cnd_wait", "header":"threads.h"},
+        {"ident":"conj", "header":"complex.h"},
+        {"ident":"conjf", "header":"complex.h"},
+        {"ident":"conjl", "header":"complex.h"},
+        {"ident":"copysign", "header":"math.h"},
+        {"ident":"copysignf", "header":"math.h"},
+        {"ident":"copysignl", "header":"math.h"},
+        {"ident":"cos", "header":"math.h"},
+        {"ident":"cosf", "header":"math.h"},
+        {"ident":"cosh", "header":"math.h"},
+        {"ident":"coshf", "header":"math.h"},
+        {"ident":"coshl", "header":"math.h"},
+        {"ident":"cosl", "header":"math.h"},
+        {"ident":"cpow", "header":"complex.h"},
+        {"ident":"cpowf", "header":"complex.h"},
+        {"ident":"cpowl", "header":"complex.h"},
+        {"ident":"cproj", "header":"complex.h"},
+        {"ident":"cprojf", "header":"complex.h"},
+        {"ident":"cprojl", "header":"complex.h"},
+        {"ident":"creal", "header":"complex.h"},
+        {"ident":"crealf", "header":"complex.h"},
+        {"ident":"creall", "header":"complex.h"},
+        {"ident":"csin", "header":"complex.h"},
+        {"ident":"csinf", "header":"complex.h"},
+        {"ident":"csinh", "header":"complex.h"},
+        {"ident":"csinhf", "header":"complex.h"},
+        {"ident":"csinhl", "header":"complex.h"},
+        {"ident":"csinl", "header":"complex.h"},
+        {"ident":"csqrt", "header":"complex.h"},
+        {"ident":"csqrtf", "header":"complex.h"},
+        {"ident":"csqrtl", "header":"complex.h"},
+        {"ident":"ctan", "header":"complex.h"},
+        {"ident":"ctanf", "header":"complex.h"},
+        {"ident":"ctanh", "header":"complex.h"},
+        {"ident":"ctanhf", "header":"complex.h"},
+        {"ident":"ctanhl", "header":"complex.h"},
+        {"ident":"ctanl", "header":"complex.h"},
+        {"ident":"ctime", "header":"time.h"},
+        {"ident":"ctime_s", "header":"time.h"},
+        {"ident":"difftime", "header":"time.h"},
+        {"ident":"div", "header":"stdlib.h"},
+        {"ident":"erf", "header":"math.h"},
+        {"ident":"erfc", "header":"math.h"},
+        {"ident":"erfcf", "header":"math.h"},
+        {"ident":"erfcl", "header":"math.h"},
+        {"ident":"erff", "header":"math.h"},
+        {"ident":"erfl", "header":"math.h"},
+        {"ident":"exit", "header":"stdlib.h"},
+        {"ident":"exp", "header":"math.h"},
+        {"ident":"exp2", "header":"math.h"},
+        {"ident":"exp2f", "header":"math.h"},
+        {"ident":"exp2l", "header":"math.h"},
+        {"ident":"expf", "header":"math.h"},
+        {"ident":"expl", "header":"math.h"},
+        {"ident":"expm1", "header":"math.h"},
+        {"ident":"expm1f", "header":"math.h"},
+        {"ident":"expm1l", "header":"math.h"},
+        {"ident":"fabs", "header":"math.h"},
+        {"ident":"fabsf", "header":"math.h"},
+        {"ident":"fabsl", "header":"math.h"},
+        {"ident":"fclose", "header":"stdio.h"},
+        {"ident":"fdim", "header":"math.h"},
+        {"ident":"fdimf", "header":"math.h"},
+        {"ident":"fdiml", "header":"math.h"},
+        {"ident":"feclearexcept", "header":"fenv.h"},
+        {"ident":"fegetenv", "header":"fenv.h"},
+        {"ident":"fegetexceptflag", "header":"fenv.h"},
+        {"ident":"fegetround", "header":"fenv.h"},
+        {"ident":"feholdexcept", "header":"fenv.h"},
+        {"ident":"feof", "header":"stdio.h"},
+        {"ident":"feraiseexcept", "header":"fenv.h"},
+        {"ident":"ferror", "header":"stdio.h"},
+        {"ident":"fesetenv", "header":"fenv.h"},
+        {"ident":"fesetexceptflag", "header":"fenv.h"},
+        {"ident":"fesetround", "header":"fenv.h"},
+        {"ident":"fetestexcept", "header":"fenv.h"},
+        {"ident":"feupdateenv", "header":"fenv.h"},
+        {"ident":"fflush", "header":"stdio.h"},
+        {"ident":"fgetc", "header":"stdio.h"},
+        {"ident":"fgetpos", "header":"stdio.h"},
+        {"ident":"fgets", "header":"stdio.h"},
+        {"ident":"fgetwc", "header":"wchar.h"},
+        {"ident":"fgetws", "header":"wchar.h"},
+        {"ident":"floor", "header":"math.h"},
+        {"ident":"floorf", "header":"math.h"},
+        {"ident":"floorl", "header":"math.h"},
+        {"ident":"fma", "header":"math.h"},
+        {"ident":"fmaf", "header":"math.h"},
+        {"ident":"fmal", "header":"math.h"},
+        {"ident":"fmax", "header":"math.h"},
+        {"ident":"fmaxf", "header":"math.h"},
+        {"ident":"fmaxl", "header":"math.h"},
+        {"ident":"fmin", "header":"math.h"},
+        {"ident":"fminf", "header":"math.h"},
+        {"ident":"fminl", "header":"math.h"},
+        {"ident":"fmod", "header":"math.h"},
+        {"ident":"fmodf", "header":"math.h"},
+        {"ident":"fmodl", "header":"math.h"},
+        {"ident":"fopen", "header":"stdio.h"},
+        {"ident":"fopen_s", "header":"stdio.h"},
+        {"ident":"fpclassify", "header":"math.h"},
+        {"ident":"fprintf", "header":"stdio.h"},
+        {"ident":"fprintf_s", "header":"stdio.h"},
+        {"ident":"fputc", "header":"stdio.h"},
+        {"ident":"fputs", "header":"stdio.h"},
+        {"ident":"fputwc", "header":"wchar.h"},
+        {"ident":"fputws", "header":"wchar.h"},
+        {"ident":"fread", "header":"stdio.h"},
+        {"ident":"free", "header":"stdlib.h"},
+        {"ident":"freopen", "header":"stdio.h"},
+        {"ident":"freopen_s", "header":"stdio.h"},
+        {"ident":"frexp", "header":"math.h"},
+        {"ident":"frexpf", "header":"math.h"},
+        {"ident":"frexpl", "header":"math.h"},
+        {"ident":"fscanf", "header":"stdio.h"},
+        {"ident":"fscanf_s", "header":"stdio.h"},
+        {"ident":"fseek", "header":"stdio.h"},
+        {"ident":"fsetpos", "header":"stdio.h"},
+        {"ident":"ftell", "header":"stdio.h"},
+        {"ident":"fwide", "header":"wchar.h"},
+        {"ident":"fwprintf", "header":"wchar.h"},
+        {"ident":"fwprintf_s", "header":"wchar.h"},
+        {"ident":"fwrite", "header":"stdio.h"},
+        {"ident":"fwscanf", "header":"wchar.h"},
+        {"ident":"fwscanf_s", "header":"wchar.h"},
+        {"ident":"getc", "header":"stdio.h"},
+        {"ident":"getchar", "header":"stdio.h"},
+        {"ident":"getenv", "header":"stdlib.h"},
+        {"ident":"getenv_s", "header":"stdlib.h"},
+        {"ident":"gets_s", "header":"stdio.h"},
+        {"ident":"getwc", "header":"wchar.h"},
+        {"ident":"getwchar", "header":"wchar.h"},
+        {"ident":"gmtime", "header":"time.h"},
+        {"ident":"gmtime_s", "header":"time.h"},
+        {"ident":"hypot", "header":"math.h"},
+        {"ident":"hypotf", "header":"math.h"},
+        {"ident":"hypotl", "header":"math.h"},
+        {"ident":"ignore_handler_s", "header":"stdlib.h"},
+        {"ident":"ilogb", "header":"math.h"},
+        {"ident":"ilogbf", "header":"math.h"},
+        {"ident":"ilogbl", "header":"math.h"},
+        {"ident":"imaxabs", "header":"inttypes.h"},
+        {"ident":"imaxdiv", "header":"inttypes.h"},
+        {"ident":"isalnum", "header":"ctype.h"},
+        {"ident":"isalpha", "header":"ctype.h"},
+        {"ident":"isblank", "header":"ctype.h"},
+        {"ident":"iscntrl", "header":"ctype.h"},
+        {"ident":"isdigit", "header":"ctype.h"},
+        {"ident":"isfinite", "header":"math.h"},
+        {"ident":"isgraph", "header":"ctype.h"},
+        {"ident":"isgreater", "header":"math.h"},
+        {"ident":"isgreaterequal", "header":"math.h"},
+        {"ident":"isinf", "header":"math.h"},
+        {"ident":"isless", "header":"math.h"},
+        {"ident":"islessequal", "header":"math.h"},
+        {"ident":"islessgreater", "header":"math.h"},
+        {"ident":"islower", "header":"ctype.h"},
+        {"ident":"isnan", "header":"math.h"},
+        {"ident":"isnormal", "header":"math.h"},
+        {"ident":"isprint", "header":"ctype.h"},
+        {"ident":"ispunct", "header":"ctype.h"},
+        {"ident":"isspace", "header":"ctype.h"},
+        {"ident":"isunordered", "header":"math.h"},
+        {"ident":"isupper", "header":"ctype.h"},
+        {"ident":"iswalnum", "header":"wctype.h"},
+        {"ident":"iswalpha", "header":"wctype.h"},
+        {"ident":"iswblank", "header":"wctype.h"},
+        {"ident":"iswcntrl", "header":"wctype.h"},
+        {"ident":"iswctype", "header":"wctype.h"},
+        {"ident":"iswdigit", "header":"wctype.h"},
+        {"ident":"iswgraph", "header":"wctype.h"},
+        {"ident":"iswlower", "header":"wctype.h"},
+        {"ident":"iswprint", "header":"wctype.h"},
+        {"ident":"iswpunct", "header":"wctype.h"},
+        {"ident":"iswspace", "header":"wctype.h"},
+        {"ident":"iswupper", "header":"wctype.h"},
+        {"ident":"iswxdigit", "header":"wctype.h"},
+        {"ident":"isxdigit", "header":"ctype.h"},
+        {"ident":"kill_dependency", "header":"stdatomic.h"},
+        {"ident":"labs", "header":"stdlib.h"},
+        {"ident":"ldexp", "header":"math.h"},
+        {"ident":"ldexpf", "header":"math.h"},
+        {"ident":"ldexpl", "header":"math.h"},
+        {"ident":"ldiv", "header":"stdlib.h"},
+        {"ident":"lgamma", "header":"math.h"},
+        {"ident":"lgammaf", "header":"math.h"},
+        {"ident":"lgammal", "header":"math.h"},
+        {"ident":"llabs", "header":"stdlib.h"},
+        {"ident":"lldiv", "header":"stdlib.h"},
+        {"ident":"llrint", "header":"math.h"},
+        {"ident":"llrintf", "header":"math.h"},
+        {"ident":"llrintl", "header":"math.h"},
+        {"ident":"llround", "header":"math.h"},
+        {"ident":"llroundf", "header":"math.h"},
+        {"ident":"llroundl", "header":"math.h"},
+        {"ident":"localeconv", "header":"locale.h"},
+        {"ident":"localtime", "header":"time.h"},
+        {"ident":"localtime_s", "header":"time.h"},
+        {"ident":"log", "header":"math.h"},
+        {"ident":"log10", "header":"math.h"},
+        {"ident":"log10f", "header":"math.h"},
+        {"ident":"log10l", "header":"math.h"},
+        {"ident":"log1p", "header":"math.h"},
+        {"ident":"log1pf", "header":"math.h"},
+        {"ident":"log1pl", "header":"math.h"},
+        {"ident":"log2", "header":"math.h"},
+        {"ident":"log2f", "header":"math.h"},
+        {"ident":"log2l", "header":"math.h"},
+        {"ident":"logb", "header":"math.h"},
+        {"ident":"logbf", "header":"math.h"},
+        {"ident":"logbl", "header":"math.h"},
+        {"ident":"logf", "header":"math.h"},
+        {"ident":"logl", "header":"math.h"},
+        {"ident":"longjmp", "header":"setjmp.h"},
+        {"ident":"lrint", "header":"math.h"},
+        {"ident":"lrintf", "header":"math.h"},
+        {"ident":"lrintl", "header":"math.h"},
+        {"ident":"lround", "header":"math.h"},
+        {"ident":"lroundf", "header":"math.h"},
+        {"ident":"lroundl", "header":"math.h"},
+        {"ident":"malloc", "header":"stdlib.h"},
+        {"ident":"mblen", "header":"stdlib.h"},
+        {"ident":"mbrlen", "header":"wchar.h"},
+        {"ident":"mbrtoc16", "header":"uchar.h"},
+        {"ident":"mbrtoc32", "header":"uchar.h"},
+        {"ident":"mbrtowc", "header":"wchar.h"},
+        {"ident":"mbsinit", "header":"wchar.h"},
+        {"ident":"mbsrtowcs", "header":"wchar.h"},
+        {"ident":"mbsrtowcs_s", "header":"wchar.h"},
+        {"ident":"mbstowcs", "header":"stdlib.h"},
+        {"ident":"mbstowcs_s", "header":"stdlib.h"},
+        {"ident":"mbtowc", "header":"stdlib.h"},
+        {"ident":"memchr", "header":"string.h"},
+        {"ident":"memcmp", "header":"string.h"},
+        {"ident":"memcpy", "header":"string.h"},
+        {"ident":"memcpy_s", "header":"string.h"},
+        {"ident":"memmove", "header":"string.h"},
+        {"ident":"memmove_s", "header":"string.h"},
+        {"ident":"memset", "header":"string.h"},
+        {"ident":"memset_s", "header":"string.h"},
+        {"ident":"mktime", "header":"time.h"},
+        {"ident":"modf", "header":"math.h"},
+        {"ident":"modff", "header":"math.h"},
+        {"ident":"modfl", "header":"math.h"},
+        {"ident":"mtx_destroy", "header":"threads.h"},
+        {"ident":"mtx_init", "header":"threads.h"},
+        {"ident":"mtx_lock", "header":"threads.h"},
+        {"ident":"mtx_timedlock", "header":"threads.h"},
+        {"ident":"mtx_trylock", "header":"threads.h"},
+        {"ident":"mtx_unlock", "header":"threads.h"},
+        {"ident":"nan", "header":"math.h"},
+        {"ident":"nanf", "header":"math.h"},
+        {"ident":"nanl", "header":"math.h"},
+        {"ident":"nearbyint", "header":"math.h"},
+        {"ident":"nearbyintf", "header":"math.h"},
+        {"ident":"nearbyintl", "header":"math.h"},
+        {"ident":"nextafter", "header":"math.h"},
+        {"ident":"nextafterf", "header":"math.h"},
+        {"ident":"nextafterl", "header":"math.h"},
+        {"ident":"nexttoward", "header":"math.h"},
+        {"ident":"nexttowardf", "header":"math.h"},
+        {"ident":"nexttowardl", "header":"math.h"},
+        {"ident":"perror", "header":"stdio.h"},
+        {"ident":"pow", "header":"math.h"},
+        {"ident":"powf", "header":"math.h"},
+        {"ident":"powl", "header":"math.h"},
+        {"ident":"printf", "header":"stdio.h"},
+        {"ident":"printf_s", "header":"stdio.h"},
+        {"ident":"putc", "header":"stdio.h"},
+        {"ident":"putchar", "header":"stdio.h"},
+        {"ident":"puts", "header":"stdio.h"},
+        {"ident":"putwc", "header":"wchar.h"},
+        {"ident":"putwchar", "header":"wchar.h"},
+        {"ident":"qsort", "header":"stdlib.h"},
+        {"ident":"qsort_s", "header":"stdlib.h"},
+        {"ident":"quick_exit", "header":"stdlib.h"},
+        {"ident":"raise", "header":"signal.h"},
+        {"ident":"rand", "header":"stdlib.h"},
+        {"ident":"realloc", "header":"stdlib.h"},
+        {"ident":"remainder", "header":"math.h"},
+        {"ident":"remainderf", "header":"math.h"},
+        {"ident":"remainderl", "header":"math.h"},
+        {"ident":"remove", "header":"stdio.h"},
+        {"ident":"remquo", "header":"math.h"},
+        {"ident":"remquof", "header":"math.h"},
+        {"ident":"remquol", "header":"math.h"},
+        {"ident":"rename", "header":"stdio.h"},
+        {"ident":"rewind", "header":"stdio.h"},
+        {"ident":"rint", "header":"math.h"},
+        {"ident":"rintf", "header":"math.h"},
+        {"ident":"rintl", "header":"math.h"},
+        {"ident":"round", "header":"math.h"},
+        {"ident":"roundf", "header":"math.h"},
+        {"ident":"roundl", "header":"math.h"},
+        {"ident":"scalbln", "header":"math.h"},
+        {"ident":"scalblnf", "header":"math.h"},
+        {"ident":"scalblnl", "header":"math.h"},
+        {"ident":"scalbn", "header":"math.h"},
+        {"ident":"scalbnf", "header":"math.h"},
+        {"ident":"scalbnl", "header":"math.h"},
+        {"ident":"scanf", "header":"stdio.h"},
+        {"ident":"scanf_s", "header":"stdio.h"},
+        {"ident":"set_constraint_handler_s", "header":"stdlib.h"},
+        {"ident":"setbuf", "header":"stdio.h"},
+        {"ident":"setjmp", "header":"setjmp.h"},
+        {"ident":"setlocale", "header":"locale.h"},
+        {"ident":"setvbuf", "header":"stdio.h"},
+        {"ident":"signal", "header":"signal.h"},
+        {"ident":"signbit", "header":"math.h"},
+        {"ident":"sin", "header":"math.h"},
+        {"ident":"sinf", "header":"math.h"},
+        {"ident":"sinh", "header":"math.h"},
+        {"ident":"sinhf", "header":"math.h"},
+        {"ident":"sinhl", "header":"math.h"},
+        {"ident":"sinl", "header":"math.h"},
+        {"ident":"snprintf", "header":"stdio.h"},
+        {"ident":"snprintf_s", "header":"stdio.h"},
+        {"ident":"snwprintf_s", "header":"wchar.h"},
+        {"ident":"sprintf", "header":"stdio.h"},
+        {"ident":"sprintf_s", "header":"stdio.h"},
+        {"ident":"sqrt", "header":"math.h"},
+        {"ident":"sqrtf", "header":"math.h"},
+        {"ident":"sqrtl", "header":"math.h"},
+        {"ident":"srand", "header":"stdlib.h"},
+        {"ident":"sscanf", "header":"stdio.h"},
+        {"ident":"sscanf_s", "header":"stdio.h"},
+        {"ident":"strcat", "header":"string.h"},
+        {"ident":"strcat_s", "header":"string.h"},
+        {"ident":"strchr", "header":"string.h"},
+        {"ident":"strcmp", "header":"string.h"},
+        {"ident":"strcoll", "header":"string.h"},
+        {"ident":"strcpy", "header":"string.h"},
+        {"ident":"strcpy_s", "header":"string.h"},
+        {"ident":"strcspn", "header":"string.h"},
+        {"ident":"strerror", "header":"string.h"},
+        {"ident":"strerror_s", "header":"string.h"},
+        {"ident":"strerrorlen_s", "header":"string.h"},
+        {"ident":"strftime", "header":"time.h"},
+        {"ident":"strlen", "header":"string.h"},
+        {"ident":"strncat", "header":"string.h"},
+        {"ident":"strncat_s", "header":"string.h"},
+        {"ident":"strncmp", "header":"string.h"},
+        {"ident":"strncpy", "header":"string.h"},
+        {"ident":"strncpy_s", "header":"string.h"},
+        {"ident":"strnlen_s", "header":"string.h"},
+        {"ident":"strpbrk", "header":"string.h"},
+        {"ident":"strrchr", "header":"string.h"},
+        {"ident":"strspn", "header":"string.h"},
+        {"ident":"strstr", "header":"string.h"},
+        {"ident":"strtod", "header":"stdlib.h"},
+        {"ident":"strtof", "header":"stdlib.h"},
+        {"ident":"strtoimax", "header":"inttypes.h"},
+        {"ident":"strtok", "header":"string.h"},
+        {"ident":"strtok_s", "header":"string.h"},
+        {"ident":"strtol", "header":"stdlib.h"},
+        {"ident":"strtold", "header":"stdlib.h"},
+        {"ident":"strtoll", "header":"stdlib.h"},
+        {"ident":"strtoul", "header":"stdlib.h"},
+        {"ident":"strtoull", "header":"stdlib.h"},
+        {"ident":"strtoumax", "header":"inttypes.h"},
+        {"ident":"strxfrm", "header":"string.h"},
+        {"ident":"swprintf", "header":"wchar.h"},
+        {"ident":"swprintf_s", "header":"wchar.h"},
+        {"ident":"swscanf", "header":"wchar.h"},
+        {"ident":"swscanf_s", "header":"wchar.h"},
+        {"ident":"system", "header":"stdlib.h"},
+        {"ident":"tan", "header":"math.h"},
+        {"ident":"tanf", "header":"math.h"},
+        {"ident":"tanh", "header":"math.h"},
+        {"ident":"tanhf", "header":"math.h"},
+        {"ident":"tanhl", "header":"math.h"},
+        {"ident":"tanl", "header":"math.h"},
+        {"ident":"tgamma", "header":"math.h"},
+        {"ident":"tgammaf", "header":"math.h"},
+        {"ident":"tgammal", "header":"math.h"},
+        {"ident":"thrd_create", "header":"threads.h"},
+        {"ident":"thrd_current", "header":"threads.h"},
+        {"ident":"thrd_detach", "header":"threads.h"},
+        {"ident":"thrd_equal", "header":"threads.h"},
+        {"ident":"thrd_exit", "header":"threads.h"},
+        {"ident":"thrd_join", "header":"threads.h"},
+        {"ident":"thrd_sleep", "header":"threads.h"},
+        {"ident":"thrd_yield", "header":"threads.h"},
+        {"ident":"time", "header":"time.h"},
+        {"ident":"timespec_get", "header":"time.h"},
+        {"ident":"tmpfile", "header":"stdio.h"},
+        {"ident":"tmpfile_s", "header":"stdio.h"},
+        {"ident":"tmpnam", "header":"stdio.h"},
+        {"ident":"tmpnam_s", "header":"stdio.h"},
+        {"ident":"tolower", "header":"ctype.h"},
+        {"ident":"toupper", "header":"ctype.h"},
+        {"ident":"towctrans", "header":"wctype.h"},
+        {"ident":"towlower", "header":"wctype.h"},
+        {"ident":"towupper", "header":"wctype.h"},
+        {"ident":"trunc", "header":"math.h"},
+        {"ident":"truncf", "header":"math.h"},
+        {"ident":"truncl", "header":"math.h"},
+        {"ident":"tss_create", "header":"threads.h"},
+        {"ident":"tss_delete", "header":"threads.h"},
+        {"ident":"tss_get", "header":"threads.h"},
+        {"ident":"tss_set", "header":"threads.h"},
+        {"ident":"ungetc", "header":"stdio.h"},
+        {"ident":"ungetwc", "header":"wchar.h"},
+        {"ident":"va_arg", "header":"stdarg.h"},
+        {"ident":"va_copy", "header":"stdarg.h"},
+        {"ident":"va_end", "header":"stdarg.h"},
+        {"ident":"va_start", "header":"stdarg.h"},
+        {"ident":"vfprintf", "header":"stdio.h"},
+        {"ident":"vfprintf_s", "header":"stdio.h"},
+        {"ident":"vfscanf", "header":"stdio.h"},
+        {"ident":"vfscanf_s", "header":"stdio.h"},
+        {"ident":"vfwprintf", "header":"wchar.h"},
+        {"ident":"vfwprintf_s", "header":"wchar.h"},
+        {"ident":"vfwscanf", "header":"wchar.h"},
+        {"ident":"vfwscanf_s", "header":"wchar.h"},
+        {"ident":"vprintf", "header":"stdio.h"},
+        {"ident":"vprintf_s", "header":"stdio.h"},
+        {"ident":"vscanf", "header":"stdio.h"},
+        {"ident":"vscanf_s", "header":"stdio.h"},
+        {"ident":"vsnprintf", "header":"stdio.h"},
+        {"ident":"vsnprintf_s", "header":"stdio.h"},
+        {"ident":"vsnwprintf_s", "header":"wchar.h"},
+        {"ident":"vsprintf", "header":"stdio.h"},
+        {"ident":"vsprintf_s", "header":"stdio.h"},
+        {"ident":"vsscanf", "header":"stdio.h"},
+        {"ident":"vsscanf_s", "header":"stdio.h"},
+        {"ident":"vswprintf", "header":"wchar.h"},
+        {"ident":"vswprintf_s", "header":"wchar.h"},
+        {"ident":"vswscanf", "header":"wchar.h"},
+        {"ident":"vswscanf_s", "header":"wchar.h"},
+        {"ident":"vwprintf", "header":"wchar.h"},
+        {"ident":"vwprintf_s", "header":"wchar.h"},
+        {"ident":"vwscanf", "header":"wchar.h"},
+        {"ident":"vwscanf_s", "header":"wchar.h"},
+        {"ident":"wcrtomb", "header":"wchar.h"},
+        {"ident":"wcrtomb_s", "header":"wchar.h"},
+        {"ident":"wcscat", "header":"wchar.h"},
+        {"ident":"wcscat_s", "header":"wchar.h"},
+        {"ident":"wcschr", "header":"wchar.h"},
+        {"ident":"wcscmp", "header":"wchar.h"},
+        {"ident":"wcscoll", "header":"wchar.h"},
+        {"ident":"wcscpy", "header":"wchar.h"},
+        {"ident":"wcscpy_s", "header":"wchar.h"},
+        {"ident":"wcscspn", "header":"wchar.h"},
+        {"ident":"wcsftime", "header":"wchar.h"},
+        {"ident":"wcslen", "header":"wchar.h"},
+        {"ident":"wcsncat", "header":"wchar.h"},
+        {"ident":"wcsncat_s", "header":"wchar.h"},
+        {"ident":"wcsncmp", "header":"wchar.h"},
+        {"ident":"wcsncpy", "header":"wchar.h"},
+        {"ident":"wcsncpy_s", "header":"wchar.h"},
+        {"ident":"wcsnlen_s", "header":"wchar.h"},
+        {"ident":"wcspbrk", "header":"wchar.h"},
+        {"ident":"wcsrchr", "header":"wchar.h"},
+        {"ident":"wcsrtombs", "header":"wchar.h"},
+        {"ident":"wcsrtombs_s", "header":"wchar.h"},
+        {"ident":"wcsspn", "header":"wchar.h"},
+        {"ident":"wcsstr", "header":"wchar.h"},
+        {"ident":"wcstod", "header":"wchar.h"},
+        {"ident":"wcstof", "header":"wchar.h"},
+        {"ident":"wcstoimax", "header":"inttypes.h"},
+        {"ident":"wcstok", "header":"wchar.h"},
+        {"ident":"wcstok_s", "header":"wchar.h"},
+        {"ident":"wcstol", "header":"wchar.h"},
+        {"ident":"wcstold", "header":"wchar.h"},
+        {"ident":"wcstoll", "header":"wchar.h"},
+        {"ident":"wcstombs", "header":"stdlib.h"},
+        {"ident":"wcstombs_s", "header":"stdlib.h"},
+        {"ident":"wcstoul", "header":"wchar.h"},
+        {"ident":"wcstoull", "header":"wchar.h"},
+        {"ident":"wcstoumax", "header":"inttypes.h"},
+        {"ident":"wcsxfrm", "header":"wchar.h"},
+        {"ident":"wctob", "header":"wchar.h"},
+        {"ident":"wctomb", "header":"stdlib.h"},
+        {"ident":"wctomb_s", "header":"stdlib.h"},
+        {"ident":"wctrans", "header":"wctype.h"},
+        {"ident":"wctype", "header":"wctype.h"},
+        {"ident":"wmemchr", "header":"wchar.h"},
+        {"ident":"wmemcmp", "header":"wchar.h"},
+        {"ident":"wmemcpy", "header":"wchar.h"},
+        {"ident":"wmemcpy_s", "header":"wchar.h"},
+        {"ident":"wmemmove", "header":"wchar.h"},
+        {"ident":"wmemmove_s", "header":"wchar.h"},
+        {"ident":"wmemset", "header":"wchar.h"},
+        {"ident":"wprintf", "header":"wchar.h"},
+        {"ident":"wprintf_s", "header":"wchar.h"},
+        {"ident":"wscanf", "header":"wchar.h"},
+        {"ident":"wscanf_s", "header":"wchar.h"}
+    ]
+}
diff --git a/share/compliance/glibc_functions.json b/share/compliance/glibc_functions.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e21f7e79ea74fe74d18fbaf24cc9977bba09679
--- /dev/null
+++ b/share/compliance/glibc_functions.json
@@ -0,0 +1,1594 @@
+{
+    "description": "Function and macro identifiers defined in the GNU C Library",
+    "last_update": "2017-11",
+    "source": "glibc - https://www.gnu.org/software/libc/manual/html_node/Function-Index.html",
+    "data":[
+        {"ident":"__fbufsize"},
+        {"ident":"__flbf"},
+        {"ident":"__fpending"},
+        {"ident":"__fpurge"},
+        {"ident":"__freadable"},
+        {"ident":"__freading"},
+        {"ident":"__fsetlocking"},
+        {"ident":"__fwritable"},
+        {"ident":"__fwriting"},
+        {"ident":"__ppc_get_timebase"},
+        {"ident":"__ppc_get_timebase_freq"},
+        {"ident":"__ppc_mdoio"},
+        {"ident":"__ppc_mdoom"},
+        {"ident":"__ppc_set_ppr_low"},
+        {"ident":"__ppc_set_ppr_med"},
+        {"ident":"__ppc_set_ppr_med_high"},
+        {"ident":"__ppc_set_ppr_med_low"},
+        {"ident":"__ppc_set_ppr_very_low"},
+        {"ident":"__ppc_yield"},
+        {"ident":"__va_copy"},
+        {"ident":"_exit"},
+        {"ident":"_Exit"},
+        {"ident":"_flushlbf"},
+        {"ident":"_tolower"},
+        {"ident":"_toupper"},
+        {"ident":"a64l"},
+        {"ident":"abort"},
+        {"ident":"abs"},
+        {"ident":"accept"},
+        {"ident":"access"},
+        {"ident":"acos"},
+        {"ident":"acosf"},
+        {"ident":"acosfN"},
+        {"ident":"acosfNx"},
+        {"ident":"acosh"},
+        {"ident":"acoshf"},
+        {"ident":"acoshfN"},
+        {"ident":"acoshfNx"},
+        {"ident":"acoshl"},
+        {"ident":"acosl"},
+        {"ident":"addmntent"},
+        {"ident":"addseverity"},
+        {"ident":"adjtime"},
+        {"ident":"adjtimex"},
+        {"ident":"aio_cancel"},
+        {"ident":"aio_cancel64"},
+        {"ident":"aio_error"},
+        {"ident":"aio_error64"},
+        {"ident":"aio_fsync"},
+        {"ident":"aio_fsync64"},
+        {"ident":"aio_init"},
+        {"ident":"aio_read"},
+        {"ident":"aio_read64"},
+        {"ident":"aio_return"},
+        {"ident":"aio_return64"},
+        {"ident":"aio_suspend"},
+        {"ident":"aio_suspend64"},
+        {"ident":"aio_write"},
+        {"ident":"aio_write64"},
+        {"ident":"alarm"},
+        {"ident":"aligned_alloc"},
+        {"ident":"alloca"},
+        {"ident":"alphasort"},
+        {"ident":"alphasort64"},
+        {"ident":"argp_error"},
+        {"ident":"argp_failure"},
+        {"ident":"argp_help"},
+        {"ident":"argp_parse"},
+        {"ident":"argp_state_help"},
+        {"ident":"argp_usage"},
+        {"ident":"argz_add"},
+        {"ident":"argz_add_sep"},
+        {"ident":"argz_append"},
+        {"ident":"argz_count"},
+        {"ident":"argz_create"},
+        {"ident":"argz_create_sep"},
+        {"ident":"argz_delete"},
+        {"ident":"argz_extract"},
+        {"ident":"argz_insert"},
+        {"ident":"argz_next"},
+        {"ident":"argz_replace"},
+        {"ident":"argz_stringify"},
+        {"ident":"asctime"},
+        {"ident":"asctime_r"},
+        {"ident":"asin"},
+        {"ident":"asinf"},
+        {"ident":"asinfN"},
+        {"ident":"asinfNx"},
+        {"ident":"asinh"},
+        {"ident":"asinhf"},
+        {"ident":"asinhfN"},
+        {"ident":"asinhfNx"},
+        {"ident":"asinhl"},
+        {"ident":"asinl"},
+        {"ident":"asprintf"},
+        {"ident":"assert"},
+        {"ident":"assert_perror"},
+        {"ident":"atan"},
+        {"ident":"atan2"},
+        {"ident":"atan2f"},
+        {"ident":"atan2fN"},
+        {"ident":"atan2fNx"},
+        {"ident":"atan2l"},
+        {"ident":"atanf"},
+        {"ident":"atanfN"},
+        {"ident":"atanfNx"},
+        {"ident":"atanh"},
+        {"ident":"atanhf"},
+        {"ident":"atanhfN"},
+        {"ident":"atanhfNx"},
+        {"ident":"atanhl"},
+        {"ident":"atanl"},
+        {"ident":"atexit"},
+        {"ident":"atof"},
+        {"ident":"atoi"},
+        {"ident":"atol"},
+        {"ident":"atoll"},
+        {"ident":"backtrace"},
+        {"ident":"backtrace_symbols"},
+        {"ident":"backtrace_symbols_fd"},
+        {"ident":"basename"},
+        {"ident":"basename"},
+        {"ident":"bcmp"},
+        {"ident":"bcopy"},
+        {"ident":"bind"},
+        {"ident":"bind_textdomain_codeset"},
+        {"ident":"bindtextdomain"},
+        {"ident":"brk"},
+        {"ident":"bsearch"},
+        {"ident":"btowc"},
+        {"ident":"bzero"},
+        {"ident":"cabs"},
+        {"ident":"cabsf"},
+        {"ident":"cabsfN"},
+        {"ident":"cabsfNx"},
+        {"ident":"cabsl"},
+        {"ident":"cacos"},
+        {"ident":"cacosf"},
+        {"ident":"cacosfN"},
+        {"ident":"cacosfNx"},
+        {"ident":"cacosh"},
+        {"ident":"cacoshf"},
+        {"ident":"cacoshfN"},
+        {"ident":"cacoshfNx"},
+        {"ident":"cacoshl"},
+        {"ident":"cacosl"},
+        {"ident":"calloc"},
+        {"ident":"canonicalize"},
+        {"ident":"canonicalize_file_name"},
+        {"ident":"canonicalizef"},
+        {"ident":"canonicalizefN"},
+        {"ident":"canonicalizefNx"},
+        {"ident":"canonicalizel"},
+        {"ident":"carg"},
+        {"ident":"cargf"},
+        {"ident":"cargfN"},
+        {"ident":"cargfNx"},
+        {"ident":"cargl"},
+        {"ident":"casin"},
+        {"ident":"casinf"},
+        {"ident":"casinfN"},
+        {"ident":"casinfNx"},
+        {"ident":"casinh"},
+        {"ident":"casinhf"},
+        {"ident":"casinhfN"},
+        {"ident":"casinhfNx"},
+        {"ident":"casinhl"},
+        {"ident":"casinl"},
+        {"ident":"catan"},
+        {"ident":"catanf"},
+        {"ident":"catanfN"},
+        {"ident":"catanfNx"},
+        {"ident":"catanh"},
+        {"ident":"catanhf"},
+        {"ident":"catanhfN"},
+        {"ident":"catanhfNx"},
+        {"ident":"catanhl"},
+        {"ident":"catanl"},
+        {"ident":"catclose"},
+        {"ident":"catgets"},
+        {"ident":"catopen"},
+        {"ident":"cbc_crypt"},
+        {"ident":"cbrt"},
+        {"ident":"cbrtf"},
+        {"ident":"cbrtfN"},
+        {"ident":"cbrtfNx"},
+        {"ident":"cbrtl"},
+        {"ident":"ccos"},
+        {"ident":"ccosf"},
+        {"ident":"ccosfN"},
+        {"ident":"ccosfNx"},
+        {"ident":"ccosh"},
+        {"ident":"ccoshf"},
+        {"ident":"ccoshfN"},
+        {"ident":"ccoshfNx"},
+        {"ident":"ccoshl"},
+        {"ident":"ccosl"},
+        {"ident":"ceil"},
+        {"ident":"ceilf"},
+        {"ident":"ceilfN"},
+        {"ident":"ceilfNx"},
+        {"ident":"ceill"},
+        {"ident":"cexp"},
+        {"ident":"cexpf"},
+        {"ident":"cexpfN"},
+        {"ident":"cexpfNx"},
+        {"ident":"cexpl"},
+        {"ident":"cfgetispeed"},
+        {"ident":"cfgetospeed"},
+        {"ident":"cfmakeraw"},
+        {"ident":"cfsetispeed"},
+        {"ident":"cfsetospeed"},
+        {"ident":"cfsetspeed"},
+        {"ident":"chdir"},
+        {"ident":"chmod"},
+        {"ident":"chmod"},
+        {"ident":"chown"},
+        {"ident":"cimag"},
+        {"ident":"cimagf"},
+        {"ident":"cimagfN"},
+        {"ident":"cimagfNx"},
+        {"ident":"cimagl"},
+        {"ident":"clearenv"},
+        {"ident":"clearerr"},
+        {"ident":"clearerr_unlocked"},
+        {"ident":"clock"},
+        {"ident":"clog"},
+        {"ident":"clog10"},
+        {"ident":"clog10f"},
+        {"ident":"clog10fN"},
+        {"ident":"clog10fNx"},
+        {"ident":"clog10l"},
+        {"ident":"clogf"},
+        {"ident":"clogfN"},
+        {"ident":"clogfNx"},
+        {"ident":"clogl"},
+        {"ident":"close"},
+        {"ident":"closedir"},
+        {"ident":"closelog"},
+        {"ident":"confstr"},
+        {"ident":"conj"},
+        {"ident":"conjf"},
+        {"ident":"conjfN"},
+        {"ident":"conjfNx"},
+        {"ident":"conjl"},
+        {"ident":"connect"},
+        {"ident":"continue"},
+        {"ident":"copysign"},
+        {"ident":"copysignf"},
+        {"ident":"copysignfN"},
+        {"ident":"copysignfNx"},
+        {"ident":"copysignl"},
+        {"ident":"cos"},
+        {"ident":"cosf"},
+        {"ident":"cosfN"},
+        {"ident":"cosfNx"},
+        {"ident":"cosh"},
+        {"ident":"coshf"},
+        {"ident":"coshfN"},
+        {"ident":"coshfNx"},
+        {"ident":"coshl"},
+        {"ident":"cosl"},
+        {"ident":"cpow"},
+        {"ident":"cpowf"},
+        {"ident":"cpowfN"},
+        {"ident":"cpowfNx"},
+        {"ident":"cpowl"},
+        {"ident":"cproj"},
+        {"ident":"cprojf"},
+        {"ident":"cprojfN"},
+        {"ident":"cprojfNx"},
+        {"ident":"cprojl"},
+        {"ident":"CPU_CLR"},
+        {"ident":"CPU_ISSET"},
+        {"ident":"CPU_SET"},
+        {"ident":"CPU_ZERO"},
+        {"ident":"creal"},
+        {"ident":"crealf"},
+        {"ident":"crealfN"},
+        {"ident":"crealfNx"},
+        {"ident":"creall"},
+        {"ident":"creat"},
+        {"ident":"creat64"},
+        {"ident":"crypt"},
+        {"ident":"crypt_r"},
+        {"ident":"csin"},
+        {"ident":"csinf"},
+        {"ident":"csinfN"},
+        {"ident":"csinfNx"},
+        {"ident":"csinh"},
+        {"ident":"csinhf"},
+        {"ident":"csinhfN"},
+        {"ident":"csinhfNx"},
+        {"ident":"csinhl"},
+        {"ident":"csinl"},
+        {"ident":"csqrt"},
+        {"ident":"csqrtf"},
+        {"ident":"csqrtfN"},
+        {"ident":"csqrtfNx"},
+        {"ident":"csqrtl"},
+        {"ident":"ctan"},
+        {"ident":"ctanf"},
+        {"ident":"ctanfN"},
+        {"ident":"ctanfNx"},
+        {"ident":"ctanh"},
+        {"ident":"ctanhf"},
+        {"ident":"ctanhfN"},
+        {"ident":"ctanhfNx"},
+        {"ident":"ctanhl"},
+        {"ident":"ctanl"},
+        {"ident":"ctermid"},
+        {"ident":"ctime"},
+        {"ident":"ctime_r"},
+        {"ident":"cuserid"},
+        {"ident":"dcgettext"},
+        {"ident":"dcngettext"},
+        {"ident":"DES_FAILED"},
+        {"ident":"des_setparity"},
+        {"ident":"dgettext"},
+        {"ident":"difftime"},
+        {"ident":"dirfd"},
+        {"ident":"dirname"},
+        {"ident":"div"},
+        {"ident":"dngettext"},
+        {"ident":"drand48"},
+        {"ident":"drand48_r"},
+        {"ident":"drem"},
+        {"ident":"dremf"},
+        {"ident":"dreml"},
+        {"ident":"DTTOIF"},
+        {"ident":"dup"},
+        {"ident":"dup2"},
+        {"ident":"ecb_crypt"},
+        {"ident":"ecvt"},
+        {"ident":"ecvt_r"},
+        {"ident":"encrypt"},
+        {"ident":"encrypt_r"},
+        {"ident":"endfsent"},
+        {"ident":"endgrent"},
+        {"ident":"endhostent"},
+        {"ident":"endmntent"},
+        {"ident":"endnetent"},
+        {"ident":"endnetgrent"},
+        {"ident":"endprotoent"},
+        {"ident":"endpwent"},
+        {"ident":"endservent"},
+        {"ident":"endutent"},
+        {"ident":"endutxent"},
+        {"ident":"envz_add"},
+        {"ident":"envz_entry"},
+        {"ident":"envz_get"},
+        {"ident":"envz_merge"},
+        {"ident":"envz_remove"},
+        {"ident":"envz_strip"},
+        {"ident":"erand48"},
+        {"ident":"erand48_r"},
+        {"ident":"erf"},
+        {"ident":"erfc"},
+        {"ident":"erfcf"},
+        {"ident":"erfcfN"},
+        {"ident":"erfcfNx"},
+        {"ident":"erfcl"},
+        {"ident":"erff"},
+        {"ident":"erffN"},
+        {"ident":"erffNx"},
+        {"ident":"erfl"},
+        {"ident":"err"},
+        {"ident":"error"},
+        {"ident":"error_at_line"},
+        {"ident":"errx"},
+        {"ident":"execl"},
+        {"ident":"execle"},
+        {"ident":"execlp"},
+        {"ident":"execv"},
+        {"ident":"execve"},
+        {"ident":"execvp"},
+        {"ident":"exit"},
+        {"ident":"exp"},
+        {"ident":"exp10"},
+        {"ident":"exp10f"},
+        {"ident":"exp10fN"},
+        {"ident":"exp10fNx"},
+        {"ident":"exp10l"},
+        {"ident":"exp2"},
+        {"ident":"exp2f"},
+        {"ident":"exp2fN"},
+        {"ident":"exp2fNx"},
+        {"ident":"exp2l"},
+        {"ident":"expf"},
+        {"ident":"expfN"},
+        {"ident":"expfNx"},
+        {"ident":"expl"},
+        {"ident":"explicit_bzero"},
+        {"ident":"expm1"},
+        {"ident":"expm1f"},
+        {"ident":"expm1fN"},
+        {"ident":"expm1fNx"},
+        {"ident":"expm1l"},
+        {"ident":"fabs"},
+        {"ident":"fabsf"},
+        {"ident":"fabsfN"},
+        {"ident":"fabsfNx"},
+        {"ident":"fabsl"},
+        {"ident":"fchdir"},
+        {"ident":"fchmod"},
+        {"ident":"fchown"},
+        {"ident":"fclose"},
+        {"ident":"fcloseall"},
+        {"ident":"fcntl"},
+        {"ident":"fcvt"},
+        {"ident":"fcvt_r"},
+        {"ident":"FD_CLR"},
+        {"ident":"FD_ISSET"},
+        {"ident":"FD_SET"},
+        {"ident":"FD_ZERO"},
+        {"ident":"fdatasync"},
+        {"ident":"fdim"},
+        {"ident":"fdimf"},
+        {"ident":"fdimfN"},
+        {"ident":"fdimfNx"},
+        {"ident":"fdiml"},
+        {"ident":"fdopen"},
+        {"ident":"fdopendir"},
+        {"ident":"feclearexcept"},
+        {"ident":"fedisableexcept"},
+        {"ident":"feenableexcept"},
+        {"ident":"fegetenv"},
+        {"ident":"fegetexcept"},
+        {"ident":"fegetexceptflag"},
+        {"ident":"fegetmode"},
+        {"ident":"fegetround"},
+        {"ident":"feholdexcept"},
+        {"ident":"feof"},
+        {"ident":"feof_unlocked"},
+        {"ident":"feraiseexcept"},
+        {"ident":"ferror"},
+        {"ident":"ferror_unlocked"},
+        {"ident":"fesetenv"},
+        {"ident":"fesetexcept"},
+        {"ident":"fesetexceptflag"},
+        {"ident":"fesetmode"},
+        {"ident":"fesetround"},
+        {"ident":"fetestexcept"},
+        {"ident":"fetestexceptflag"},
+        {"ident":"feupdateenv"},
+        {"ident":"fflush"},
+        {"ident":"fflush_unlocked"},
+        {"ident":"fgetc"},
+        {"ident":"fgetc_unlocked"},
+        {"ident":"fgetgrent"},
+        {"ident":"fgetgrent_r"},
+        {"ident":"fgetpos"},
+        {"ident":"fgetpos64"},
+        {"ident":"fgetpwent"},
+        {"ident":"fgetpwent_r"},
+        {"ident":"fgets"},
+        {"ident":"fgets_unlocked"},
+        {"ident":"fgetwc"},
+        {"ident":"fgetwc_unlocked"},
+        {"ident":"fgetws"},
+        {"ident":"fgetws_unlocked"},
+        {"ident":"fileno"},
+        {"ident":"fileno_unlocked"},
+        {"ident":"finite"},
+        {"ident":"finitef"},
+        {"ident":"finitel"},
+        {"ident":"flockfile"},
+        {"ident":"floor"},
+        {"ident":"floorf"},
+        {"ident":"floorfN"},
+        {"ident":"floorfNx"},
+        {"ident":"floorl"},
+        {"ident":"fma"},
+        {"ident":"fmaf"},
+        {"ident":"fmafN"},
+        {"ident":"fmafNx"},
+        {"ident":"fmal"},
+        {"ident":"fmax"},
+        {"ident":"fmaxf"},
+        {"ident":"fmaxfN"},
+        {"ident":"fmaxfNx"},
+        {"ident":"fmaxl"},
+        {"ident":"fmaxmag"},
+        {"ident":"fmaxmagf"},
+        {"ident":"fmaxmagfN"},
+        {"ident":"fmaxmagfNx"},
+        {"ident":"fmaxmagl"},
+        {"ident":"fmemopen"},
+        {"ident":"fmin"},
+        {"ident":"fminf"},
+        {"ident":"fminfN"},
+        {"ident":"fminfNx"},
+        {"ident":"fminl"},
+        {"ident":"fminmag"},
+        {"ident":"fminmagf"},
+        {"ident":"fminmagfN"},
+        {"ident":"fminmagfNx"},
+        {"ident":"fminmagl"},
+        {"ident":"fmod"},
+        {"ident":"fmodf"},
+        {"ident":"fmodfN"},
+        {"ident":"fmodfNx"},
+        {"ident":"fmodl"},
+        {"ident":"fmtmsg"},
+        {"ident":"fnmatch"},
+        {"ident":"fopen"},
+        {"ident":"fopen64"},
+        {"ident":"fopencookie"},
+        {"ident":"fork"},
+        {"ident":"forkpty"},
+        {"ident":"fpathconf"},
+        {"ident":"fpclassify"},
+        {"ident":"fprintf"},
+        {"ident":"fputc"},
+        {"ident":"fputc_unlocked"},
+        {"ident":"fputs"},
+        {"ident":"fputs_unlocked"},
+        {"ident":"fputwc"},
+        {"ident":"fputwc_unlocked"},
+        {"ident":"fputws"},
+        {"ident":"fputws_unlocked"},
+        {"ident":"fread"},
+        {"ident":"fread_unlocked"},
+        {"ident":"free"},
+        {"ident":"freopen"},
+        {"ident":"freopen64"},
+        {"ident":"frexp"},
+        {"ident":"frexpf"},
+        {"ident":"frexpfN"},
+        {"ident":"frexpfNx"},
+        {"ident":"frexpl"},
+        {"ident":"fromfp"},
+        {"ident":"fromfpf"},
+        {"ident":"fromfpfN"},
+        {"ident":"fromfpfNx"},
+        {"ident":"fromfpl"},
+        {"ident":"fromfpx"},
+        {"ident":"fromfpxf"},
+        {"ident":"fromfpxfN"},
+        {"ident":"fromfpxfNx"},
+        {"ident":"fromfpxl"},
+        {"ident":"fscanf"},
+        {"ident":"fseek"},
+        {"ident":"fseeko"},
+        {"ident":"fseeko64"},
+        {"ident":"fsetpos"},
+        {"ident":"fsetpos64"},
+        {"ident":"fstat"},
+        {"ident":"fstat64"},
+        {"ident":"fsync"},
+        {"ident":"ftell"},
+        {"ident":"ftello"},
+        {"ident":"ftello64"},
+        {"ident":"ftruncate"},
+        {"ident":"ftruncate64"},
+        {"ident":"ftrylockfile"},
+        {"ident":"ftw"},
+        {"ident":"ftw64"},
+        {"ident":"funlockfile"},
+        {"ident":"futimes"},
+        {"ident":"fwide"},
+        {"ident":"fwprintf"},
+        {"ident":"fwrite"},
+        {"ident":"fwrite_unlocked"},
+        {"ident":"fwscanf"},
+        {"ident":"gamma"},
+        {"ident":"gammaf"},
+        {"ident":"gammal"},
+        {"ident":"gcvt"},
+        {"ident":"get_avphys_pages"},
+        {"ident":"get_current_dir_name"},
+        {"ident":"get_nprocs"},
+        {"ident":"get_nprocs_conf"},
+        {"ident":"get_phys_pages"},
+        {"ident":"getauxval"},
+        {"ident":"getc"},
+        {"ident":"getc_unlocked"},
+        {"ident":"getchar"},
+        {"ident":"getchar_unlocked"},
+        {"ident":"getcontext"},
+        {"ident":"getcwd"},
+        {"ident":"getdate"},
+        {"ident":"getdate_r"},
+        {"ident":"getdelim"},
+        {"ident":"getdomainnname"},
+        {"ident":"getegid"},
+        {"ident":"getentropy"},
+        {"ident":"getenv"},
+        {"ident":"geteuid"},
+        {"ident":"getfsent"},
+        {"ident":"getfsfile"},
+        {"ident":"getfsspec"},
+        {"ident":"getgid"},
+        {"ident":"getgrent"},
+        {"ident":"getgrent_r"},
+        {"ident":"getgrgid"},
+        {"ident":"getgrgid_r"},
+        {"ident":"getgrnam"},
+        {"ident":"getgrnam_r"},
+        {"ident":"getgrouplist"},
+        {"ident":"getgroups"},
+        {"ident":"gethostbyaddr"},
+        {"ident":"gethostbyaddr_r"},
+        {"ident":"gethostbyname"},
+        {"ident":"gethostbyname2"},
+        {"ident":"gethostbyname2_r"},
+        {"ident":"gethostbyname_r"},
+        {"ident":"gethostent"},
+        {"ident":"gethostid"},
+        {"ident":"gethostname"},
+        {"ident":"getitimer"},
+        {"ident":"getline"},
+        {"ident":"getloadavg"},
+        {"ident":"getlogin"},
+        {"ident":"getmntent"},
+        {"ident":"getmntent_r"},
+        {"ident":"getnetbyaddr"},
+        {"ident":"getnetbyname"},
+        {"ident":"getnetent"},
+        {"ident":"getnetgrent"},
+        {"ident":"getnetgrent_r"},
+        {"ident":"getopt"},
+        {"ident":"getopt_long"},
+        {"ident":"getopt_long_only"},
+        {"ident":"getpagesize"},
+        {"ident":"getpass"},
+        {"ident":"getpayload"},
+        {"ident":"getpayloadf"},
+        {"ident":"getpayloadfN"},
+        {"ident":"getpayloadfNx"},
+        {"ident":"getpayloadl"},
+        {"ident":"getpeername"},
+        {"ident":"getpgid"},
+        {"ident":"getpgrp"},
+        {"ident":"getpid"},
+        {"ident":"getppid"},
+        {"ident":"getpriority"},
+        {"ident":"getprotobyname"},
+        {"ident":"getprotobynumber"},
+        {"ident":"getprotoent"},
+        {"ident":"getpt"},
+        {"ident":"getpwent"},
+        {"ident":"getpwent_r"},
+        {"ident":"getpwnam"},
+        {"ident":"getpwnam_r"},
+        {"ident":"getpwuid"},
+        {"ident":"getpwuid_r"},
+        {"ident":"getrandom"},
+        {"ident":"getrlimit"},
+        {"ident":"getrlimit64"},
+        {"ident":"getrusage"},
+        {"ident":"gets"},
+        {"ident":"getservbyname"},
+        {"ident":"getservbyport"},
+        {"ident":"getservent"},
+        {"ident":"getsid"},
+        {"ident":"getsockname"},
+        {"ident":"getsockopt"},
+        {"ident":"getsubopt"},
+        {"ident":"gettext"},
+        {"ident":"gettimeofday"},
+        {"ident":"getuid"},
+        {"ident":"getumask"},
+        {"ident":"getutent"},
+        {"ident":"getutent_r"},
+        {"ident":"getutid"},
+        {"ident":"getutid_r"},
+        {"ident":"getutline"},
+        {"ident":"getutline_r"},
+        {"ident":"getutmp"},
+        {"ident":"getutmpx"},
+        {"ident":"getutxent"},
+        {"ident":"getutxid"},
+        {"ident":"getutxline"},
+        {"ident":"getw"},
+        {"ident":"getwc"},
+        {"ident":"getwc_unlocked"},
+        {"ident":"getwchar"},
+        {"ident":"getwchar_unlocked"},
+        {"ident":"getwd"},
+        {"ident":"glob"},
+        {"ident":"glob64"},
+        {"ident":"globfree"},
+        {"ident":"globfree64"},
+        {"ident":"gmtime"},
+        {"ident":"gmtime_r"},
+        {"ident":"grantpt"},
+        {"ident":"grantpt"},
+        {"ident":"gsignal"},
+        {"ident":"gtty"},
+        {"ident":"hasmntopt"},
+        {"ident":"hcreate"},
+        {"ident":"hcreate_r"},
+        {"ident":"hdestroy"},
+        {"ident":"hdestroy_r"},
+        {"ident":"hsearch"},
+        {"ident":"hsearch_r"},
+        {"ident":"htonl"},
+        {"ident":"htons"},
+        {"ident":"hypot"},
+        {"ident":"hypotf"},
+        {"ident":"hypotfN"},
+        {"ident":"hypotfNx"},
+        {"ident":"hypotl"},
+        {"ident":"iconv"},
+        {"ident":"iconv_close"},
+        {"ident":"iconv_open"},
+        {"ident":"if_freenameindex"},
+        {"ident":"if_indextoname"},
+        {"ident":"if_nameindex"},
+        {"ident":"if_nametoindex"},
+        {"ident":"IFTODT"},
+        {"ident":"ilogb"},
+        {"ident":"ilogbf"},
+        {"ident":"ilogbfN"},
+        {"ident":"ilogbfNx"},
+        {"ident":"ilogbl"},
+        {"ident":"imaxabs"},
+        {"ident":"imaxdiv"},
+        {"ident":"index"},
+        {"ident":"inet_addr"},
+        {"ident":"inet_aton"},
+        {"ident":"inet_lnaof"},
+        {"ident":"inet_makeaddr"},
+        {"ident":"inet_netof"},
+        {"ident":"inet_network"},
+        {"ident":"inet_ntoa"},
+        {"ident":"inet_ntop"},
+        {"ident":"inet_pton"},
+        {"ident":"initgroups"},
+        {"ident":"initstate"},
+        {"ident":"initstate_r"},
+        {"ident":"innetgr"},
+        {"ident":"ioctl"},
+        {"ident":"isalnum"},
+        {"ident":"isalpha"},
+        {"ident":"isascii"},
+        {"ident":"isatty"},
+        {"ident":"isblank"},
+        {"ident":"iscanonical"},
+        {"ident":"iscntrl"},
+        {"ident":"isdigit"},
+        {"ident":"iseqsig"},
+        {"ident":"isfinite"},
+        {"ident":"isgraph"},
+        {"ident":"isgreater"},
+        {"ident":"isgreaterequal"},
+        {"ident":"isinf"},
+        {"ident":"isinff"},
+        {"ident":"isinfl"},
+        {"ident":"isless"},
+        {"ident":"islessequal"},
+        {"ident":"islessgreater"},
+        {"ident":"islower"},
+        {"ident":"isnan"},
+        {"ident":"isnan"},
+        {"ident":"isnanf"},
+        {"ident":"isnanl"},
+        {"ident":"isnormal"},
+        {"ident":"isprint"},
+        {"ident":"ispunct"},
+        {"ident":"issignaling"},
+        {"ident":"isspace"},
+        {"ident":"issubnormal"},
+        {"ident":"isunordered"},
+        {"ident":"isupper"},
+        {"ident":"iswalnum"},
+        {"ident":"iswalpha"},
+        {"ident":"iswblank"},
+        {"ident":"iswcntrl"},
+        {"ident":"iswctype"},
+        {"ident":"iswdigit"},
+        {"ident":"iswgraph"},
+        {"ident":"iswlower"},
+        {"ident":"iswprint"},
+        {"ident":"iswpunct"},
+        {"ident":"iswspace"},
+        {"ident":"iswupper"},
+        {"ident":"iswxdigit"},
+        {"ident":"isxdigit"},
+        {"ident":"iszero"},
+        {"ident":"j0"},
+        {"ident":"j0f"},
+        {"ident":"j0fN"},
+        {"ident":"j0fNx"},
+        {"ident":"j0l"},
+        {"ident":"j1"},
+        {"ident":"j1f"},
+        {"ident":"j1fN"},
+        {"ident":"j1fNx"},
+        {"ident":"j1l"},
+        {"ident":"jn"},
+        {"ident":"jnf"},
+        {"ident":"jnfN"},
+        {"ident":"jnfNx"},
+        {"ident":"jnl"},
+        {"ident":"jrand48"},
+        {"ident":"jrand48_r"},
+        {"ident":"kill"},
+        {"ident":"killpg"},
+        {"ident":"l64a"},
+        {"ident":"labs"},
+        {"ident":"lcong48"},
+        {"ident":"lcong48_r"},
+        {"ident":"ldexp"},
+        {"ident":"ldexpf"},
+        {"ident":"ldexpfN"},
+        {"ident":"ldexpfNx"},
+        {"ident":"ldexpl"},
+        {"ident":"ldiv"},
+        {"ident":"lfind"},
+        {"ident":"lgamma"},
+        {"ident":"lgamma_r"},
+        {"ident":"lgammaf"},
+        {"ident":"lgammaf_r"},
+        {"ident":"lgammafN"},
+        {"ident":"lgammafN_r"},
+        {"ident":"lgammafNx"},
+        {"ident":"lgammafNx_r"},
+        {"ident":"lgammal"},
+        {"ident":"lgammal_r"},
+        {"ident":"link"},
+        {"ident":"lio_listio"},
+        {"ident":"lio_listio64"},
+        {"ident":"listen"},
+        {"ident":"llabs"},
+        {"ident":"lldiv"},
+        {"ident":"llogb"},
+        {"ident":"llogbf"},
+        {"ident":"llogbfN"},
+        {"ident":"llogbfNx"},
+        {"ident":"llogbl"},
+        {"ident":"llrint"},
+        {"ident":"llrintf"},
+        {"ident":"llrintfN"},
+        {"ident":"llrintfNx"},
+        {"ident":"llrintl"},
+        {"ident":"llround"},
+        {"ident":"llroundf"},
+        {"ident":"llroundfN"},
+        {"ident":"llroundfNx"},
+        {"ident":"llroundl"},
+        {"ident":"localeconv"},
+        {"ident":"localtime"},
+        {"ident":"localtime_r"},
+        {"ident":"log"},
+        {"ident":"log10"},
+        {"ident":"log10f"},
+        {"ident":"log10fN"},
+        {"ident":"log10fNx"},
+        {"ident":"log10l"},
+        {"ident":"log1p"},
+        {"ident":"log1pf"},
+        {"ident":"log1pfN"},
+        {"ident":"log1pfNx"},
+        {"ident":"log1pl"},
+        {"ident":"log2"},
+        {"ident":"log2f"},
+        {"ident":"log2fN"},
+        {"ident":"log2fNx"},
+        {"ident":"log2l"},
+        {"ident":"logb"},
+        {"ident":"logbf"},
+        {"ident":"logbfN"},
+        {"ident":"logbfNx"},
+        {"ident":"logbl"},
+        {"ident":"logf"},
+        {"ident":"logfN"},
+        {"ident":"logfNx"},
+        {"ident":"login"},
+        {"ident":"login_tty"},
+        {"ident":"logl"},
+        {"ident":"logout"},
+        {"ident":"logwtmp"},
+        {"ident":"longjmp"},
+        {"ident":"lrand48"},
+        {"ident":"lrand48_r"},
+        {"ident":"lrint"},
+        {"ident":"lrintf"},
+        {"ident":"lrintfN"},
+        {"ident":"lrintfNx"},
+        {"ident":"lrintl"},
+        {"ident":"lround"},
+        {"ident":"lroundf"},
+        {"ident":"lroundfN"},
+        {"ident":"lroundfNx"},
+        {"ident":"lroundl"},
+        {"ident":"lsearch"},
+        {"ident":"lseek"},
+        {"ident":"lseek64"},
+        {"ident":"lstat"},
+        {"ident":"lstat64"},
+        {"ident":"lutimes"},
+        {"ident":"madvise"},
+        {"ident":"main"},
+        {"ident":"makecontext"},
+        {"ident":"mallinfo"},
+        {"ident":"malloc"},
+        {"ident":"mallopt"},
+        {"ident":"matherr"},
+        {"ident":"mblen"},
+        {"ident":"mbrlen"},
+        {"ident":"mbrtowc"},
+        {"ident":"mbsinit"},
+        {"ident":"mbsnrtowcs"},
+        {"ident":"mbsrtowcs"},
+        {"ident":"mbstowcs"},
+        {"ident":"mbtowc"},
+        {"ident":"mcheck"},
+        {"ident":"memalign"},
+        {"ident":"memccpy"},
+        {"ident":"memchr"},
+        {"ident":"memcmp"},
+        {"ident":"memcpy"},
+        {"ident":"memfrob"},
+        {"ident":"memmem"},
+        {"ident":"memmove"},
+        {"ident":"mempcpy"},
+        {"ident":"memrchr"},
+        {"ident":"memset"},
+        {"ident":"merge"},
+        {"ident":"mkdir"},
+        {"ident":"mkdtemp"},
+        {"ident":"mkfifo"},
+        {"ident":"mknod"},
+        {"ident":"mkstemp"},
+        {"ident":"mktemp"},
+        {"ident":"mktime"},
+        {"ident":"mlock"},
+        {"ident":"mlockall"},
+        {"ident":"mmap"},
+        {"ident":"mmap64"},
+        {"ident":"modf"},
+        {"ident":"modff"},
+        {"ident":"modffN"},
+        {"ident":"modffNx"},
+        {"ident":"modfl"},
+        {"ident":"mount"},
+        {"ident":"mprobe"},
+        {"ident":"mrand48"},
+        {"ident":"mrand48_r"},
+        {"ident":"mremap"},
+        {"ident":"msync"},
+        {"ident":"mtrace"},
+        {"ident":"munlock"},
+        {"ident":"munlockall"},
+        {"ident":"munmap"},
+        {"ident":"muntrace"},
+        {"ident":"nan"},
+        {"ident":"nanf"},
+        {"ident":"nanfN"},
+        {"ident":"nanfNx"},
+        {"ident":"nanl"},
+        {"ident":"nanosleep"},
+        {"ident":"nearbyint"},
+        {"ident":"nearbyintf"},
+        {"ident":"nearbyintfN"},
+        {"ident":"nearbyintfNx"},
+        {"ident":"nearbyintl"},
+        {"ident":"nextafter"},
+        {"ident":"nextafterf"},
+        {"ident":"nextafterfN"},
+        {"ident":"nextafterfNx"},
+        {"ident":"nextafterl"},
+        {"ident":"nextdown"},
+        {"ident":"nextdownf"},
+        {"ident":"nextdownfN"},
+        {"ident":"nextdownfNx"},
+        {"ident":"nextdownl"},
+        {"ident":"nexttoward"},
+        {"ident":"nexttowardf"},
+        {"ident":"nexttowardl"},
+        {"ident":"nextup"},
+        {"ident":"nextupf"},
+        {"ident":"nextupfN"},
+        {"ident":"nextupfNx"},
+        {"ident":"nextupl"},
+        {"ident":"nftw"},
+        {"ident":"nftw64"},
+        {"ident":"ngettext"},
+        {"ident":"nice"},
+        {"ident":"nl_langinfo"},
+        {"ident":"notfound"},
+        {"ident":"nrand48"},
+        {"ident":"nrand48_r"},
+        {"ident":"ntohl"},
+        {"ident":"ntohs"},
+        {"ident":"ntp_adjtime"},
+        {"ident":"ntp_gettime"},
+        {"ident":"obstack_1grow"},
+        {"ident":"obstack_1grow_fast"},
+        {"ident":"obstack_alignment_mask"},
+        {"ident":"obstack_alloc"},
+        {"ident":"obstack_base"},
+        {"ident":"obstack_blank"},
+        {"ident":"obstack_blank_fast"},
+        {"ident":"obstack_chunk_alloc"},
+        {"ident":"obstack_chunk_free"},
+        {"ident":"obstack_chunk_size"},
+        {"ident":"obstack_copy"},
+        {"ident":"obstack_copy0"},
+        {"ident":"obstack_finish"},
+        {"ident":"obstack_free"},
+        {"ident":"obstack_grow"},
+        {"ident":"obstack_grow0"},
+        {"ident":"obstack_init"},
+        {"ident":"obstack_int_grow"},
+        {"ident":"obstack_int_grow_fast"},
+        {"ident":"obstack_next_free"},
+        {"ident":"obstack_object_size"},
+        {"ident":"obstack_object_size"},
+        {"ident":"obstack_printf"},
+        {"ident":"obstack_ptr_grow"},
+        {"ident":"obstack_ptr_grow_fast"},
+        {"ident":"obstack_room"},
+        {"ident":"obstack_vprintf"},
+        {"ident":"offsetof"},
+        {"ident":"on_exit"},
+        {"ident":"open"},
+        {"ident":"open64"},
+        {"ident":"open_memstream"},
+        {"ident":"opendir"},
+        {"ident":"openlog"},
+        {"ident":"openpty"},
+        {"ident":"parse_printf_format"},
+        {"ident":"pathconf"},
+        {"ident":"pause"},
+        {"ident":"pclose"},
+        {"ident":"perror"},
+        {"ident":"pipe"},
+        {"ident":"popen"},
+        {"ident":"posix_fallocate"},
+        {"ident":"posix_fallocate64"},
+        {"ident":"posix_memalign"},
+        {"ident":"pow"},
+        {"ident":"pow10"},
+        {"ident":"pow10f"},
+        {"ident":"pow10l"},
+        {"ident":"powf"},
+        {"ident":"powfN"},
+        {"ident":"powfNx"},
+        {"ident":"powl"},
+        {"ident":"pread"},
+        {"ident":"pread64"},
+        {"ident":"preadv"},
+        {"ident":"preadv2"},
+        {"ident":"preadv64"},
+        {"ident":"preadv64v2"},
+        {"ident":"printf"},
+        {"ident":"printf_size"},
+        {"ident":"printf_size_info"},
+        {"ident":"psignal"},
+        {"ident":"pthread_getattr_default_np"},
+        {"ident":"pthread_getspecific"},
+        {"ident":"pthread_key_create"},
+        {"ident":"pthread_key_delete"},
+        {"ident":"pthread_setattr_default_np"},
+        {"ident":"pthread_setspecific"},
+        {"ident":"ptsname"},
+        {"ident":"ptsname_r"},
+        {"ident":"putc"},
+        {"ident":"putc_unlocked"},
+        {"ident":"putchar"},
+        {"ident":"putchar_unlocked"},
+        {"ident":"putenv"},
+        {"ident":"putpwent"},
+        {"ident":"puts"},
+        {"ident":"pututline"},
+        {"ident":"pututxline"},
+        {"ident":"putw"},
+        {"ident":"putwc"},
+        {"ident":"putwc_unlocked"},
+        {"ident":"putwchar"},
+        {"ident":"putwchar_unlocked"},
+        {"ident":"pwrite"},
+        {"ident":"pwrite64"},
+        {"ident":"pwritev"},
+        {"ident":"pwritev2"},
+        {"ident":"pwritev64"},
+        {"ident":"pwritev64v2"},
+        {"ident":"qecvt"},
+        {"ident":"qecvt_r"},
+        {"ident":"qfcvt"},
+        {"ident":"qfcvt_r"},
+        {"ident":"qgcvt"},
+        {"ident":"qsort"},
+        {"ident":"raise"},
+        {"ident":"rand"},
+        {"ident":"rand_r"},
+        {"ident":"random"},
+        {"ident":"random_r"},
+        {"ident":"rawmemchr"},
+        {"ident":"read"},
+        {"ident":"readdir"},
+        {"ident":"readdir64"},
+        {"ident":"readdir64_r"},
+        {"ident":"readdir_r"},
+        {"ident":"readlink"},
+        {"ident":"readv"},
+        {"ident":"realloc"},
+        {"ident":"reallocarray"},
+        {"ident":"realpath"},
+        {"ident":"recv"},
+        {"ident":"recvfrom"},
+        {"ident":"regcomp"},
+        {"ident":"regerror"},
+        {"ident":"regexec"},
+        {"ident":"regfree"},
+        {"ident":"register_printf_function"},
+        {"ident":"remainder"},
+        {"ident":"remainderf"},
+        {"ident":"remainderfN"},
+        {"ident":"remainderfNx"},
+        {"ident":"remainderl"},
+        {"ident":"remove"},
+        {"ident":"rename"},
+        {"ident":"return"},
+        {"ident":"rewind"},
+        {"ident":"rewinddir"},
+        {"ident":"rindex"},
+        {"ident":"rint"},
+        {"ident":"rintf"},
+        {"ident":"rintfN"},
+        {"ident":"rintfNx"},
+        {"ident":"rintl"},
+        {"ident":"rmdir"},
+        {"ident":"round"},
+        {"ident":"roundeven"},
+        {"ident":"roundevenf"},
+        {"ident":"roundevenfN"},
+        {"ident":"roundevenfNx"},
+        {"ident":"roundevenl"},
+        {"ident":"roundf"},
+        {"ident":"roundfN"},
+        {"ident":"roundfNx"},
+        {"ident":"roundl"},
+        {"ident":"rpmatch"},
+        {"ident":"S_ISBLK"},
+        {"ident":"S_ISCHR"},
+        {"ident":"S_ISDIR"},
+        {"ident":"S_ISFIFO"},
+        {"ident":"S_ISLNK"},
+        {"ident":"S_ISREG"},
+        {"ident":"S_ISSOCK"},
+        {"ident":"S_TYPEISMQ"},
+        {"ident":"S_TYPEISSEM"},
+        {"ident":"S_TYPEISSHM"},
+        {"ident":"sbrk"},
+        {"ident":"scalb"},
+        {"ident":"scalbf"},
+        {"ident":"scalbl"},
+        {"ident":"scalbln"},
+        {"ident":"scalblnf"},
+        {"ident":"scalblnfN"},
+        {"ident":"scalblnfNx"},
+        {"ident":"scalblnl"},
+        {"ident":"scalbn"},
+        {"ident":"scalbnf"},
+        {"ident":"scalbnfN"},
+        {"ident":"scalbnfNx"},
+        {"ident":"scalbnl"},
+        {"ident":"scandir"},
+        {"ident":"scandir64"},
+        {"ident":"scanf"},
+        {"ident":"sched_get_priority_max"},
+        {"ident":"sched_get_priority_min"},
+        {"ident":"sched_getaffinity"},
+        {"ident":"sched_getparam"},
+        {"ident":"sched_getscheduler"},
+        {"ident":"sched_rr_get_interval"},
+        {"ident":"sched_setaffinity"},
+        {"ident":"sched_setparam"},
+        {"ident":"sched_setscheduler"},
+        {"ident":"sched_yield"},
+        {"ident":"secure_getenv"},
+        {"ident":"seed48"},
+        {"ident":"seed48_r"},
+        {"ident":"seekdir"},
+        {"ident":"select"},
+        {"ident":"sem_close"},
+        {"ident":"sem_destroy"},
+        {"ident":"sem_getvalue"},
+        {"ident":"sem_init"},
+        {"ident":"sem_open"},
+        {"ident":"sem_post"},
+        {"ident":"sem_timedwait"},
+        {"ident":"sem_trywait"},
+        {"ident":"sem_unlink"},
+        {"ident":"sem_wait"},
+        {"ident":"semctl"},
+        {"ident":"semget"},
+        {"ident":"semop"},
+        {"ident":"semtimedop"},
+        {"ident":"send"},
+        {"ident":"sendto"},
+        {"ident":"setbuf"},
+        {"ident":"setbuffer"},
+        {"ident":"setcontext"},
+        {"ident":"setdomainname"},
+        {"ident":"setegid"},
+        {"ident":"setenv"},
+        {"ident":"seteuid"},
+        {"ident":"setfsent"},
+        {"ident":"setgid"},
+        {"ident":"setgrent"},
+        {"ident":"setgroups"},
+        {"ident":"sethostent"},
+        {"ident":"sethostid"},
+        {"ident":"sethostname"},
+        {"ident":"setitimer"},
+        {"ident":"setjmp"},
+        {"ident":"setkey"},
+        {"ident":"setkey_r"},
+        {"ident":"setlinebuf"},
+        {"ident":"setlocale"},
+        {"ident":"setlogmask"},
+        {"ident":"setmntent"},
+        {"ident":"setnetent"},
+        {"ident":"setnetgrent"},
+        {"ident":"setpayload"},
+        {"ident":"setpayloadf"},
+        {"ident":"setpayloadfN"},
+        {"ident":"setpayloadfNx"},
+        {"ident":"setpayloadl"},
+        {"ident":"setpayloadsig"},
+        {"ident":"setpayloadsigf"},
+        {"ident":"setpayloadsigfN"},
+        {"ident":"setpayloadsigfNx"},
+        {"ident":"setpayloadsigl"},
+        {"ident":"setpgid"},
+        {"ident":"setpgrp"},
+        {"ident":"setpriority"},
+        {"ident":"setprotoent"},
+        {"ident":"setpwent"},
+        {"ident":"setregid"},
+        {"ident":"setreuid"},
+        {"ident":"setrlimit"},
+        {"ident":"setrlimit64"},
+        {"ident":"setservent"},
+        {"ident":"setsid"},
+        {"ident":"setsockopt"},
+        {"ident":"setstate"},
+        {"ident":"setstate_r"},
+        {"ident":"settimeofday"},
+        {"ident":"setuid"},
+        {"ident":"setutent"},
+        {"ident":"setutxent"},
+        {"ident":"setvbuf"},
+        {"ident":"shm_open"},
+        {"ident":"shm_unlink"},
+        {"ident":"shutdown"},
+        {"ident":"sigaction"},
+        {"ident":"sigaddset"},
+        {"ident":"sigaltstack"},
+        {"ident":"sigblock"},
+        {"ident":"sigdelset"},
+        {"ident":"sigemptyset"},
+        {"ident":"sigfillset"},
+        {"ident":"siginterrupt"},
+        {"ident":"sigismember"},
+        {"ident":"siglongjmp"},
+        {"ident":"sigmask"},
+        {"ident":"signal"},
+        {"ident":"signbit"},
+        {"ident":"significand"},
+        {"ident":"significandf"},
+        {"ident":"significandl"},
+        {"ident":"sigpause"},
+        {"ident":"sigpending"},
+        {"ident":"sigprocmask"},
+        {"ident":"sigsetjmp"},
+        {"ident":"sigsetmask"},
+        {"ident":"sigstack"},
+        {"ident":"sigsuspend"},
+        {"ident":"sin"},
+        {"ident":"sincos"},
+        {"ident":"sincosf"},
+        {"ident":"sincosfN"},
+        {"ident":"sincosfNx"},
+        {"ident":"sincosl"},
+        {"ident":"sinf"},
+        {"ident":"sinfN"},
+        {"ident":"sinfNx"},
+        {"ident":"sinh"},
+        {"ident":"sinhf"},
+        {"ident":"sinhfN"},
+        {"ident":"sinhfNx"},
+        {"ident":"sinhl"},
+        {"ident":"sinl"},
+        {"ident":"sleep"},
+        {"ident":"snprintf"},
+        {"ident":"socket"},
+        {"ident":"socketpair"},
+        {"ident":"sprintf"},
+        {"ident":"sqrt"},
+        {"ident":"sqrtf"},
+        {"ident":"sqrtfN"},
+        {"ident":"sqrtfNx"},
+        {"ident":"sqrtl"},
+        {"ident":"srand"},
+        {"ident":"srand48"},
+        {"ident":"srand48_r"},
+        {"ident":"srandom"},
+        {"ident":"srandom_r"},
+        {"ident":"sscanf"},
+        {"ident":"ssignal"},
+        {"ident":"stat"},
+        {"ident":"stat64"},
+        {"ident":"stime"},
+        {"ident":"stpcpy"},
+        {"ident":"stpncpy"},
+        {"ident":"strcasecmp"},
+        {"ident":"strcasestr"},
+        {"ident":"strcat"},
+        {"ident":"strchr"},
+        {"ident":"strchrnul"},
+        {"ident":"strcmp"},
+        {"ident":"strcoll"},
+        {"ident":"strcpy"},
+        {"ident":"strcspn"},
+        {"ident":"strdup"},
+        {"ident":"strdupa"},
+        {"ident":"strerror"},
+        {"ident":"strerror_r"},
+        {"ident":"strfmon"},
+        {"ident":"strfromd"},
+        {"ident":"strfromf"},
+        {"ident":"strfromfN"},
+        {"ident":"strfromfNx"},
+        {"ident":"strfroml"},
+        {"ident":"strfry"},
+        {"ident":"strftime"},
+        {"ident":"strlen"},
+        {"ident":"strncasecmp"},
+        {"ident":"strncat"},
+        {"ident":"strncmp"},
+        {"ident":"strncpy"},
+        {"ident":"strndup"},
+        {"ident":"strndupa"},
+        {"ident":"strnlen"},
+        {"ident":"strpbrk"},
+        {"ident":"strptime"},
+        {"ident":"strrchr"},
+        {"ident":"strsep"},
+        {"ident":"strsignal"},
+        {"ident":"strspn"},
+        {"ident":"strstr"},
+        {"ident":"strtod"},
+        {"ident":"strtof"},
+        {"ident":"strtofN"},
+        {"ident":"strtofNx"},
+        {"ident":"strtoimax"},
+        {"ident":"strtok"},
+        {"ident":"strtok_r"},
+        {"ident":"strtol"},
+        {"ident":"strtold"},
+        {"ident":"strtoll"},
+        {"ident":"strtoq"},
+        {"ident":"strtoul"},
+        {"ident":"strtoull"},
+        {"ident":"strtoumax"},
+        {"ident":"strtouq"},
+        {"ident":"strverscmp"},
+        {"ident":"strxfrm"},
+        {"ident":"stty"},
+        {"ident":"success"},
+        {"ident":"SUN_LEN"},
+        {"ident":"swapcontext"},
+        {"ident":"swprintf"},
+        {"ident":"swscanf"},
+        {"ident":"symlink"},
+        {"ident":"sync"},
+        {"ident":"syscall"},
+        {"ident":"sysconf"},
+        {"ident":"sysctl"},
+        {"ident":"syslog"},
+        {"ident":"system"},
+        {"ident":"sysv_signal"},
+        {"ident":"tan"},
+        {"ident":"tanf"},
+        {"ident":"tanfN"},
+        {"ident":"tanfNx"},
+        {"ident":"tanh"},
+        {"ident":"tanhf"},
+        {"ident":"tanhfN"},
+        {"ident":"tanhfNx"},
+        {"ident":"tanhl"},
+        {"ident":"tanl"},
+        {"ident":"tcdrain"},
+        {"ident":"tcflow"},
+        {"ident":"tcflush"},
+        {"ident":"tcgetattr"},
+        {"ident":"tcgetpgrp"},
+        {"ident":"tcgetsid"},
+        {"ident":"tcsendbreak"},
+        {"ident":"tcsetattr"},
+        {"ident":"tcsetpgrp"},
+        {"ident":"tdelete"},
+        {"ident":"tdestroy"},
+        {"ident":"telldir"},
+        {"ident":"TEMP_FAILURE_RETRY"},
+        {"ident":"tempnam"},
+        {"ident":"textdomain"},
+        {"ident":"tfind"},
+        {"ident":"tgamma"},
+        {"ident":"tgammaf"},
+        {"ident":"tgammafN"},
+        {"ident":"tgammafNx"},
+        {"ident":"tgammal"},
+        {"ident":"time"},
+        {"ident":"timegm"},
+        {"ident":"timelocal"},
+        {"ident":"times"},
+        {"ident":"tmpfile"},
+        {"ident":"tmpfile64"},
+        {"ident":"tmpnam"},
+        {"ident":"tmpnam_r"},
+        {"ident":"toascii"},
+        {"ident":"tolower"},
+        {"ident":"totalorder"},
+        {"ident":"totalorderf"},
+        {"ident":"totalorderfN"},
+        {"ident":"totalorderfNx"},
+        {"ident":"totalorderl"},
+        {"ident":"totalordermag"},
+        {"ident":"totalordermagf"},
+        {"ident":"totalordermagfN"},
+        {"ident":"totalordermagfNx"},
+        {"ident":"totalordermagl"},
+        {"ident":"toupper"},
+        {"ident":"towctrans"},
+        {"ident":"towlower"},
+        {"ident":"towupper"},
+        {"ident":"trunc"},
+        {"ident":"truncate"},
+        {"ident":"truncate64"},
+        {"ident":"truncf"},
+        {"ident":"truncfN"},
+        {"ident":"truncfNx"},
+        {"ident":"truncl"},
+        {"ident":"tryagain"},
+        {"ident":"tsearch"},
+        {"ident":"ttyname"},
+        {"ident":"ttyname_r"},
+        {"ident":"twalk"},
+        {"ident":"tzset"},
+        {"ident":"ufromfp"},
+        {"ident":"ufromfpf"},
+        {"ident":"ufromfpfN"},
+        {"ident":"ufromfpfNx"},
+        {"ident":"ufromfpl"},
+        {"ident":"ufromfpx"},
+        {"ident":"ufromfpxf"},
+        {"ident":"ufromfpxfN"},
+        {"ident":"ufromfpxfNx"},
+        {"ident":"ufromfpxl"},
+        {"ident":"ulimit"},
+        {"ident":"umask"},
+        {"ident":"umount"},
+        {"ident":"umount2"},
+        {"ident":"uname"},
+        {"ident":"unavail"},
+        {"ident":"ungetc"},
+        {"ident":"ungetwc"},
+        {"ident":"unlink"},
+        {"ident":"unlockpt"},
+        {"ident":"unsetenv"},
+        {"ident":"updwtmp"},
+        {"ident":"utime"},
+        {"ident":"utimes"},
+        {"ident":"utmpname"},
+        {"ident":"utmpxname"},
+        {"ident":"va_arg"},
+        {"ident":"va_copy"},
+        {"ident":"va_end"},
+        {"ident":"va_start"},
+        {"ident":"valloc"},
+        {"ident":"vasprintf"},
+        {"ident":"verr"},
+        {"ident":"verrx"},
+        {"ident":"versionsort"},
+        {"ident":"versionsort64"},
+        {"ident":"vfork"},
+        {"ident":"vfprintf"},
+        {"ident":"vfscanf"},
+        {"ident":"vfwprintf"},
+        {"ident":"vfwscanf"},
+        {"ident":"vlimit"},
+        {"ident":"vprintf"},
+        {"ident":"vscanf"},
+        {"ident":"vsnprintf"},
+        {"ident":"vsprintf"},
+        {"ident":"vsscanf"},
+        {"ident":"vswprintf"},
+        {"ident":"vswscanf"},
+        {"ident":"vsyslog"},
+        {"ident":"vtimes"},
+        {"ident":"vwarn"},
+        {"ident":"vwarnx"},
+        {"ident":"vwprintf"},
+        {"ident":"vwscanf"},
+        {"ident":"wait"},
+        {"ident":"wait3"},
+        {"ident":"wait4"},
+        {"ident":"waitpid"},
+        {"ident":"warn"},
+        {"ident":"warnx"},
+        {"ident":"WCOREDUMP"},
+        {"ident":"wcpcpy"},
+        {"ident":"wcpncpy"},
+        {"ident":"wcrtomb"},
+        {"ident":"wcscasecmp"},
+        {"ident":"wcscat"},
+        {"ident":"wcschr"},
+        {"ident":"wcschrnul"},
+        {"ident":"wcscmp"},
+        {"ident":"wcscoll"},
+        {"ident":"wcscpy"},
+        {"ident":"wcscspn"},
+        {"ident":"wcsdup"},
+        {"ident":"wcsftime"},
+        {"ident":"wcslen"},
+        {"ident":"wcsncasecmp"},
+        {"ident":"wcsncat"},
+        {"ident":"wcsncmp"},
+        {"ident":"wcsncpy"},
+        {"ident":"wcsnlen"},
+        {"ident":"wcsnrtombs"},
+        {"ident":"wcspbrk"},
+        {"ident":"wcsrchr"},
+        {"ident":"wcsrtombs"},
+        {"ident":"wcsspn"},
+        {"ident":"wcsstr"},
+        {"ident":"wcstod"},
+        {"ident":"wcstof"},
+        {"ident":"wcstofN"},
+        {"ident":"wcstofNx"},
+        {"ident":"wcstoimax"},
+        {"ident":"wcstok"},
+        {"ident":"wcstol"},
+        {"ident":"wcstold"},
+        {"ident":"wcstoll"},
+        {"ident":"wcstombs"},
+        {"ident":"wcstoq"},
+        {"ident":"wcstoul"},
+        {"ident":"wcstoull"},
+        {"ident":"wcstoumax"},
+        {"ident":"wcstouq"},
+        {"ident":"wcswcs"},
+        {"ident":"wcsxfrm"},
+        {"ident":"wctob"},
+        {"ident":"wctomb"},
+        {"ident":"wctrans"},
+        {"ident":"wctype"},
+        {"ident":"WEXITSTATUS"},
+        {"ident":"WIFEXITED"},
+        {"ident":"WIFSIGNALED"},
+        {"ident":"WIFSTOPPED"},
+        {"ident":"wmemchr"},
+        {"ident":"wmemcmp"},
+        {"ident":"wmemcpy"},
+        {"ident":"wmemmove"},
+        {"ident":"wmempcpy"},
+        {"ident":"wmemset"},
+        {"ident":"wordexp"},
+        {"ident":"wordfree"},
+        {"ident":"wprintf"},
+        {"ident":"write"},
+        {"ident":"writev"},
+        {"ident":"wscanf"},
+        {"ident":"WSTOPSIG"},
+        {"ident":"WTERMSIG"},
+        {"ident":"y0"},
+        {"ident":"y0f"},
+        {"ident":"y0fN"},
+        {"ident":"y0fNx"},
+        {"ident":"y0l"},
+        {"ident":"y1"},
+        {"ident":"y1f"},
+        {"ident":"y1fN"},
+        {"ident":"y1fNx"},
+        {"ident":"y1l"},
+        {"ident":"yn"},
+        {"ident":"ynf"},
+        {"ident":"ynfN"},
+        {"ident":"ynfNx"},
+        {"ident":"ynl"}
+    ]
+}
diff --git a/share/compliance/nonstandard_identifiers.json b/share/compliance/nonstandard_identifiers.json
new file mode 100644
index 0000000000000000000000000000000000000000..e25a2fe06e230379f10095260c8b73a26db27fba
--- /dev/null
+++ b/share/compliance/nonstandard_identifiers.json
@@ -0,0 +1,18 @@
+{
+    "description": "Non-ISO C, Non-POSIX identifiers known to the Frama-C standard library",
+    "source":"Manpages, mostly Linux and BSD",
+    "data":[
+        {"ident":"facilitynames", "header":"syslog.h"},
+        {"ident":"getresgid", "header":"unistd.h"},
+        {"ident":"getresuid", "header":"unistd.h"},
+        {"ident":"option", "header":"getopt.h"},
+        {"ident":"prioritynames", "header":"syslog.h"},
+        {"ident":"setresgid", "header":"unistd.h"},
+        {"ident":"setresuid", "header":"unistd.h"},
+        {"ident":"strcspn", "header":"string.h"},
+        {"ident":"strlcat", "header":"string.h"},
+        {"ident":"strlcpy", "header":"string.h"},
+        {"ident":"wcslcat", "header":"wchar.h"},
+        {"ident":"wcslcpy", "header":"wchar.h"}
+    ]
+}
diff --git a/share/compliance/posix_identifiers.json b/share/compliance/posix_identifiers.json
new file mode 100644
index 0000000000000000000000000000000000000000..ba548080fdc7f4e9c61adeb9a96e2d31f9e35156
--- /dev/null
+++ b/share/compliance/posix_identifiers.json
@@ -0,0 +1,2127 @@
+{
+    "description": "POSIX.1-2008 reserved function identifiers (plus a few legacy POSIX identifiers)",
+    "source":"POSIX.1-2008 - Base Specifications, Issue 7 (IEEE Std 1003.1-2008, 2016 Edition)",
+    "id_types":[
+        {"type":"function", "description":"declared as a function; may also be defined as a macro"},
+        {"type":"variable", "description":"external variable"},
+        {"type":"macroOrIdentifier", "description":"declaration or definition; unspecified whether it is a macro or an identifier declared with external linkage"},
+        {"type":"macro", "description":"macro"},
+        {"type":"constant", "description":"symbolic constant"},
+        {"type":"type", "description":"type or structure"}
+    ],
+    "headers":[
+        "aio.h",
+        "arpa/inet.h",
+        "assert.h",
+        "complex.h",
+        "cpio.h",
+        "ctype.h",
+        "dirent.h",
+        "dlfcn.h",
+        "errno.h",
+        "fcntl.h",
+        "fenv.h",
+        "float.h",
+        "fmtmsg.h",
+        "fnmatch.h",
+        "ftw.h",
+        "glob.h",
+        "grp.h",
+        "iconv.h",
+        "inttypes.h",
+        "iso646.h",
+        "langinfo.h",
+        "libgen.h",
+        "limits.h",
+        "locale.h",
+        "math.h",
+        "monetary.h",
+        "mqueue.h",
+        "ndbm.h",
+        "net/if.h",
+        "netdb.h",
+        "netinet/in.h",
+        "netinet/tcp.h",
+        "nl_types.h",
+        "poll.h",
+        "pthread.h",
+        "pwd.h",
+        "regex.h",
+        "sched.h",
+        "search.h",
+        "semaphore.h",
+        "setjmp.h",
+        "signal.h",
+        "spawn.h",
+        "stdarg.h",
+        "stdbool.h",
+        "stddef.h",
+        "stdint.h",
+        "stdio.h",
+        "stdlib.h",
+        "string.h",
+        "strings.h",
+        "stropts.h",
+        "sys/ipc.h",
+        "sys/mman.h",
+        "sys/msg.h",
+        "sys/resource.h",
+        "sys/select.h",
+        "sys/sem.h",
+        "sys/shm.h",
+        "sys/socket.h",
+        "sys/stat.h",
+        "sys/statvfs.h",
+        "sys/time.h",
+        "sys/times.h",
+        "sys/types.h",
+        "sys/uio.h",
+        "sys/un.h",
+        "sys/utsname.h",
+        "sys/wait.h",
+        "syslog.h",
+        "tar.h",
+        "termios.h",
+        "tgmath.h",
+        "time.h",
+        "trace.h",
+        "ulimit.h",
+        "unistd.h",
+        "utime.h",
+        "utmpx.h",
+        "wchar.h",
+        "wctype.h",
+        "wordexp.h"
+    ],
+    "extension_names":{
+        "ADV":"Advisory Information",
+        "CX":"Extension to the ISO C standard",
+        "FSC":"File Synchronization",
+        "IP6":"IPV6",
+        "MC1":"Non-Robust Mutex Priority Protection or Non-Robust Mutex Priority Inheritance or Robust Mutex Priority Protection or Robust Mutex Priority Inheritance",
+        "ML":"Process Memory Locking",
+        "MLR":"Range Memory Locking",
+        "MON":"Monotonic Clock",
+        "OB":"Obsolescent",
+        "PS":"Process Scheduling",
+        "REM":"Removed from POSIX.1-2008 (but present in a previous version)",
+        "RPP":"Robust Mutex Priority Protection",
+        "SHM":"Shared Memory Objects",
+        "SIO":"Synchronized Input and Output",
+        "SS":"Process Sporadic Server",
+        "TCT":"Thread CPU-Time Clocks",
+        "TEF":"Trace Event Filter",
+        "TPP":"Non-Robust Mutex Priority Protection",
+        "TPS":"Thread Execution Scheduling",
+        "TRC":"Trace",
+        "TRI":"Trace Inherit",
+        "TRL":"Trace Log",
+        "TSA":"Thread Stack Address Attribute",
+        "TSH":"Thread Process-Shared Synchronization",
+        "TSP":"Thread Sporadic Server",
+        "TSS":"Thread Stack Size Attribute",
+        "TYM":"Typed Memory Objects",
+        "XSI":"X/Open System Interfaces",
+        "XSR":"XSI STREAMS"
+    },
+    "data":[
+        {"ident":"__bool_true_false_are_defined", "id_type":"macro", "header":"stdbool.h", "extensions":[]},
+        {"ident":"_Complex_I", "id_type":"macro", "header":"complex.h", "extensions":[]},
+        {"ident":"_CS_PATH", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFF32_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFF32_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFF32_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LP64_OFF64_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LP64_OFF64_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LP64_OFF64_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_THREADS_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_THREADS_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_CS_V7_ENV", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_Exit", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"_exit", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"_Imaginary_I", "id_type":"macro", "header":"complex.h", "extensions":[]},
+        {"ident":"_IOFBF", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"_IOLBF", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"_IONBF", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"_longjmp", "id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]},
+        {"ident":"_POSIX2_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_POSIX_AIO_LISTIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_AIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_ARG_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_CHILD_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_CLOCKRES_MIN", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_DELAYTIMER_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_HOST_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_LINK_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_LOGIN_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_MAX_CANON", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_MAX_INPUT", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_MQ_OPEN_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_MQ_PRIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_NGROUPS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_OPEN_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_PATH_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_PIPE_BUF", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_RE_DUP_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_RTSIG_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SEM_NSEMS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SEM_VALUE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SIGQUEUE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SS_REPL_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SSIZE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_STREAM_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SYMLINK_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_SYMLOOP_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_THREAD_DESTRUCTOR_ITERATIONS", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_THREAD_KEYS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_THREAD_THREADS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TIMER_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TRACE_EVENT_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TRACE_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TRACE_SYS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TRACE_USER_EVENT_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TTY_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_TZNAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"_POSIX_VDISABLE", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_POSIX_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"_setjmp", "id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]},
+        {"ident":"_tolower", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]},
+        {"ident":"_toupper", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]},
+        {"ident":"_XOPEN_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"a64l", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"abort", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"abs", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"accept", "id_type":"function", "header":"sys/socket.h", "extensions":["XSI"]},
+        {"ident":"access", "id_type":"function", "header":"unistd.h", "extensions":["ADV"]},
+        {"ident":"acos", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"acosf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"acosh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"acoshf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"acoshl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"acosl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"addrinfo", "id_type":"type", "header":"netdb.h", "extensions":[]},
+        {"ident":"AF_INET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"AF_INET6", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"AF_UNIX", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"AF_UNSPEC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"AI_ADDRCONFIG", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_ALL", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_CANONNAME", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_NUMERICHOST", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_NUMERICSERV", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_PASSIVE", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AI_V4MAPPED", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"AIO_ALLDONE", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_cancel", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"AIO_CANCELED", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_error", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_fsync", "id_type":"function", "header":"aio.h", "extensions":["FSC","SIO"]},
+        {"ident":"AIO_NOTCANCELED", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_read", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_return", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_suspend", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"aio_write", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"aiocb", "id_type":"type", "header":"aio.h", "extensions":["FSC","SIO"]},
+        {"ident":"alarm", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"alphasort", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"and", "id_type":"macro", "header":"iso646.h", "extensions":["CX"]},
+        {"ident":"and_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"asctime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"asctime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"asin", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"asinf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"asinh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"asinhf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"asinhl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"asinl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"assert", "id_type":"macro", "header":"assert.h", "extensions":[]},
+        {"ident":"AT_EACCESS", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"AT_FDCWD", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"AT_REMOVEDIR", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"AT_SYMLINK_FOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"AT_SYMLINK_NOFOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"atan", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atan2", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atan2f", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atan2l", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atanf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atanh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atanhf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atanhl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atanl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"atexit", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"atof", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"atoi", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"atol", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"atoll", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"B0", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B110", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B1200", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B134", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B150", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B1800", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B19200", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B200", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B2400", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B300", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B38400", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B4800", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B50", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B600", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B75", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"B9600", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"bandinfo", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"basename", "id_type":"function", "header":"libgen.h", "extensions":[]},
+        {"ident":"bind", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"bitand", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"bitor", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"blkcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]},
+        {"ident":"blksize_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]},
+        {"ident":"bool", "id_type":"macro", "header":"stdbool.h", "extensions":[]},
+        {"ident":"BOOT_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"BRKINT", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"BSDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"bsearch", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"btowc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"BUFSIZ", "id_type":"type", "header":"stdio.h", "extensions":[]},
+        {"ident":"cabs", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cabsf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cabsl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacos", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacosf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacosh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacoshf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacoshl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cacosl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"calloc", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"carg", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cargf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cargl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casin", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casinf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casinh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casinhf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casinhl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"casinl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catan", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catanf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catanh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catanhf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catanhl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catanl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"catclose", "id_type":"function", "header":"nl_types.h", "extensions":[]},
+        {"ident":"catgets", "id_type":"function", "header":"nl_types.h", "extensions":[]},
+        {"ident":"catopen", "id_type":"function", "header":"nl_types.h", "extensions":[]},
+        {"ident":"cbrt", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cbrtf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cbrtl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cc_t", "id_type":"type", "header":"termios.h", "extensions":[]},
+        {"ident":"ccos", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ccosf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ccosh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ccoshf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ccoshl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ccosl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ceil", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ceilf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ceill", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cexp", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cexpf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cexpl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cfgetispeed", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"cfgetospeed", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"cfsetispeed", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"cfsetospeed", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"CHAR_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"CHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"CHAR_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"chdir", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"chmod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"chown", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"chroot", "id_type":"function", "header":"unistd.h", "extensions":["OB","REM"]},
+        {"ident":"cimag", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cimagf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cimagl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"clearerr", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"CLOCAL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"clock", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clock_getcpuclockid", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clock_getres", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clock_gettime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"CLOCK_MONOTONIC", "id_type":"macro", "header":"time.h", "extensions":["MON"]},
+        {"ident":"clock_nanosleep", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"CLOCK_PROCESS_CPUTIME_ID", "id_type":"macro", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"CLOCK_REALTIME", "id_type":"macro", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clock_settime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"CLOCK_THREAD_CPUTIME_ID", "id_type":"macro", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clockid_t", "id_type":"type", "header":"sys/types.h", "extensions":["TCT"]},
+        {"ident":"CLOCKS_PER_SEC", "id_type":"macro", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"clog", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"clogf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"clogl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"close", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"closedir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"closelog", "id_type":"function", "header":"syslog.h", "extensions":[]},
+        {"ident":"CMSG_DATA", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"CMSG_FIRSTHDR", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"CMSG_NXTHDR", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"cmsghdr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"compl", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"complex", "id_type":"macro", "header":"complex.h", "extensions":[]},
+        {"ident":"confstr", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"conj", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"conjf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"conjl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"connect", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"copysign", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"copysignf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"copysignl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cos", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cosf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cosh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"coshf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"coshl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cosl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"cpow", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cpowf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cpowl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cproj", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cprojf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"cprojl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"CRDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"CREAD", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"creal", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"crealf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"creall", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"creat", "id_type":"function", "header":"fcntl.h", "extensions":[]},
+        {"ident":"crypt", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"csin", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csinf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csinh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csinhf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csinhl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csinl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"CSIZE", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"csqrt", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csqrtf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"csqrtl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"CSTOPB", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ctan", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctanf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctanh", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctanhf", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctanhl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctanl", "id_type":"function", "header":"complex.h", "extensions":[]},
+        {"ident":"ctermid", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"ctime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"ctime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"datum", "id_type":"type", "header":"ndbm.h", "extensions":[]},
+        {"ident":"daylight", "id_type":"variable", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"DBM", "id_type":"type", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_clearerr", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_close", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_delete", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_error", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_fetch", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_firstkey", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"DBM_INSERT", "id_type":"constant", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_nextkey", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_open", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"DBM_REPLACE", "id_type":"constant", "header":"ndbm.h", "extensions":[]},
+        {"ident":"dbm_store", "id_type":"function", "header":"ndbm.h", "extensions":[]},
+        {"ident":"DEAD_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"dev_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]},
+        {"ident":"difftime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"DIR", "id_type":"type", "header":"dirent.h", "extensions":[]},
+        {"ident":"dirent", "id_type":"type", "header":"dirent.h", "extensions":[]},
+        {"ident":"dirfd", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"dirname", "id_type":"function", "header":"libgen.h", "extensions":[]},
+        {"ident":"div", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"div_t", "id_type":"type", "header":"stdlib.h", "extensions":[]},
+        {"ident":"dlclose", "id_type":"function", "header":"dlfcn.h", "extensions":[]},
+        {"ident":"dlerror", "id_type":"function", "header":"dlfcn.h", "extensions":[]},
+        {"ident":"dlopen", "id_type":"function", "header":"dlfcn.h", "extensions":[]},
+        {"ident":"dlsym", "id_type":"function", "header":"dlfcn.h", "extensions":[]},
+        {"ident":"dprintf", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"drand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"dup", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"dup2", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"duplocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]},
+        {"ident":"E2BIG", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EACCES", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EADDRINUSE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EADDRNOTAVAIL", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EAFNOSUPPORT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EAGAIN", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EAI_AGAIN", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_BADFLAGS", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_FAIL", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_FAMILY", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_MEMORY", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_NONAME", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_OVERFLOW", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_SERVICE", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_SOCKTYPE", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EAI_SYSTEM", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"EALREADY", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EBADF", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EBADMSG", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EBUSY", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ECANCELED", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ECHILD", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ECHO", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ECHOE", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ECHOK", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ECHONL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ECONNABORTED", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ECONNREFUSED", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ECONNRESET", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EDEADLK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EDESTADDRREQ", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EDOM", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EDQUOT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EEXIST", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EFAULT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EFBIG", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EHOSTUNREACH", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EIDRM", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EILSEQ", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EINPROGRESS", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EINTR", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EINVAL", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EIO", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EISCONN", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EISDIR", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ELOOP", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EMFILE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EMLINK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EMPTY", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"EMSGSIZE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EMULTIHOP", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENAMETOOLONG", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"encrypt", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"endgrent", "id_type":"function", "header":"grp.h", "extensions":["XSI"]},
+        {"ident":"endhostent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"endnetent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"endprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"endpwent", "id_type":"function", "header":"pwd.h", "extensions":["XSI"]},
+        {"ident":"endservent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"endutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"ENETDOWN", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENETRESET", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENETUNREACH", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENFILE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOBUFS", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENODATA", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENODEV", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOENT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOEXEC", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOLCK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOLINK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOMEM", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOMSG", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOPROTOOPT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOSPC", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOSR", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOSTR", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOSYS", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTCONN", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTDIR", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTEMPTY", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTRECOVERABLE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTSOCK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTSUP", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENOTTY", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ENTRY", "id_type":"type", "header":"search.h", "extensions":[]},
+        {"ident":"entry", "id_type":"type", "header":"search.h", "extensions":[]},
+        {"ident":"ENXIO", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EOF", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"EOPNOTSUPP", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EOVERFLOW", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EOWNERDEAD", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EPERM", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EPIPE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EPROTO", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EPROTONOSUPPORT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EPROTOTYPE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"erand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"ERANGE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"erf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"erfc", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"erfcf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"erfcl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"erff", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"erfl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"EROFS", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"errno", "id_type":"macroOrIdentifier", "header":"errno.h", "extensions":[]},
+        {"ident":"ESPIPE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ESRCH", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ESTALE", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ETIME", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ETIMEDOUT", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"ETXTBSY", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EWOULDBLOCK", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"EXDEV", "id_type":"macro", "header":"errno.h", "extensions":[]},
+        {"ident":"execl", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"execle", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"execlp", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"execv", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"execve", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"execvp", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"exit", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"EXIT_FAILURE", "id_type":"macro", "header":"stdlib.h", "extensions":[]},
+        {"ident":"EXIT_SUCCESS", "id_type":"macro", "header":"stdlib.h", "extensions":[]},
+        {"ident":"exp", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"exp2", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"exp2f", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"exp2l", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"expf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"expl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"expm1", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"expm1f", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"expm1l", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"F_DUPFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_DUPFD_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_GETFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_GETFL", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_GETLK", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_GETOWN", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_LOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"F_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"F_SETFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_SETFL", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_SETLK", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_SETLKW", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_SETOWN", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"F_TEST", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"F_TLOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"F_ULOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"fabs", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fabsf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fabsl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"faccessat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"false", "id_type":"macro", "header":"stdbool.h", "extensions":[]},
+        {"ident":"fattach", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"fchdir", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"fchmod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"fchmodat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"fchown", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"fchownat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"fclose", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fcntl", "id_type":"function", "header":"fcntl.h", "extensions":[]},
+        {"ident":"FD_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"FD_CLR", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"FD_ISSET", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"FD_SET", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"fd_set", "id_type":"type", "header":"sys/select.h", "extensions":[]},
+        {"ident":"FD_SETSIZE", "id_type":"constant", "header":"sys/select.h", "extensions":[]},
+        {"ident":"FD_ZERO", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"fdatasync", "id_type":"function", "header":"unistd.h", "extensions":["SIO"]},
+        {"ident":"fdetach", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"fdim", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fdimf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fdiml", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fdopen", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fdopendir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"feclearexcept", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fegetenv", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fegetexceptflag", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fegetround", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"feholdexcept", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fenv_t", "id_type":"type", "header":"fenv.h", "extensions":[]},
+        {"ident":"feof", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"feraiseexcept", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"ferror", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fesetenv", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fesetexceptflag", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fesetround", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fetestexcept", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"feupdateenv", "id_type":"function", "header":"fenv.h", "extensions":[]},
+        {"ident":"fexcept_t", "id_type":"type", "header":"fenv.h", "extensions":[]},
+        {"ident":"fexecve", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"FFDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"fflush", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"ffs", "id_type":"function", "header":"strings.h", "extensions":["XSI"]},
+        {"ident":"fgetc", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fgetpos", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fgets", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fgetwc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"fgetws", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"FILE", "id_type":"type", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"FILENAME_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"fileno", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"flock", "id_type":"type", "header":"fcntl.h", "extensions":[]},
+        {"ident":"flockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"floor", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"floorf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"floorl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fma", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmaf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmal", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmax", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmaxf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmaxl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmemopen", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fmin", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fminf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fminl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmod", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmodf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmodl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fmtmsg", "id_type":"function", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"FNM_NOESCAPE", "id_type":"constant", "header":"fnmatch.h", "extensions":[]},
+        {"ident":"FNM_NOMATCH", "id_type":"constant", "header":"fnmatch.h", "extensions":[]},
+        {"ident":"FNM_PATHNAME", "id_type":"constant", "header":"fnmatch.h", "extensions":[]},
+        {"ident":"FNM_PERIOD", "id_type":"constant", "header":"fnmatch.h", "extensions":[]},
+        {"ident":"fnmatch", "id_type":"function", "header":"fnmatch.h", "extensions":[]},
+        {"ident":"fopen", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"FOPEN_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"fork", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"fpathconf", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"fpos_t", "id_type":"type", "header":"stdio.h", "extensions":[]},
+        {"ident":"fprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fputc", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fputs", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fputwc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"fputws", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"fread", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"free", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"freeaddrinfo", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"freelocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]},
+        {"ident":"freopen", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"frexp", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"frexpf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"frexpl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"fsblkcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"fscanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fseek", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fseeko", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"fsetpos", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fsfilcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"fstat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"fstatat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"fstatvfs", "id_type":"function", "header":"sys/statvfs.h", "extensions":[]},
+        {"ident":"fsync", "id_type":"function", "header":"unistd.h", "extensions":["FSC"]},
+        {"ident":"ftell", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"ftello", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"ftok", "id_type":"function", "header":"sys/ipc.h", "extensions":[]},
+        {"ident":"ftruncate", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"ftrylockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"ftw", "id_type":"function", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW", "id_type":"type", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_CHDIR", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_D", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_DEPTH", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_DNR", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_DP", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_F", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_MOUNT", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_NS", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_PHYS", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_SL", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"FTW_SLN", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"funlockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"futimens", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"fwide", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"fwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"fwrite", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"fwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"gai_strerror", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getaddrinfo", "id_type":"function", "header":"netdb.h", "extensions":["IP6"]},
+        {"ident":"GETALL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"getc", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"getc_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"getchar", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"getchar_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"getcwd", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getdate", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"getdelim", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"getegid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getenv", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"geteuid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getgid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getgrent", "id_type":"function", "header":"grp.h", "extensions":[]},
+        {"ident":"getgrgid", "id_type":"function", "header":"grp.h", "extensions":[]},
+        {"ident":"getgrgid_r", "id_type":"function", "header":"grp.h", "extensions":[]},
+        {"ident":"getgrnam", "id_type":"function", "header":"grp.h", "extensions":[]},
+        {"ident":"getgrnam_r", "id_type":"function", "header":"grp.h", "extensions":[]},
+        {"ident":"getgroups", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"gethostbyaddr", "id_type":"function", "header":"netdb.h", "extensions":["OB","REM"]},
+        {"ident":"gethostbyname", "id_type":"function", "header":"netdb.h", "extensions":["OB","REM"]},
+        {"ident":"gethostent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"gethostid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"gethostname", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getitimer", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"getline", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"getlogin", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getlogin_r", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getmsg", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"getnameinfo", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"GETNCNT", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"getnetbyaddr", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getnetbyname", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getnetent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getopt", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getpeername", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"getpgid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"GETPID", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"getpid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getpmsg", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"getppid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getpriority", "id_type":"function", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"getprotobyname", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getprotobynumber", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getpwent", "id_type":"function", "header":"pwd.h", "extensions":[]},
+        {"ident":"getpwnam", "id_type":"function", "header":"pwd.h", "extensions":[]},
+        {"ident":"getpwnam_r", "id_type":"function", "header":"pwd.h", "extensions":[]},
+        {"ident":"getpwuid", "id_type":"function", "header":"pwd.h", "extensions":[]},
+        {"ident":"getpwuid_r", "id_type":"function", "header":"pwd.h", "extensions":[]},
+        {"ident":"getrlimit", "id_type":"function", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"getrusage", "id_type":"function", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"gets", "id_type":"function", "header":"stdio.h", "extensions":["OB"]},
+        {"ident":"getservbyname", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getservbyport", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getservent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"getsid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getsockname", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"getsockopt", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"getsubopt", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]},
+        {"ident":"gettimeofday", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"getuid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"getutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"getutxid", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"getutxline", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"GETVAL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"getwc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"getwchar", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"GETZCNT", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"gid_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"glob", "id_type":"function", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_ABORTED", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_APPEND", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_DOOFFS", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_ERR", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_MARK", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_NOCHECK", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_NOESCAPE", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_NOMATCH", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_NOSORT", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"GLOB_NOSPACE", "id_type":"constant", "header":"glob.h", "extensions":[]},
+        {"ident":"glob_t", "id_type":"type", "header":"glob.h", "extensions":[]},
+        {"ident":"globfree", "id_type":"function", "header":"glob.h", "extensions":[]},
+        {"ident":"gmtime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"gmtime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"grantpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"group", "id_type":"type", "header":"grp.h", "extensions":["XSI"]},
+        {"ident":"h_errno", "id_type":"macroOrIdentifier", "header":"netdb.h", "extensions":["OB","REM"]},
+        {"ident":"hcreate", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"hdestroy", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"hostent", "id_type":"type", "header":"netdb.h", "extensions":[]},
+        {"ident":"hsearch", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"htonl", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"htons", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"HUGE_VAL", "id_type":"macro", "header":"math.h", "extensions":[]},
+        {"ident":"HUGE_VALF", "id_type":"macro", "header":"math.h", "extensions":[]},
+        {"ident":"HUGE_VALL", "id_type":"macro", "header":"math.h", "extensions":[]},
+        {"ident":"HUPCL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"hypot", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"hypotf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"hypotl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"I", "id_type":"macro", "header":"complex.h", "extensions":[]},
+        {"ident":"ICANON", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"iconv", "id_type":"function", "header":"iconv.h", "extensions":[]},
+        {"ident":"iconv_close", "id_type":"function", "header":"iconv.h", "extensions":[]},
+        {"ident":"iconv_open", "id_type":"function", "header":"iconv.h", "extensions":[]},
+        {"ident":"iconv_t", "id_type":"type", "header":"iconv.h", "extensions":[]},
+        {"ident":"ICRNL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"id_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"IEXTEN", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"if_freenameindex", "id_type":"function", "header":"net/if.h", "extensions":[]},
+        {"ident":"if_indextoname", "id_type":"function", "header":"net/if.h", "extensions":[]},
+        {"ident":"if_nameindex", "id_type":"function", "header":"net/if.h", "extensions":[]},
+        {"ident":"IF_NAMESIZE", "id_type":"constant", "header":"net/if.h", "extensions":[]},
+        {"ident":"if_nametoindex", "id_type":"function", "header":"net/if.h", "extensions":[]},
+        {"ident":"IGNBRK", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"IGNCR", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"IGNPAR", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ilogb", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ilogbf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ilogbl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"imaginary", "id_type":"macro", "header":"complex.h", "extensions":[]},
+        {"ident":"imaxabs", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"imaxdiv", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"in6_addr", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_LINKLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_LOOPBACK", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MC_GLOBAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MC_LINKLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MC_NODELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MC_ORGLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MC_SITELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_MULTICAST", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_SITELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_UNSPECIFIED", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_V4COMPAT", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IN6_IS_ADDR_V4MAPPED", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"in6addr_any", "id_type":"variable", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"in6addr_loopback", "id_type":"variable", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"in_addr", "id_type":"type", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"in_addr_t", "id_type":"type", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"in_port_t", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"INADDR_ANY", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"INADDR_BROADCAST", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"INET6_ADDRSTRLEN", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"inet_addr", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"INET_ADDRSTRLEN", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"inet_ntoa", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"inet_ntop", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"inet_pton", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"INFINITY", "id_type":"macro", "header":"math.h", "extensions":[]},
+        {"ident":"INIT_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"initstate", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"INLCR", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ino_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]},
+        {"ident":"INPCK", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"insque", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"INT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"INT_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"ioctl", "id_type":"function", "header":"stropts.h", "extensions":["OB","XSR"]},
+        {"ident":"iovec", "id_type":"type", "header":"sys/uio.h", "extensions":["XSI"]},
+        {"ident":"IPC_CREAT", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]},
+        {"ident":"IPC_EXCL", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]},
+        {"ident":"IPC_NOWAIT", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]},
+        {"ident":"ipc_perm", "id_type":"type", "header":"sys/ipc.h", "extensions":[]},
+        {"ident":"IPPROTO_ICMP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPPROTO_IP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPPROTO_IPV6", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPPROTO_RAW", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPPROTO_TCP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPPROTO_UDP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"IPV6_JOIN_GROUP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_LEAVE_GROUP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"ipv6_mreq", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_MULTICAST_HOPS", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_MULTICAST_IF", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_MULTICAST_LOOP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_UNICAST_HOPS", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"IPV6_V6ONLY", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"isalnum", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isalnum_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isalpha", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isalpha_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isascii", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]},
+        {"ident":"isastream", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"isatty", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"isblank", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isblank_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"iscntrl", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"iscntrl_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isdigit", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isdigit_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isgraph", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isgraph_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"ISIG", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"islower", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"islower_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isprint", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isprint_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"ispunct", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"ispunct_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"isspace", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isspace_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"ISTRIP", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"isupper", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isupper_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"iswalnum", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswalnum_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswalpha", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswalpha_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswblank", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswblank_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswcntrl", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswcntrl_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswctype", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswctype_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswdigit", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswdigit_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswgraph", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswgraph_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswlower", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswlower_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswprint", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswprint_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswpunct", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswpunct_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswspace", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswspace_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswupper", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswupper_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswxdigit", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"iswxdigit_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"isxdigit", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"isxdigit_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"ITIMER_PROF", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"ITIMER_REAL", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"ITIMER_VIRTUAL", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"itimerspec", "id_type":"type", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"itimerval", "id_type":"type", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"IXANY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"IXOFF", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"IXON", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"j0", "id_type":"function", "header":"math.h", "extensions":["XSI"]},
+        {"ident":"j1", "id_type":"function", "header":"math.h", "extensions":["XSI"]},
+        {"ident":"jn", "id_type":"function", "header":"math.h", "extensions":["XSI"]},
+        {"ident":"jrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"key_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"kill", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"killpg", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"l64a", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"L_ctermid", "id_type":"type", "header":"stdio.h", "extensions":[]},
+        {"ident":"L_tmpnam", "id_type":"type", "header":"stdio.h", "extensions":[]},
+        {"ident":"labs", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"lchown", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"lcong48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"lconv", "id_type":"type", "header":"locale.h", "extensions":[]},
+        {"ident":"ldexp", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ldexpf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ldexpl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"ldiv", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"ldiv_t", "id_type":"type", "header":"stdlib.h", "extensions":[]},
+        {"ident":"lfind", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"lgamma", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lgammaf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lgammal", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"linger", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"link", "id_type":"function", "header":"unistd.h", "extensions":["IP6"]},
+        {"ident":"linkat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"lio_listio", "id_type":"function", "header":"aio.h", "extensions":[]},
+        {"ident":"LIO_NOP", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"LIO_NOWAIT", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"LIO_READ", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"LIO_WAIT", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"LIO_WRITE", "id_type":"constant", "header":"aio.h", "extensions":[]},
+        {"ident":"listen", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"llabs", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"lldiv", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"lldiv_t", "id_type":"type", "header":"stdlib.h", "extensions":[]},
+        {"ident":"LLONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"LLONG_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"llrint", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"llrintf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"llrintl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"llround", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"llroundf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"llroundl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"locale_t", "id_type":"type", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"localeconv", "id_type":"function", "header":"locale.h", "extensions":[]},
+        {"ident":"localtime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"localtime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"lockf", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"log", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log10", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log10f", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log10l", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log1p", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log1pf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log1pl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log2", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log2f", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"log2l", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"LOG_ALERT", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_AUTH", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_CONS", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_CRIT", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_CRON", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_DAEMON", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_DEBUG", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_EMERG", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_ERR", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_INFO", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_KERN", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL0", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL1", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL2", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL3", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL4", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL5", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL6", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LOCAL7", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_LPR", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_MAIL", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_MASK", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_NDELAY", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_NEWS", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_NOTICE", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_NOWAIT", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_ODELAY", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_PID", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_USER", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_UUCP", "id_type":"constant", "header":"syslog.h", "extensions":[]},
+        {"ident":"LOG_WARNING", "id_type":"macro", "header":"syslog.h", "extensions":[]},
+        {"ident":"logb", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"logbf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"logbl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"logf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"LOGIN_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"logl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"LONG_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"LONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"LONG_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"longjmp", "id_type":"function", "header":"setjmp.h", "extensions":[]},
+        {"ident":"lrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"lrint", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lrintf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lrintl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lround", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lroundf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lroundl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"lsearch", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"lseek", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"lstat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"M_1_PI", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_2_PI", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_2_SQRTPI", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_E", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_LN10", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_LN2", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_LOG10E", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_LOG2E", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_PI", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_PI_2", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_PI_4", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_SQRT1_2", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"M_SQRT2", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"malloc", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"MAP_FAILED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"MAP_FIXED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"MAP_PRIVATE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"MAP_SHARED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"MAXFLOAT", "id_type":"constant", "header":"math.h", "extensions":[]},
+        {"ident":"MB_CUR_MAX", "id_type":"macro", "header":"stdlib.h", "extensions":[]},
+        {"ident":"MB_LEN_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"mblen", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"mbrlen", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"mbrtowc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"mbsinit", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"mbsnrtowcs", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"mbsrtowcs", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"mbstate_t", "id_type":"type", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"mbstowcs", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"mbtowc", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"MCL_CURRENT", "id_type":"constant", "header":"sys/mman.h", "extensions":["ML"]},
+        {"ident":"MCL_FUTURE", "id_type":"constant", "header":"sys/mman.h", "extensions":["ML"]},
+        {"ident":"memccpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"memchr", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"memcmp", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"memcpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"memmove", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"memset", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"MINSIGSTKSZ", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"mkdir", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mkdirat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mkdtemp", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"mkfifo", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mkfifoat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mknod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mknodat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"mkstemp", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]},
+        {"ident":"mktime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"mlock", "id_type":"function", "header":"sys/mman.h", "extensions":["MLR"]},
+        {"ident":"mlockall", "id_type":"function", "header":"sys/mman.h", "extensions":["ML"]},
+        {"ident":"MM_APPL", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_CONSOLE", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_ERROR", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_FIRM", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_HALT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_HARD", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_INFO", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_NOSEV", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_NRECOV", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_OPSYS", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_PRINT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_RECOVER", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_SOFT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_UTIL", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"MM_WARNING", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]},
+        {"ident":"mmap", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"mode_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"modf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"modff", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"modfl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"MORECTL", "id_type":"constant", "header":"stropts.h", "extensions":[]},
+        {"ident":"MOREDATA", "id_type":"constant", "header":"stropts.h", "extensions":[]},
+        {"ident":"mprotect", "id_type":"function", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"mq_attr", "id_type":"type", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_close", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_getattr", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_notify", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_open", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_receive", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_send", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_setattr", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_timedreceive", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_timedsend", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mq_unlink", "id_type":"function", "header":"mqueue.h", "extensions":[]},
+        {"ident":"mrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"MS_ASYNC", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]},
+        {"ident":"MS_INVALIDATE", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]},
+        {"ident":"MS_SYNC", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]},
+        {"ident":"MSG_ANY", "id_type":"constant", "header":"stropts.h", "extensions":[]},
+        {"ident":"MSG_BAND", "id_type":"constant", "header":"stropts.h", "extensions":[]},
+        {"ident":"MSG_CTRUNC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_DONTROUTE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_EOR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_HIPRI", "id_type":"constant", "header":"stropts.h", "extensions":[]},
+        {"ident":"MSG_NOERROR", "id_type":"constant", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"MSG_NOSIGNAL", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_OOB", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_PEEK", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_TRUNC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"MSG_WAITALL", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"msgctl", "id_type":"function", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msgget", "id_type":"function", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msghdr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"msglen_t", "id_type":"type", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msgqnum_t", "id_type":"type", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msgrcv", "id_type":"function", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msgsnd", "id_type":"function", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msqid_ds", "id_type":"type", "header":"sys/msg.h", "extensions":[]},
+        {"ident":"msync", "id_type":"function", "header":"sys/mman.h", "extensions":["XSI","SIO"]},
+        {"ident":"munlock", "id_type":"function", "header":"sys/mman.h", "extensions":["MLR"]},
+        {"ident":"munlockall", "id_type":"function", "header":"sys/mman.h", "extensions":["ML"]},
+        {"ident":"munmap", "id_type":"function", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"nan", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"NAN", "id_type":"macro", "header":"math.h", "extensions":[]},
+        {"ident":"nanf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nanl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nanosleep", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"NCCS", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"nearbyint", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nearbyintf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nearbyintl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"netent", "id_type":"type", "header":"netdb.h", "extensions":[]},
+        {"ident":"NEW_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"newlocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]},
+        {"ident":"nextafter", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nextafterf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nextafterl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nexttoward", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nexttowardf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nexttowardl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"nfds_t", "id_type":"type", "header":"poll.h", "extensions":[]},
+        {"ident":"nftw", "id_type":"function", "header":"ftw.h", "extensions":["OB"]},
+        {"ident":"NI_DGRAM", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"NI_NAMEREQD", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"NI_NOFQDN", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"NI_NUMERICHOST", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"NI_NUMERICSCOPE", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"NI_NUMERICSERV", "id_type":"constant", "header":"netdb.h", "extensions":[]},
+        {"ident":"nice", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"NL_ARGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"nl_langinfo", "id_type":"function", "header":"langinfo.h", "extensions":[]},
+        {"ident":"nl_langinfo_l", "id_type":"function", "header":"langinfo.h", "extensions":[]},
+        {"ident":"NL_LANGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"NL_MSGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"NL_SETMAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"NL_TEXTMAX", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"NLDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"nlink_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"NOFLSH", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"not", "id_type":"macro", "header":"iso646.h", "extensions":["ADV"]},
+        {"ident":"not_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"nrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"ntohl", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"ntohs", "id_type":"function", "header":"arpa/inet.h", "extensions":[]},
+        {"ident":"NULL", "id_type":"macro", "header":"stddef.h", "extensions":[]},
+        {"ident":"NZERO", "id_type":"constant", "header":"limits.h", "extensions":[]},
+        {"ident":"O_ACCMODE", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_APPEND", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_CREAT", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_DIRECTORY", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_DSYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_EXCL", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_EXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_NOCTTY", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_NOFOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_NONBLOCK", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_RDONLY", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_RDWR", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_RSYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_SEARCH", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_SYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_TRUNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_TTY_INIT", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"O_WRONLY", "id_type":"constant", "header":"fcntl.h", "extensions":[]},
+        {"ident":"OCRNL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"OFDEL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"off_t", "id_type":"type", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"offsetof", "id_type":"macro", "header":"stddef.h", "extensions":[]},
+        {"ident":"OFILL", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"OLD_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"ONLCR", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ONLRET", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"ONOCR", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"open", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"open_memstream", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"open_wmemstream", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"openat", "id_type":"function", "header":"fcntl.h", "extensions":[]},
+        {"ident":"opendir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"openlog", "id_type":"function", "header":"syslog.h", "extensions":[]},
+        {"ident":"OPOST", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"optarg", "id_type":"variable", "header":"unistd.h", "extensions":[]},
+        {"ident":"opterr", "id_type":"variable", "header":"unistd.h", "extensions":[]},
+        {"ident":"optind", "id_type":"variable", "header":"unistd.h", "extensions":[]},
+        {"ident":"optopt", "id_type":"variable", "header":"unistd.h", "extensions":[]},
+        {"ident":"or", "id_type":"macro", "header":"iso646.h", "extensions":["XSI"]},
+        {"ident":"or_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"P_tmpdir", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"PARENB", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"PARMRK", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"PARODD", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"passwd", "id_type":"type", "header":"pwd.h", "extensions":["XSI"]},
+        {"ident":"pathconf", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"pause", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"pclose", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"perror", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"pid_t", "id_type":"type", "header":"signal.h", "extensions":["PS"]},
+        {"ident":"pipe", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"poll", "id_type":"function", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLERR", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"pollfd", "id_type":"type", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLHUP", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLIN", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLNVAL", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLOUT", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLPRI", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLRDBAND", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLRDNORM", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLWRBAND", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"POLLWRNORM", "id_type":"constant", "header":"poll.h", "extensions":[]},
+        {"ident":"popen", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"POSIX_FADV_DONTNEED", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"POSIX_FADV_NOREUSE", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"POSIX_FADV_NORMAL", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"POSIX_FADV_RANDOM", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"POSIX_FADV_SEQUENTIAL", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"POSIX_FADV_WILLNEED", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"posix_fadvise", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"posix_fallocate", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]},
+        {"ident":"posix_madvise", "id_type":"function", "header":"sys/mman.h", "extensions":["ADV"]},
+        {"ident":"posix_mem_offset", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"posix_memalign", "id_type":"function", "header":"stdlib.h", "extensions":["ADV"]},
+        {"ident":"posix_openpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"posix_spawn", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawn_file_actions_addclose", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawn_file_actions_adddup2", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawn_file_actions_addopen", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawn_file_actions_destroy", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawn_file_actions_init", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_destroy", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_getflags", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_getpgroup", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_getschedparam", "id_type":"function", "header":"spawn.h", "extensions":["PS"]},
+        {"ident":"posix_spawnattr_getschedpolicy", "id_type":"function", "header":"spawn.h", "extensions":["PS"]},
+        {"ident":"posix_spawnattr_getsigdefault", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_getsigmask", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_init", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_setflags", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_setpgroup", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_setschedparam", "id_type":"function", "header":"spawn.h", "extensions":["PS"]},
+        {"ident":"posix_spawnattr_setschedpolicy", "id_type":"function", "header":"spawn.h", "extensions":["PS"]},
+        {"ident":"posix_spawnattr_setsigdefault", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnattr_setsigmask", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_spawnp", "id_type":"function", "header":"spawn.h", "extensions":[]},
+        {"ident":"posix_trace_attr_destroy", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getclockres", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getcreatetime", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getgenversion", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getinherited", "id_type":"function", "header":"trace.h", "extensions":["TRI"]},
+        {"ident":"posix_trace_attr_getlogfullpolicy", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_attr_getlogsize", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_attr_getmaxdatasize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getmaxsystemeventsize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getmaxusereventsize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getname", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getstreamfullpolicy", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_getstreamsize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_init", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_setinherited", "id_type":"function", "header":"trace.h", "extensions":["TRI"]},
+        {"ident":"posix_trace_attr_setlogfullpolicy", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_attr_setlogsize", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_attr_setmaxdatasize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_setname", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_setstreamfullpolicy", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_attr_setstreamsize", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_clear", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_close", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_create", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_create_withlog", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_event", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_event_info", "id_type":"type", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_eventid_equal", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_eventid_get_name", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_eventid_open", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_eventset_add", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_eventset_del", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_eventset_empty", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_eventset_fill", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_eventset_ismember", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_eventtypelist_getnext_id", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_eventtypelist_rewind", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_flush", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_get_attr", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_get_filter", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_get_status", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_getnext_event", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_open", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_rewind", "id_type":"function", "header":"trace.h", "extensions":["TRL"]},
+        {"ident":"posix_trace_set_filter", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_shutdown", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_start", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_status_info", "id_type":"type", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_stop", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_timedgetnext_event", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"posix_trace_trid_eventid_open", "id_type":"function", "header":"trace.h", "extensions":["TEF"]},
+        {"ident":"posix_trace_trygetnext_event", "id_type":"function", "header":"trace.h", "extensions":[]},
+        {"ident":"POSIX_TYPED_MEM_ALLOCATE", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"POSIX_TYPED_MEM_ALLOCATE_CONTIG", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"posix_typed_mem_get_info", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"posix_typed_mem_info", "id_type":"type", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"POSIX_TYPED_MEM_MAP_ALLOCATABLE", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"posix_typed_mem_open", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]},
+        {"ident":"pow", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"powf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"powl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"pread", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"printf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"PRIO_PGRP", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"PRIO_PROCESS", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"PRIO_USER", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"PROT_EXEC", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"PROT_NONE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"PROT_READ", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"PROT_WRITE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]},
+        {"ident":"protoent", "id_type":"type", "header":"netdb.h", "extensions":[]},
+        {"ident":"pselect", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"psiginfo", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"psignal", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"pthread_atfork", "id_type":"function", "header":"pthread.h", "extensions":["OB"]},
+        {"ident":"pthread_attr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_getdetachstate", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_getguardsize", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_getinheritsched", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_getschedparam", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_getschedpolicy", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_getscope", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_getstack", "id_type":"function", "header":"pthread.h", "extensions":["TSA","TSS"]},
+        {"ident":"pthread_attr_getstacksize", "id_type":"function", "header":"pthread.h", "extensions":["TSS"]},
+        {"ident":"pthread_attr_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_setdetachstate", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_setguardsize", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_setinheritsched", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_setschedparam", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_attr_setschedpolicy", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_setscope", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_attr_setstack", "id_type":"function", "header":"pthread.h", "extensions":["TSA","TSS"]},
+        {"ident":"pthread_attr_setstacksize", "id_type":"function", "header":"pthread.h", "extensions":["TSS"]},
+        {"ident":"pthread_attr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TPS"]},
+        {"ident":"pthread_barrier_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_barrier_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_barrier_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_barrier_wait", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_barrierattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_barrierattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_barrierattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_barrierattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_barrierattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]},
+        {"ident":"pthread_cancel", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cleanup_pop", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cleanup_push", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_broadcast", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_signal", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_cond_timedwait", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_cond_wait", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_condattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_condattr_getclock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_condattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_condattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_condattr_setclock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_condattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_condattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]},
+        {"ident":"pthread_create", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_detach", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_equal", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_exit", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_getconcurrency", "id_type":"function", "header":"pthread.h", "extensions":["OB","XSI"]},
+        {"ident":"pthread_getcpuclockid", "id_type":"function", "header":"pthread.h", "extensions":["TCT"]},
+        {"ident":"pthread_getschedparam", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_getspecific", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_join", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_key_create", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_key_delete", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_key_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_kill", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"pthread_mutex_consistent", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_getprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_mutex_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_lock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_setprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_mutex_t", "id_type":"type", "header":"sys/types.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_mutex_timedlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_trylock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutex_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_getprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_mutexattr_getprotocol", "id_type":"function", "header":"pthread.h", "extensions":["MC1"]},
+        {"ident":"pthread_mutexattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_mutexattr_getrobust", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_gettype", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_setprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_mutexattr_setprotocol", "id_type":"function", "header":"pthread.h", "extensions":["MC1"]},
+        {"ident":"pthread_mutexattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_mutexattr_setrobust", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_settype", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_mutexattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["RPP","TPP"]},
+        {"ident":"pthread_once", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_once_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_rwlock_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_rdlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_rwlock_timedrdlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_timedwrlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_tryrdlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_trywrlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlock_wrlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlockattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlockattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_rwlockattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_rwlockattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]},
+        {"ident":"pthread_rwlockattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]},
+        {"ident":"pthread_self", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_setcancelstate", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_setcanceltype", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_setconcurrency", "id_type":"function", "header":"pthread.h", "extensions":["OB","XSI"]},
+        {"ident":"pthread_setschedparam", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_setschedprio", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]},
+        {"ident":"pthread_setspecific", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_sigmask", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"pthread_spin_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_spin_init", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_spin_lock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_spin_trylock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_spin_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"pthread_spinlock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"pthread_testcancel", "id_type":"function", "header":"pthread.h", "extensions":[]},
+        {"ident":"ptrdiff_t", "id_type":"macro", "header":"stddef.h", "extensions":[]},
+        {"ident":"ptsname", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"putc", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"putc_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"putchar", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"putchar_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"putenv", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"putmsg", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"putpmsg", "id_type":"function", "header":"stropts.h", "extensions":[]},
+        {"ident":"puts", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"pututxline", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"putwc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"putwchar", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"pwrite", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"qsort", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"R_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"raise", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"rand", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"RAND_MAX", "id_type":"macro", "header":"stdlib.h", "extensions":[]},
+        {"ident":"rand_r", "id_type":"function", "header":"stdlib.h", "extensions":["OB","CX"]},
+        {"ident":"random", "id_type":"function", "header":"stdlib.h", "extensions":["ADV"]},
+        {"ident":"read", "id_type":"function", "header":"unistd.h", "extensions":["OB","XSR"]},
+        {"ident":"readdir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"readdir_r", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"readlink", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"readlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"readv", "id_type":"function", "header":"sys/uio.h", "extensions":["XSI"]},
+        {"ident":"realloc", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"realpath", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"recv", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"recvfrom", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"recvmsg", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"REG_BADBR", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_BADPAT", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_BADRPT", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_EBRACE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_EBRACK", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ECOLLATE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ECTYPE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_EESCAPE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_EPAREN", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ERANGE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ESPACE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ESUBREG", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_EXTENDED", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_ICASE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_NEWLINE", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_NOMATCH", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_NOSUB", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_NOTBOL", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"REG_NOTEOL", "id_type":"constant", "header":"regex.h", "extensions":[]},
+        {"ident":"regcomp", "id_type":"function", "header":"regex.h", "extensions":[]},
+        {"ident":"regerror", "id_type":"function", "header":"regex.h", "extensions":[]},
+        {"ident":"regex_t", "id_type":"type", "header":"regex.h", "extensions":[]},
+        {"ident":"regexec", "id_type":"function", "header":"regex.h", "extensions":[]},
+        {"ident":"regfree", "id_type":"function", "header":"regex.h", "extensions":[]},
+        {"ident":"regmatch_t", "id_type":"type", "header":"regex.h", "extensions":[]},
+        {"ident":"regoff_t", "id_type":"type", "header":"regex.h", "extensions":[]},
+        {"ident":"remainder", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"remainderf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"remainderl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"remove", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"remque", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"remquo", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"remquof", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"remquol", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"rename", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"renameat", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"rewind", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"rewinddir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"rint", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"rintf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"rintl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"RLIM_INFINITY", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIM_SAVED_CUR", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIM_SAVED_MAX", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"rlim_t", "id_type":"type", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"rlimit", "id_type":"type", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_AS", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_CORE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_CPU", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_DATA", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_FSIZE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_NOFILE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RLIMIT_STACK", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"rmdir", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"round", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"roundf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"roundl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"rusage", "id_type":"type", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RUSAGE_CHILDREN", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"RUSAGE_SELF", "id_type":"constant", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"S_IFMT", "id_type":"constant", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"SA_NOCLDSTOP", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_NOCLDWAIT", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_NODEFER", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_ONSTACK", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_RESETHAND", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_RESTART", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SA_SIGINFO", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"scalbln", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scalblnf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scalblnl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scalbn", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scalbnf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scalbnl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"scandir", "id_type":"function", "header":"dirent.h", "extensions":[]},
+        {"ident":"scanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"SCHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"SCHAR_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"sched_get_priority_max", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]},
+        {"ident":"sched_get_priority_min", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]},
+        {"ident":"sched_getparam", "id_type":"function", "header":"sched.h", "extensions":["PS"]},
+        {"ident":"sched_getscheduler", "id_type":"function", "header":"sched.h", "extensions":["PS"]},
+        {"ident":"sched_param", "id_type":"type", "header":"sched.h", "extensions":["TPS"]},
+        {"ident":"sched_rr_get_interval", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]},
+        {"ident":"sched_setparam", "id_type":"function", "header":"sched.h", "extensions":["PS"]},
+        {"ident":"sched_setscheduler", "id_type":"function", "header":"sched.h", "extensions":["PS"]},
+        {"ident":"sched_yield", "id_type":"function", "header":"sched.h", "extensions":[]},
+        {"ident":"SCM_RIGHTS", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"seed48", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"SEEK_CUR", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"SEEK_END", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"SEEK_SET", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"seekdir", "id_type":"function", "header":"dirent.h", "extensions":["XSI"]},
+        {"ident":"select", "id_type":"function", "header":"sys/select.h", "extensions":[]},
+        {"ident":"sem_close", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_destroy", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_getvalue", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_init", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_open", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_post", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_timedwait", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_trywait", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"SEM_UNDO", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"sem_unlink", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sem_wait", "id_type":"function", "header":"semaphore.h", "extensions":[]},
+        {"ident":"sembuf", "id_type":"type", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"semctl", "id_type":"function", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"semget", "id_type":"function", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"semid_ds", "id_type":"type", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"semop", "id_type":"function", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"send", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"sendmsg", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"sendto", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"servent", "id_type":"type", "header":"netdb.h", "extensions":[]},
+        {"ident":"SETALL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"setbuf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"setegid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setenv", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]},
+        {"ident":"seteuid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setgid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setgrent", "id_type":"function", "header":"grp.h", "extensions":["XSI"]},
+        {"ident":"sethostent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"setitimer", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"setjmp", "id_type":"function", "header":"setjmp.h", "extensions":[]},
+        {"ident":"setkey", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"setlocale", "id_type":"function", "header":"locale.h", "extensions":[]},
+        {"ident":"setlogmask", "id_type":"function", "header":"syslog.h", "extensions":[]},
+        {"ident":"setnetent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"setpgid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setpgrp", "id_type":"function", "header":"unistd.h", "extensions":["OB","XSI"]},
+        {"ident":"setpriority", "id_type":"function", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"setprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"setpwent", "id_type":"function", "header":"pwd.h", "extensions":["XSI"]},
+        {"ident":"setregid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"setreuid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"setrlimit", "id_type":"function", "header":"sys/resource.h", "extensions":[]},
+        {"ident":"setservent", "id_type":"function", "header":"netdb.h", "extensions":[]},
+        {"ident":"setsid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setsockopt", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"setstate", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"setuid", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"setutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]},
+        {"ident":"SETVAL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]},
+        {"ident":"setvbuf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"shm_open", "id_type":"function", "header":"sys/mman.h", "extensions":["SHM"]},
+        {"ident":"SHM_RDONLY", "id_type":"constant", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"SHM_RND", "id_type":"constant", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shm_unlink", "id_type":"function", "header":"sys/mman.h", "extensions":["SHM"]},
+        {"ident":"shmat", "id_type":"function", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shmatt_t", "id_type":"type", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shmctl", "id_type":"function", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shmdt", "id_type":"function", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shmget", "id_type":"function", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"shmid_ds", "id_type":"type", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"SHMLBA", "id_type":"constant", "header":"sys/shm.h", "extensions":[]},
+        {"ident":"SHRT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"SHRT_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"SHUT_RD", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SHUT_RDWR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SHUT_WR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"shutdown", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"sig_atomic_t", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_BLOCK", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_DFL", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_ERR", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_HOLD", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_IGN", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_SETMASK", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SIG_UNBLOCK", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"sigaction", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigaction", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"sigaddset", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigaltstack", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigdelset", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigemptyset", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"SIGEV_NONE", "id_type":"constant", "header":"signal.h", "extensions":[]},
+        {"ident":"SIGEV_SIGNAL", "id_type":"constant", "header":"signal.h", "extensions":[]},
+        {"ident":"SIGEV_THREAD", "id_type":"constant", "header":"signal.h", "extensions":[]},
+        {"ident":"sigevent", "id_type":"type", "header":"signal.h", "extensions":["CX"]},
+        {"ident":"sigfillset", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sighold", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigignore", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"siginfo_t", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"siginterrupt", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigismember", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"siglongjmp", "id_type":"function", "header":"setjmp.h", "extensions":["CX"]},
+        {"ident":"signal", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"signgam", "id_type":"variable", "header":"math.h", "extensions":[]},
+        {"ident":"sigpause", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigpending", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigprocmask", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigqueue", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigrelse", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigset", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigset_t", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"sigsetjmp", "id_type":"function", "header":"setjmp.h", "extensions":["CX"]},
+        {"ident":"SIGSTKSZ", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"sigsuspend", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigtimedwait", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigval", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"sigwait", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sigwaitinfo", "id_type":"function", "header":"signal.h", "extensions":[]},
+        {"ident":"sin", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sinf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sinh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sinhf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sinhl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sinl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"size_t", "id_type":"macro", "header":"stddef.h", "extensions":["TSA","TSS"]},
+        {"ident":"sleep", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"snprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"SO_ACCEPTCONN", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_BROADCAST", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_DEBUG", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_DONTROUTE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_ERROR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_KEEPALIVE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_LINGER", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_OOBINLINE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_RCVBUF", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_RCVLOWAT", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_RCVTIMEO", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_REUSEADDR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_SNDBUF", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_SNDLOWAT", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_SNDTIMEO", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SO_TYPE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOCK_DGRAM", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOCK_RAW", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOCK_SEQPACKET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOCK_STREAM", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"sockaddr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"sockaddr_in", "id_type":"type", "header":"netinet/in.h", "extensions":[]},
+        {"ident":"sockaddr_in6", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]},
+        {"ident":"sockaddr_un", "id_type":"type", "header":"sys/un.h", "extensions":[]},
+        {"ident":"sockatmark", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"socket", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"socketpair", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOL_SOCKET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"SOMAXCONN", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]},
+        {"ident":"speed_t", "id_type":"type", "header":"termios.h", "extensions":[]},
+        {"ident":"sprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"sqrt", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sqrtf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"sqrtl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"srand", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"srand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"srandom", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"SS_DISABLE", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"SS_ONSTACK", "id_type":"macro", "header":"signal.h", "extensions":[]},
+        {"ident":"sscanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"SSIZE_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"ssize_t", "id_type":"type", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"ST_NOSUID", "id_type":"constant", "header":"sys/statvfs.h", "extensions":[]},
+        {"ident":"ST_RDONLY", "id_type":"constant", "header":"sys/statvfs.h", "extensions":[]},
+        {"ident":"stack_t", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"stat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"stat", "id_type":"type", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"static_assert", "id_type":"macro", "header":"assert.h", "extensions":[]},
+        {"ident":"statvfs", "id_type":"function", "header":"sys/statvfs.h", "extensions":[]},
+        {"ident":"statvfs", "id_type":"type", "header":"sys/statvfs.h", "extensions":[]},
+        {"ident":"stderr", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"STDERR_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"stdin", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"STDIN_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"stdout", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"STDOUT_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"stpcpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"stpncpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"str_list", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"str_mlist", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strbuf", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strcasecmp", "id_type":"function", "header":"strings.h", "extensions":[]},
+        {"ident":"strcasecmp_l", "id_type":"function", "header":"strings.h", "extensions":[]},
+        {"ident":"strcat", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strchr", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strcmp", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strcoll", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strcoll_l", "id_type":"function", "header":"string.h", "extensions":["CX"]},
+        {"ident":"strcpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strcspn", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strdup", "id_type":"function", "header":"string.h", "extensions":["XSI"]},
+        {"ident":"strerror", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strerror_l", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strerror_r", "id_type":"function", "header":"string.h", "extensions":["CX"]},
+        {"ident":"strfdinsert", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strfmon", "id_type":"function", "header":"monetary.h", "extensions":[]},
+        {"ident":"strfmon_l", "id_type":"function", "header":"monetary.h", "extensions":[]},
+        {"ident":"strftime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"strftime_l", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"strioctl", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strlen", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strncasecmp", "id_type":"function", "header":"strings.h", "extensions":[]},
+        {"ident":"strncasecmp_l", "id_type":"function", "header":"strings.h", "extensions":[]},
+        {"ident":"strncat", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strncmp", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strncpy", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strndup", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strnlen", "id_type":"function", "header":"string.h", "extensions":["CX"]},
+        {"ident":"strpbrk", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strpeek", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strptime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"strrchr", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strrecvfd", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"strsignal", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strspn", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strstr", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strtod", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtof", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtoimax", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"strtok", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strtok_r", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strtol", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtold", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtoll", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtoul", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtoull", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"strtoumax", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"strxfrm", "id_type":"function", "header":"string.h", "extensions":[]},
+        {"ident":"strxfrm_l", "id_type":"function", "header":"string.h", "extensions":["CX"]},
+        {"ident":"suseconds_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]},
+        {"ident":"swab", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"swprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"swscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"symlink", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"symlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"sync", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]},
+        {"ident":"sysconf", "id_type":"function", "header":"unistd.h", "extensions":["ADV"]},
+        {"ident":"syslog", "id_type":"function", "header":"syslog.h", "extensions":[]},
+        {"ident":"system", "id_type":"function", "header":"stdlib.h", "extensions":["IP6"]},
+        {"ident":"t_scalar_t", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"t_uscalar_t", "id_type":"type", "header":"stropts.h", "extensions":[]},
+        {"ident":"TABDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"tan", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tanf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tanh", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tanhf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tanhl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tanl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tcdrain", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcflag_t", "id_type":"type", "header":"termios.h", "extensions":[]},
+        {"ident":"tcflow", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcflush", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcgetattr", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcgetpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"tcgetsid", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"TCIFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCIOFF", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCIOFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCION", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCOFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCOOFF", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCOON", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCP_NODELAY", "id_type":"constant", "header":"netinet/tcp.h", "extensions":[]},
+        {"ident":"TCSADRAIN", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCSAFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"TCSANOW", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"tcsendbreak", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcsetattr", "id_type":"function", "header":"termios.h", "extensions":[]},
+        {"ident":"tcsetpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"tdelete", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"telldir", "id_type":"function", "header":"dirent.h", "extensions":["XSI"]},
+        {"ident":"tempnam", "id_type":"function", "header":"stdio.h", "extensions":["OB","XSI"]},
+        {"ident":"termios", "id_type":"type", "header":"termios.h", "extensions":[]},
+        {"ident":"tfind", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"tgamma", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tgammaf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tgammal", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"time", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"time_t", "id_type":"type", "header":"sys/types.h", "extensions":["SS","TSP"]},
+        {"ident":"TIMER_ABSTIME", "id_type":"constant", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_create", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_delete", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_getoverrun", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_gettime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_settime", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timer_t", "id_type":"type", "header":"sys/types.h", "extensions":["CX"]},
+        {"ident":"times", "id_type":"function", "header":"sys/times.h", "extensions":["OB"]},
+        {"ident":"timespec", "id_type":"type", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"timeval", "id_type":"type", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"timezone", "id_type":"variable", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"tm", "id_type":"type", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"TMP_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]},
+        {"ident":"tmpfile", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"tmpnam", "id_type":"function", "header":"stdio.h", "extensions":["OB"]},
+        {"ident":"tms", "id_type":"type", "header":"sys/times.h", "extensions":["OB"]},
+        {"ident":"toascii", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]},
+        {"ident":"tolower", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"tolower_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"TOSTOP", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"toupper", "id_type":"function", "header":"ctype.h", "extensions":[]},
+        {"ident":"toupper_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]},
+        {"ident":"towctrans", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"towctrans_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"towlower", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"towlower_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"towupper", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"towupper_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"trace_attr_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]},
+        {"ident":"trace_event_id_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]},
+        {"ident":"trace_event_set_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TEF"]},
+        {"ident":"trace_id_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]},
+        {"ident":"true", "id_type":"macro", "header":"stdbool.h", "extensions":[]},
+        {"ident":"trunc", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"truncate", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"truncf", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"truncl", "id_type":"function", "header":"math.h", "extensions":[]},
+        {"ident":"tsearch", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"ttyname", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"ttyname_r", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"twalk", "id_type":"function", "header":"search.h", "extensions":[]},
+        {"ident":"tzname", "id_type":"variable", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"tzset", "id_type":"function", "header":"time.h", "extensions":["IP6"]},
+        {"ident":"UCHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"ucontext_t", "id_type":"type", "header":"signal.h", "extensions":[]},
+        {"ident":"uid_t", "id_type":"type", "header":"sys/types.h", "extensions":[]},
+        {"ident":"UINT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"ulimit", "id_type":"function", "header":"ulimit.h", "extensions":[]},
+        {"ident":"ULLONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"ULONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"umask", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"uname", "id_type":"function", "header":"sys/utsname.h", "extensions":[]},
+        {"ident":"ungetc", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"ungetwc", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"unlink", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"unlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"unlockpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]},
+        {"ident":"unsetenv", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]},
+        {"ident":"USER_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]},
+        {"ident":"USHRT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"usleep", "id_type":"function", "header":"unistd.h", "extensions":["OB","REM"]},
+        {"ident":"utimbuf", "id_type":"type", "header":"utime.h", "extensions":[]},
+        {"ident":"utime", "id_type":"function", "header":"utime.h", "extensions":[]},
+        {"ident":"utimensat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]},
+        {"ident":"utimes", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]},
+        {"ident":"utmpx", "id_type":"type", "header":"utmpx.h", "extensions":[]},
+        {"ident":"utsname", "id_type":"type", "header":"sys/utsname.h", "extensions":[]},
+        {"ident":"va_arg", "id_type":"type", "header":"stdarg.h", "extensions":[]},
+        {"ident":"va_copy", "id_type":"macro", "header":"stdarg.h", "extensions":[]},
+        {"ident":"va_end", "id_type":"macro", "header":"stdarg.h", "extensions":[]},
+        {"ident":"va_list", "id_type":"type", "header":"stdarg.h", "extensions":[]},
+        {"ident":"va_start", "id_type":"macro", "header":"stdarg.h", "extensions":[]},
+        {"ident":"vdprintf", "id_type":"function", "header":"stdio.h", "extensions":["CX"]},
+        {"ident":"vfprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vfscanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vfwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"vfwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"vprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vscanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vsnprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vsprintf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vsscanf", "id_type":"function", "header":"stdio.h", "extensions":[]},
+        {"ident":"vswprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"vswscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"VTDLY", "id_type":"constant", "header":"termios.h", "extensions":[]},
+        {"ident":"vwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"vwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"W_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"wait", "id_type":"function", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"waitid", "id_type":"function", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"waitpid", "id_type":"function", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"WCHAR_MAX", "id_type":"macro", "header":"wchar.h", "extensions":[]},
+        {"ident":"WCHAR_MIN", "id_type":"macro", "header":"wchar.h", "extensions":[]},
+        {"ident":"wchar_t", "id_type":"macro", "header":"stddef.h", "extensions":["CX"]},
+        {"ident":"WCONTINUED", "id_type":"constant", "header":"sys/wait.h", "extensions":["XSI"]},
+        {"ident":"wcpcpy", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcpncpy", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcrtomb", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcscasecmp", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcscasecmp_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcscat", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcschr", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcscmp", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcscoll", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcscoll_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcscpy", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcscspn", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsdup", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsftime", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcslen", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsncasecmp", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcsncasecmp_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcsncat", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsncmp", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsncpy", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsnlen", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcsnrtombs", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wcspbrk", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsrchr", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsrtombs", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsspn", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsstr", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstod", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstof", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstoimax", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"wcstok", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstol", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstold", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstoll", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstombs", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"wcstoul", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstoull", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcstoumax", "id_type":"function", "header":"inttypes.h", "extensions":[]},
+        {"ident":"wcswidth", "id_type":"function", "header":"wchar.h", "extensions":["XSI"]},
+        {"ident":"wcsxfrm", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wcsxfrm_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]},
+        {"ident":"wctob", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wctomb", "id_type":"function", "header":"stdlib.h", "extensions":[]},
+        {"ident":"wctrans", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"wctrans_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"wctrans_t", "id_type":"type", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"wctype", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"wctype_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]},
+        {"ident":"wctype_t", "id_type":"type", "header":"wchar.h", "extensions":["OB","XSI"]},
+        {"ident":"wcwidth", "id_type":"function", "header":"wchar.h", "extensions":["XSI"]},
+        {"ident":"WEOF", "id_type":"macro", "header":"wchar.h", "extensions":[]},
+        {"ident":"WEXITED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"WEXITSTATUS", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WIFCONTINUED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"WIFEXITED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WIFSIGNALED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WIFSTOPPED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"wint_t", "id_type":"type", "header":"wchar.h", "extensions":["OB","XSI"]},
+        {"ident":"wmemchr", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wmemcmp", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wmemcpy", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wmemmove", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"wmemset", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"WNOHANG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WNOWAIT", "id_type":"constant", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"WORD_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]},
+        {"ident":"wordexp", "id_type":"function", "header":"wordexp.h", "extensions":[]},
+        {"ident":"wordexp_t", "id_type":"type", "header":"wordexp.h", "extensions":[]},
+        {"ident":"wordfree", "id_type":"function", "header":"wordexp.h", "extensions":[]},
+        {"ident":"wprintf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"WRDE_APPEND", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_BADCHAR", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_BADVAL", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_CMDSUB", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_DOOFFS", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_NOCMD", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_NOSPACE", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_REUSE", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_SHOWERR", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_SYNTAX", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"WRDE_UNDEF", "id_type":"constant", "header":"wordexp.h", "extensions":[]},
+        {"ident":"write", "id_type":"function", "header":"unistd.h", "extensions":[]},
+        {"ident":"writev", "id_type":"function", "header":"sys/uio.h", "extensions":["XSI"]},
+        {"ident":"wscanf", "id_type":"function", "header":"wchar.h", "extensions":[]},
+        {"ident":"WSTOPPED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]},
+        {"ident":"WSTOPSIG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WTERMSIG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"WUNTRACED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]},
+        {"ident":"X_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]},
+        {"ident":"xor", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"xor_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]},
+        {"ident":"y0", "id_type":"function", "header":"math.h", "extensions":["XSI"]},
+        {"ident":"y1", "id_type":"function", "header":"math.h", "extensions":["XSI"]},
+        {"ident":"yn", "id_type":"function", "header":"math.h", "extensions":["XSI"]}
+    ]
+}
diff --git a/share/libc/arpa/inet.h b/share/libc/arpa/inet.h
index 8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8..773e7d87a2e5f1132865407f3879b5a3fc392785 100644
--- a/share/libc/arpa/inet.h
+++ b/share/libc/arpa/inet.h
@@ -23,4 +23,10 @@
 // According to POSIX, definitions from both arpa/inet.h and netinet/in.h
 // may be exported by one another, so everything is defined in a common file.
 
+#ifndef __FC_ARPA_INET
+#define __FC_ARPA_INET
+#include "features.h"
+__PUSH_FC_STDLIB
 #include "../__fc_inet.h"
+__POP_FC_STDLIB
+#endif
diff --git a/share/libc/getopt.h b/share/libc/getopt.h
index 6788b728779835daa8f5d3e12b7e9d08a85d47d0..b7f2116363d0e4cbf4068287e0f98a9f9e7756cf 100644
--- a/share/libc/getopt.h
+++ b/share/libc/getopt.h
@@ -27,14 +27,7 @@ __PUSH_FC_STDLIB
 
 __BEGIN_DECLS
 
-extern char *optarg;
-extern int optind, opterr, optopt;
-
-/*@ 
-  assigns \result, *optarg, optind, opterr, optopt 
-             \from argc, argv[0..argc-1], optstring[0..];
- */
-extern int getopt(int argc, char * const argv[], const char *optstring);
+#include "unistd.h"
 
 /* GNU specific */
 struct option
diff --git a/share/libc/locale.h b/share/libc/locale.h
index 11f0244bcb3cf4b8f4df547113ba2de04669bf37..6cc0e08923d1ce49e3075c5195407f7d4ff324c2 100644
--- a/share/libc/locale.h
+++ b/share/libc/locale.h
@@ -131,20 +131,20 @@ struct lconv
                                   | LC_IDENTIFICATION_MASK      \
                                   )
 
-extern struct lconv* __frama_c_locale;
-extern char*__frama_c_locale_names[512];
+extern struct lconv* __fc_locale;
+extern char*__fc_locale_names[512];
 
 /*@ 
   requires locale_null_or_valid_string: locale == \null || valid_read_string(locale);
-  assigns __frama_c_locale \from category, locale[..];
-  assigns \result \from __frama_c_locale,category, locale[..];
+  assigns __fc_locale \from category, locale[..];
+  assigns \result \from __fc_locale,category, locale[..];
   ensures result_null_or_locale_name: \result==\null || (\valid(\result) 
-      && \exists ℤ i ; \result == __frama_c_locale_names[i]) ;
+      && \exists ℤ i ; \result == __fc_locale_names[i]) ;
 */
 extern char *setlocale(int category, const char *locale);
 
 /*@ assigns \nothing;
-  ensures result_current_locale: \result == __frama_c_locale;
+  ensures result_current_locale: \result == __fc_locale;
  */
 extern struct lconv *localeconv(void);
 
diff --git a/share/libc/netinet/in.h b/share/libc/netinet/in.h
index 8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8..e582651699c7282ef7ec944c133d44e3d351f50a 100644
--- a/share/libc/netinet/in.h
+++ b/share/libc/netinet/in.h
@@ -23,4 +23,10 @@
 // According to POSIX, definitions from both arpa/inet.h and netinet/in.h
 // may be exported by one another, so everything is defined in a common file.
 
+#ifndef __FC_NETINET_IN
+#define __FC_NETINET_IN
+#include "features.h"
+__PUSH_FC_STDLIB
 #include "../__fc_inet.h"
+__POP_FC_STDLIB
+#endif
diff --git a/share/libc/sys/select.h b/share/libc/sys/select.h
index 8e1608d267e3da518ee4f933fc4e891b2e3a3a30..dc854567f329a5d5114a336774aa5d0b1bbe6688 100644
--- a/share/libc/sys/select.h
+++ b/share/libc/sys/select.h
@@ -26,7 +26,7 @@
 __PUSH_FC_STDLIB
 __BEGIN_DECLS
 
-#include "__fc_select.h"
+#include "../__fc_select.h"
 
 __END_DECLS
 __POP_FC_STDLIB
diff --git a/share/libc/sys/socket.h b/share/libc/sys/socket.h
index 20b339c5ed8e978866fbbcb07cd91fdd55b3c0b0..c8d2a9ae4c3ce84d3762610595f048d30339c701 100644
--- a/share/libc/sys/socket.h
+++ b/share/libc/sys/socket.h
@@ -46,7 +46,7 @@ struct sockaddr_storage {
   sa_family_t   ss_family;
 };
 
-#include "../__fc_define_iovec.h"
+#include "sys/uio.h"
 
 struct cmsghdr {
   socklen_t  cmsg_len;
diff --git a/share/libc/sys/time.h b/share/libc/sys/time.h
index b860763f4d3909a5c198a66af5701417801f78c9..426f637688704543ab931b8ea5d48424d621bdaf 100644
--- a/share/libc/sys/time.h
+++ b/share/libc/sys/time.h
@@ -205,6 +205,11 @@ extern int timerisset(struct timeval *tvp);
 #define timercmp(a, b, _CMP) _timercmp(a, b)
 extern int _timercmp(struct timeval *a, struct timeval *b);
 
+// From POSIX, and for better compatibility with existing code bases:
+// "Inclusion of the <sys/time.h> header may make visible all symbols
+// from the <sys/select.h> header."
+#include "select.h"
+
 __END_DECLS
 __POP_FC_STDLIB
 #endif
diff --git a/share/libc/syslog.h b/share/libc/syslog.h
index 937e3fcfbe3a1a9e781946dcc26615d65afade6c..107ccb5fd3471df1cefa5512a76f14f495180b19 100644
--- a/share/libc/syslog.h
+++ b/share/libc/syslog.h
@@ -29,7 +29,7 @@ __PUSH_FC_STDLIB
 
 __BEGIN_DECLS
 
-typedef struct _code {
+typedef struct __fc_code {
 	const char	*c_name;
 	int	c_val;
 } CODE;
diff --git a/share/libc/unistd.h b/share/libc/unistd.h
index 9ee67070df73b4a30d6884ac5c8f021896bac633..e0c2a6817d3815b62976ad186b17f3947b859aec 100644
--- a/share/libc/unistd.h
+++ b/share/libc/unistd.h
@@ -34,7 +34,7 @@ __PUSH_FC_STDLIB
 #include "__fc_define_pid_t.h"
 #include "__fc_define_useconds_t.h"
 #include "__fc_define_intptr_t.h"
-#include "__fc_select.h"
+
 
 
 #include "limits.h"
@@ -1096,7 +1096,7 @@ extern int          tcsetpgrp(int, pid_t);
 extern int          truncate(const char *, off_t);
 
 extern volatile char __fc_ttyname[TTY_NAME_MAX];
-extern char *__fc_p_ttyname = __fc_ttyname;
+volatile char *__fc_p_ttyname = __fc_ttyname;
 
 /*@
   // missing: may assign to errno: EBADF, ENOTTY
@@ -1188,6 +1188,15 @@ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
  */
 int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
 
+extern char *optarg;
+extern int optind, opterr, optopt;
+
+/*@
+  assigns \result, *optarg, optind, opterr, optopt
+             \from argc, argv[0..argc-1], optstring[0..];
+ */
+extern int getopt(int argc, char * const argv[], const char *optstring);
+
 
 __END_DECLS
 
diff --git a/src/libraries/utils/dotgraph.ml b/src/libraries/utils/dotgraph.ml
new file mode 100644
index 0000000000000000000000000000000000000000..f9939a2eb3677e29cafc5c34cbdbcbcefc2e07ef
--- /dev/null
+++ b/src/libraries/utils/dotgraph.ml
@@ -0,0 +1,405 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Attributes and Such                                                --- *)
+(* -------------------------------------------------------------------------- *)
+
+type attr = [
+  | `LR
+  | `TB
+  | `Label of string
+  | `Color of string
+  | `Fillcolor of string
+  | `Shape of string
+  | `Style of string
+  | `Circle
+  | `Box
+  | `Oval
+  | `Point
+  | `Dotted
+  | `Filled
+  | `ArrowBoth
+  | `ArrowBack
+  | `ArrowForward
+  | `ArrowHead of string
+  | `ArrowTail of string
+  | `Attr of string * string
+]
+
+let attr = function
+  | `LR -> "rankdir" , "LR"
+  | `TB -> "rankdir" , "TB"
+  | `Label txt -> "label" , txt
+  | `Color c -> "color" , c
+  | `Fillcolor c -> "fillcolor" , c
+  | `Shape sh -> "shape" , sh
+  | `Style sty -> "style" , sty
+  | `Box -> "shape" , "box"
+  | `Oval -> "shape" , "oval"
+  | `Point -> "shape" , "point"
+  | `Circle -> "shape" , "circle"
+  | `Filled -> "style" , "filled"
+  | `Dotted -> "style" , "dotted"
+  | `ArrowBoth -> "dir" , "both"
+  | `ArrowBack -> "dir" , "back"
+  | `ArrowForward -> "dir" , "forward"
+  | `ArrowHead sh -> "arrowhead" , sh
+  | `ArrowTail sh -> "arrowtail" , sh
+  | `Attr(name,value) -> name , value
+
+let pp_attr fmt (a : attr) =
+  let name,value = attr a in Format.fprintf fmt "%s=%S" name value
+
+let pp_attributes fmt = function
+  | [] -> ()
+  | p::ps ->
+    begin
+      Format.fprintf fmt "@ %a" pp_attr p ;
+      List.iter (fun p -> Format.fprintf fmt ",@ %a" pp_attr p) ps ;
+    end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Dot Output                                                         --- *)
+(* -------------------------------------------------------------------------- *)
+
+type dot = {
+  file : string ;
+  queue : (unit -> unit) Queue.t ;
+  mutable indent : string ;
+  mutable id : int ;
+  mutable fmt : Format.formatter ;
+  mutable out : out_channel option ;
+}
+
+let open_dot ?(name="G") ?(attr=[]) ?(file) () =
+  let file = match file with None -> name ^ ".dot" | Some f -> f in
+  let out = open_out file in
+  let fmt = Format.formatter_of_out_channel out in
+  begin
+    Format.fprintf fmt "digraph %S {@\n" name ;
+    List.iter
+      (fun p ->
+         Format.fprintf fmt "  %a ;@\n" pp_attr p
+      ) attr ;
+    Format.pp_print_flush fmt () ;
+    { file ; fmt ;
+      queue = Queue.create () ;
+      indent = "  " ; out = Some out ; id = 0 }
+  end
+
+let flush dot =
+  match dot.out with
+  | Some out -> Format.pp_print_flush dot.fmt () ; flush out
+  | None -> ()
+
+let basename f =
+  if Filename.check_suffix f ".dot" then Filename.chop_suffix f ".dot" else f
+
+let installed = ref None
+let is_dot_installed () =
+  match !installed with
+  | Some s -> s
+  | None -> let s = (Sys.command "dot -V" = 0) in installed := Some s ; s
+
+let close dot =
+  match dot.out with
+  | None -> ()
+  | Some out ->
+    begin
+      Format.fprintf dot.fmt "}@." ;
+      dot.fmt <- Format.err_formatter ;
+      Pervasives.flush out ; close_out out ;
+      dot.out <- None ;
+    end
+
+let layout ?(force=false) ?(target="pdf") ?(engine="dot") ?output dot =
+  begin
+    if dot.out <> None then raise (Invalid_argument "DotGraph: not closed") ;
+    let input = dot.file in
+    let output =
+      match output with Some f -> f | None ->
+        Printf.sprintf "%s.%s" (basename dot.file) target in
+    let cmd = Printf.sprintf "dot -K%s -T%s %s -o %s"
+        engine target input output in
+    let status = Sys.command cmd in
+    if status=0 then output else
+    if force then
+      let msg = Printf.sprintf "dot failed with status %d" status in
+      raise (Invalid_argument msg)
+    else dot.file
+  end
+
+let printf dot msg = Format.fprintf dot.fmt msg
+let println dot msg =
+  Format.kfprintf (fun fmt -> Format.pp_print_newline fmt ()) dot.fmt msg
+
+let push dot f = Queue.push f dot.queue
+let pop_all dot =
+  while not (Queue.is_empty dot.queue) do
+    (Queue.pop dot.queue) ()
+  done
+
+(* -------------------------------------------------------------------------- *)
+(* --- Nodes and Edges                                                    --- *)
+(* -------------------------------------------------------------------------- *)
+
+type node = string
+
+let fresh ?(prefix="_") dot =
+  let k = dot.id in dot.id <- succ k ; Printf.sprintf "%s%03d" prefix k
+
+let pp_node = Format.pp_print_string
+let pp_edge fmt (a,b) = Format.fprintf fmt "%s -> %s" a b
+
+let pp_stmt dot pp stmt attr =
+  Format.fprintf dot.fmt "%s@[<hv 0>@[<hov 2>%a [%a@]@ ]@];@."
+    dot.indent pp stmt pp_attributes attr
+
+let inode dot ?prefix ?id attr =
+  let a = match id with Some a -> a | None -> fresh ?prefix dot in
+  pp_stmt dot pp_node a attr ; a
+
+let node_default dot attr =
+  pp_stmt dot pp_node "node" attr
+
+let edge_default dot attr =
+  pp_stmt dot pp_node "edge" attr
+
+let node dot id attr = ignore (inode dot ~id attr)
+
+let edge dot a b attr =
+  if attr = []
+  then Format.fprintf dot.fmt "%s%a ;@." dot.indent pp_edge (a,b)
+  else pp_stmt dot pp_edge (a,b) attr
+
+let link dot ps attr =
+  let rec walk dot attr p = function
+    | q :: ps -> edge dot p q attr ; walk dot attr q ps
+    | [] -> ()
+  in match ps with
+  | p :: ps -> walk dot attr p ps
+  | [] -> ()
+
+(* -------------------------------------------------------------------------- *)
+(* --- Clustering                                                         --- *)
+(* -------------------------------------------------------------------------- *)
+
+let rank dot nodes =
+  begin
+    Format.fprintf dot.fmt "%s@[<hov 2>{ rank=same;" dot.indent ;
+    List.iter (Format.fprintf dot.fmt "@ %s;") nodes ;
+    Format.fprintf dot.fmt "@ }@]@\n" ;
+  end
+
+let subgraph dot ?(cluster=true) attr content =
+  begin
+    let k = dot.id in dot.id <- succ k ;
+    let indent = dot.indent in
+    Format.fprintf dot.fmt "%ssubgraph %s%d {@\n" indent
+      (if cluster then "cluster" else "g") k ;
+    List.iter
+      (fun a -> Format.fprintf dot.fmt "%s  %a;@\n" indent pp_attr a) attr ;
+    dot.indent <- indent ^ "  " ;
+    content () ;
+    dot.indent <- indent ;
+    Format.fprintf dot.fmt "%s}@\n" indent ;
+  end
+
+type record = [
+  | `Empty
+  | `Hbox of record list
+  | `Vbox of record list
+  | `Label of string
+  | `Port of string * link list * string
+] and link = string * attr list * node
+
+let port a b = if b <> "" then Printf.sprintf "%s:%s" a b else a
+
+module Record =
+struct
+  let hbox = function `Empty -> [] | `Hbox hs -> hs | h -> [h]
+  let vbox = function `Empty -> [] | `Vbox vs -> vs | v -> [v]
+  let (<->) a b = `Vbox (vbox a @ vbox b)
+  let (<|>) a b = `Hbox (hbox a @ hbox b)
+  let link ?(anchor="") ?(attr=[]) node : link = anchor,attr,node
+  let label ?(port="") ?(link=[]) txt : record =
+    if port="" && link=[] then `Label txt else `Port(port,link,txt)
+end
+
+type env = {
+  buffer : Buffer.t ;
+  mutable links : (string * (string * attr list * node) list) list ;
+  mutable port : int ;
+}
+
+let rec mk_record env hv = function
+  | `Empty -> ()
+  | `Label txt -> Buffer.add_string env.buffer txt
+  | `Port(port,links,txt) ->
+    if links <> [] then
+      let port =
+        if port = "" then
+          let p = env.port in env.port <- succ p ; Printf.sprintf "_p%d" p
+        else port in
+      env.links <- (port,links) :: env.links ;
+      Printf.bprintf env.buffer "<%s> %s" port txt
+  | `Hbox rs -> mk_box env hv true rs
+  | `Vbox rs -> mk_box env hv false rs
+
+and mk_box env hv hb = function
+  | [] -> ()
+  | r::rs ->
+    begin
+      let buffer = env.buffer in
+      let boxed = hv <> hb in
+      let hv = not hv in
+      if boxed then Buffer.add_char buffer '{' ;
+      mk_record env hv r ;
+      List.iter (fun r ->
+          Buffer.add_char buffer '|' ;
+          mk_record env hv r
+        ) rs ;
+      if boxed then Buffer.add_char buffer '}' ;
+    end
+
+let irecord dot ?prefix ?id ?(rounded=false) ?(attr=[]) (box : record) =
+  let shape = if rounded then "Mrecord" else "record" in
+  let env = { buffer = Buffer.create 80 ; links = [] ; port = 1 } in
+  mk_record env true box ;
+  let label = Buffer.contents env.buffer in
+  let node = inode dot ?prefix ?id (`Shape shape :: `Label label :: attr) in
+  List.iter
+    (fun (name,links) ->
+       List.iter
+         (fun (anchor,attr,target) ->
+            edge dot (port (port node name) anchor) target attr
+         ) links
+    ) env.links ;
+  node
+
+let record dot node ?rounded ?attr box =
+  ignore (irecord dot ~id:node ?rounded ?attr box)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Indexing                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+module type Map =
+sig
+  type key
+  type 'a t
+  val empty : 'a t
+  val find : key -> 'a t -> 'a
+  val add : key -> 'a -> 'a t -> 'a t
+end
+
+let kp = ref 0
+
+module Node(M : Map) =
+struct
+  type t = M.key
+
+  let kid = ref 0
+  let prefix = ref None
+  let skip _ _ = ()
+  let once = ref skip
+  let index : node M.t ref = ref M.empty
+
+  let get_prefix () =
+    match !prefix with Some p -> p | None ->
+      let k = !kp in
+      incr kp ;
+      let p =
+        if k < 26 then String.make 1 (char_of_int (int_of_char 'A' + k))
+        else Printf.sprintf "A%d_" k in
+      prefix := Some p ; p
+
+  let get a =
+    try M.find a !index
+    with Not_found ->
+      let k = !kid in incr kid ;
+      let prefix = get_prefix () in
+      let node = Printf.sprintf "%s%03d" prefix k in
+      index := M.add a node !index ; !once a node ; node
+
+  let node dot a attr = node dot (get a) attr
+  let inode dot a attr = inode dot ~id:(get a) attr
+
+  let record dot a ?rounded ?attr box =
+    record dot (get a) ?rounded ?attr box
+
+  let irecord dot a ?rounded ?attr box =
+    irecord dot ~id:(get a) ?rounded ?attr box
+
+  let prefix p = prefix := Some p
+
+  let once f = once := f
+  let push dot f = once (fun a n -> push dot (fun () -> f a n))
+  let clear () = index := M.empty ; kid := 0 ; once skip
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Decorator                                                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+type buffer = {
+  label : Buffer.t ;
+  mutable attributes : attr list ;
+}
+
+let apply_label buffer = function
+  | `Label txt ->
+    let buf = buffer.label in
+    Buffer.add_string buf txt ; true
+  | _ -> false
+
+let apply buffer a =
+  if not (apply_label buffer a) then
+    let name = fst (attr a) in
+    let filter name a = fst (attr a) <> name in
+    buffer.attributes <- a :: List.filter (filter name) buffer.attributes
+
+let add_attr buffer a = List.iter (apply buffer) a
+
+let buffer attr =
+  let buffer = { label = Buffer.create 20 ; attributes = [] } in
+  add_attr buffer attr ; buffer
+
+let add_char buffer = Buffer.add_char buffer.label
+let add_label buffer = Buffer.add_string buffer.label
+let bprintf buffer msg =
+  let fmt = Format.formatter_of_buffer buffer.label in
+  Format.kfprintf (fun fmt -> Format.pp_print_flush fmt ()) fmt msg
+
+let attributes buffer =
+  let label = Buffer.contents buffer.label in
+  `Label label :: List.rev buffer.attributes
+
+let add_options buffer options =
+  List.iter (fun (b,a) -> if b then add_attr buffer a) options
+
+let decorate attr options =
+  let buffer = buffer attr in
+  add_options buffer options ; attributes buffer
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/libraries/utils/dotgraph.mli b/src/libraries/utils/dotgraph.mli
new file mode 100644
index 0000000000000000000000000000000000000000..778b90740259b2e4109a5ea98cc3e7a04c495f99
--- /dev/null
+++ b/src/libraries/utils/dotgraph.mli
@@ -0,0 +1,280 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(** Helper for Printing Dot-graphs.
+
+    This module provides smart-constructors for constructing Dot input
+    files. Basically, a [dot] object is a buffer to a [<file.dot>] on
+    disk where smart constructors write Dot statements.
+
+    Once the [<file.dot>] has been created, it is possible to layout it
+    by running the [dot] command with various engines.
+
+    Typically, let say you have a graph with nodes of type
+    [M.elt] with [M : Map.S] and assumes the graph is stored
+    as a map [graph : M.elt list M.t] with [roots : M.elt list]
+    then you can use:
+
+    {[
+      let module G = Dotgraph in
+      let module N = G.Node(M) in
+      begin
+        let dot = G.open_dot ~name:"mygraph" () in
+        (* For each generated node, declare it and link to its children. *)
+        N.push dot
+          (fun a ->
+             let na = N.inode dot a in
+             try
+               List.iter
+                 (fun b -> G.link dot na (N.get b))
+                 (M.find a graph)
+             with Not_found -> ()) ;
+        (* Starts by emitting roots *)
+        List.iter
+          (fun r -> ignore (N.get r))
+          roots ;
+        (* Proceeds to the traversal *)
+        G.pop_all dot ;
+        (* You may then complete your graph
+           with other decorations after the traversal... *)
+        G.close dot ;
+        (* Now call the layout engine, if installed. *)
+        G.layout dot ~format:"pdf" () ;
+      end
+    ]}
+
+*)
+
+open Pretty_utils
+
+(** {1 Attributes} *)
+
+type attr = [
+  | `LR
+  | `TB
+  | `Label of string
+  | `Color of string
+  | `Fillcolor of string
+  | `Shape of string
+  | `Style of string
+  | `Circle
+  | `Box
+  | `Oval
+  | `Point
+  | `Dotted
+  | `Filled
+  | `ArrowBoth
+  | `ArrowBack
+  | `ArrowForward
+  | `ArrowHead of string
+  | `ArrowTail of string
+  | `Attr of string * string
+]
+
+val pp_attr : Format.formatter -> attr -> unit
+
+(** {1 Dot Ouput} *)
+
+type dot
+(** Buffer to a [dot] file with a graph environment (nodes, edges, etc.) *)
+
+val open_dot : ?name:string -> ?attr:attr list -> ?file:string -> unit -> dot
+val close : dot -> unit
+
+val is_dot_installed : unit -> bool
+(** Memoized *)
+
+val layout :
+  ?force:bool ->
+  ?target:string ->
+  ?engine:string ->
+  ?output:string -> dot -> string
+(** Invoke [dot] command (if installed) with specified target and engine.
+    Defaults are [~force:false], [~target:"pdf"], [~engine:"dot"].
+
+    The [dot] buffer must be {i closed} before being laid out, although you can
+    invoke several layouts.
+
+    Output is stored in [~output] or in a filename derived from the one of [dot].
+    The function returns the generated output file.
+
+    @raise Invalid_argument if [dot] buffer is not closed, or when [dot]
+    command fails and [~force:true] (not by default). *)
+
+val printf : dot -> ('a,Format.formatter,unit,unit) format4 -> 'a
+(** Low-level routine to directly write material in the [dot] file *)
+
+val println : dot -> ('a,Format.formatter,unit,unit) format4 -> 'a
+(** Low-level routine to directly write material with an end-of-line (["\n"])
+    in the [dot] file *)
+
+val flush : dot -> unit
+(** Flushes the [dot] file buffer to disk. *)
+
+(** {1 Nodes and Edges} *)
+
+type node
+
+(** Set default node attributes *)
+val node_default : dot -> attr list -> unit
+
+(** Set default edge attributes *)
+val edge_default : dot -> attr list -> unit
+
+(** Create a fresh node identifier *)
+val fresh : ?prefix:string -> dot -> node
+
+val pp_node : node formatter
+val pp_edge : (node * node) formatter (** [a -> b] *)
+
+(** Set attributes to node *)
+val node : dot -> node -> attr list -> unit
+
+(** Create an edge with attributes *)
+val edge : dot -> node -> node -> attr list -> unit
+
+(** Link the node sequence with attributed edges *)
+val link : dot -> node list -> attr list -> unit
+
+(** Combinaison of [fresh] and [node] *)
+val inode : dot -> ?prefix:string -> ?id:node -> attr list -> node
+
+(** {1 Clustering} *)
+
+val rank : dot -> node list -> unit
+(** Layout nodes at the same rank *)
+
+val subgraph : dot -> ?cluster:bool -> attr list -> (unit -> unit) -> unit
+(** The continuation shall add the graph content in the [dot] file.
+    Clustering is true by default *)
+
+type record = [
+  | `Empty
+  | `Hbox of record list
+  | `Vbox of record list
+  | `Label of string
+  | `Port of string * link list * string
+  (** Port with output edges to other nodes.
+      Use [Record.link] and [Record.label] smart-constructors to create
+      complex ports. *)
+] and link = string * attr list * node
+
+(** Complex node layout. Smart constructors to create records. *)
+module Record :
+sig
+  val (<->) : record -> record -> record
+  val (<|>) : record -> record -> record
+  val link : ?anchor:string -> ?attr:attr list -> node -> link
+  val label : ?port:string -> ?link:link list -> string -> record
+end
+
+(** Create a port to a node, and returns the associated pseudo-node so you
+    can link an edge to it. *)
+val port : node -> string -> node
+
+(** Define the node to be a record *)
+val record : dot -> node ->
+  ?rounded:bool -> ?attr:attr list -> record -> unit
+
+(** Create a new node from a record (combines [fresh] and [record]) *)
+val irecord : dot -> ?prefix:string -> ?id:node ->
+  ?rounded:bool -> ?attr:attr list -> record -> node
+
+(** {1 Node Indexing} *)
+
+module type Map =
+sig
+  type key
+  type 'a t
+  val empty : 'a t
+  val find : key -> 'a t -> 'a
+  val add : key -> 'a -> 'a t -> 'a t
+end
+
+(** Lazily associates a node to any element. *)
+module Node(M : Map) :
+sig
+  type t = M.key
+  val get : t -> node
+  val node : dot -> t -> attr list -> unit
+  val inode : dot -> t -> attr list -> node
+  val record : dot -> t -> ?rounded:bool -> ?attr:attr list -> record -> unit
+  val irecord : dot -> t -> ?rounded:bool -> ?attr:attr list -> record -> node
+  val clear : unit -> unit
+
+  (** Executes the callback {i once} for all created nodes.
+      Any previously registered callback by [once] or [push] is replaced
+      by the new one.
+
+      {b Warning:} the callback is executed as soon as [get] is called
+      for the first time, possibly interfering with your current output
+      on a [dot] buffer. To insert additional Dot material with a callback,
+      use [push] instead.
+  *)
+  val once : (t -> node -> unit) -> unit
+
+  (** Pushes the callback {i once} for all created nodes.
+      You must call [pop_call] at some point to flush them.
+      Any previsously registred callback by [once] or [push] is replaced
+      by the new one. *)
+  val push : dot -> (t -> node -> unit) -> unit
+
+  (** Set node prefix.
+      Otherwize, some default one is created for each functor application. *)
+  val prefix : string -> unit
+end
+
+(** Register a continuation to be executed later. *)
+val push : dot -> (unit -> unit) -> unit
+
+(** Flushes all pending continuations. *)
+val pop_all : dot -> unit
+
+(** {1 Decorator} *)
+
+(** A text buffer to compose labels and attributes.
+    You can add text and attributes to the buffer, and finally
+    flush it by calling [attributes].
+    A single [`Label] attribute is finally emitted with
+    all the added text (if non-empty). *)
+type buffer
+
+(** Create a buffer initialized with the given attributes. *)
+val buffer : attr list -> buffer
+
+(** Add text material to buffer label. *)
+val bprintf : buffer -> ('a,Format.formatter,unit,unit) format4 -> 'a
+
+val add_char : buffer -> char -> unit
+val add_label : buffer -> string -> unit
+
+(** Add attributes to the buffer. *)
+val add_attr : buffer -> attr list -> unit
+
+(** Only add attributes with a [true] boolean flag *)
+val add_options : buffer -> (bool * attr list) list -> unit
+
+(** Flushes the buffer into a list of attributes *)
+val attributes : buffer -> attr list
+
+(** Concat the attributes with flagged ones *)
+val decorate : attr list -> ( bool * attr list ) list -> attr list
diff --git a/src/libraries/utils/markdown.ml b/src/libraries/utils/markdown.ml
new file mode 100644
index 0000000000000000000000000000000000000000..0295d8007b6588eac586be4811bc619ef65947d2
--- /dev/null
+++ b/src/libraries/utils/markdown.ml
@@ -0,0 +1,333 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Markdown Documentation Generation Utility                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+type md = Format.formatter -> unit
+type text = md
+type block = md
+type section = md
+
+let pretty fmt w = w fmt
+let pp_text = pretty
+let pp_block = pretty
+let pp_section = pretty
+
+(* -------------------------------------------------------------------------- *)
+(* --- Context                                                            --- *)
+(* -------------------------------------------------------------------------- *)
+
+type toc = level:int -> name:string -> title:string -> unit
+
+type context = {
+  page: string ;
+  path: string list ;
+  names: bool ;
+  level: int ;
+  toc: toc option ;
+}
+
+let context = ref {
+    page = "" ;
+    path = [] ;
+    names = false ;
+    level = 0 ;
+    toc = None ;
+  }
+
+let local ctxt job data =
+  let current = !context in
+  try context := ctxt ; job data ; context := current
+  with err -> context := current ; raise err
+
+(* -------------------------------------------------------------------------- *)
+(* --- Combinators                                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+let nil _fmt = ()
+let empty= nil
+let space fmt = Format.pp_print_space fmt ()
+let newline fmt = Format.pp_print_newline fmt ()
+
+let merge sep ds fmt =
+  match List.filter (fun d -> d != nil) ds with
+  | [] -> ()
+  | d::ds -> d fmt ; List.iter (fun d -> sep fmt ; d fmt) ds
+
+let glue ?sep ds fmt =
+  match sep with
+  | None -> List.iter (fun d -> d fmt) ds
+  | Some s -> merge s ds fmt
+
+let (<@>) a b =
+  if a == empty then b else
+  if b == empty then a else
+    fun fmt -> a fmt ; b fmt
+
+let (<+>) a b =
+  if a == empty then b else
+  if b == empty then a else
+    fun fmt -> a fmt ; space fmt ; b fmt
+
+let (</>) a b =
+  if a == empty then b else
+  if b == empty then a else
+    fun fmt -> a fmt ; newline fmt ; b fmt
+
+let fmt_text k fmt = Format.fprintf fmt "@[<h 0>%t@]" k
+let fmt_block k fmt = Format.fprintf fmt "@[<v 0>%t@]@\n" k
+
+(* -------------------------------------------------------------------------- *)
+(* --- Elementary Text                                                    --- *)
+(* -------------------------------------------------------------------------- *)
+
+let raw s fmt = Format.pp_print_string fmt s
+let rm s fmt = Format.pp_print_string fmt s
+let it s fmt = Format.fprintf fmt "_%s_" s
+let bf s fmt = Format.fprintf fmt "**%s**" s
+let tt s fmt = Format.fprintf fmt "`%s`" s
+let text = merge space
+let praw s = fmt_block (raw s)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Links                                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+type href = [
+  | `URL of string
+  | `Page of string
+  | `Name of string
+  | `Section of string * string
+]
+
+let filepath m = String.split_on_char '/' m
+
+let rec relative source target =
+  match source , target with
+  | p::ps , q::qs when p = q -> relative ps qs
+  | [] , _ -> target
+  | _::d , _ -> List.map (fun _ -> "..") d @ target
+
+let lnk target =
+  String.concat "/" (relative !context.path (filepath target))
+
+let id m =
+  let buffer = Buffer.create (String.length m) in
+  let lowercase = Char.lowercase_ascii in
+  let dash = ref false in
+  let emit c =
+    if !dash then (Buffer.add_char buffer '-' ; dash := false) ;
+    Buffer.add_char buffer c in
+  String.iter
+    (function
+      | '0'..'9' as c -> emit c
+      | 'a'..'z' as c -> emit c
+      | 'A'..'Z' as c -> emit (lowercase c)
+      | '.' | '_' as c -> emit c
+      | ' ' | '\t' | '\n' | '-' -> dash := (Buffer.length buffer > 0)
+      | _ -> ()) m ;
+  Buffer.contents buffer
+
+let href ?title (h : href) fmt =
+  match title , h with
+  | None , `URL url -> Format.fprintf fmt "%s" url
+  | Some w , `URL url -> Format.fprintf fmt "[%s](%s)" w url
+  | None , `Page p -> Format.fprintf fmt "[%s](%s)" p (lnk p)
+  | Some w , `Page p -> Format.fprintf fmt "[%s](%s)" w (lnk p)
+  | None , `Section(p,s) -> Format.fprintf fmt "[%s](%s#%s)" s (lnk p) (id s)
+  | Some w , `Section(p,s) -> Format.fprintf fmt "[%s](%s#%s)" w (lnk p) (id s)
+  | None , `Name a -> Format.fprintf fmt "[%s](#%s)" a (id a)
+  | Some w , `Name a -> Format.fprintf fmt "[%s](#%s)" w (id a)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Blocks                                                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+let aname anchor fmt =
+  Format.fprintf fmt "<a name=\"%s\"></a>@\n" (id anchor)
+
+let title h ?name title fmt =
+  begin
+    let { level ; names ; toc } = !context in
+    let level = max 0 (min 5 (level + h - 1)) in
+    Format.fprintf fmt "%s %s" (String.make level '#') title ;
+    if names || name <> None || toc <> None then
+      begin
+        let anchor = match name with None -> title | Some a -> a in
+        Format.fprintf fmt " {#%s}" (id anchor) ;
+        (match toc with
+         | None -> ()
+         | Some callback ->
+           callback ~level ~name:anchor ~title) ;
+      end ;
+    Format.pp_print_newline fmt () ;
+  end
+
+let h1 = title 1
+let h2 = title 2
+let h3 = title 3
+let h4 = title 4
+
+let indent h w fmt = local { !context with level = !context.level + h } w fmt
+
+let in_h1 = indent 1
+let in_h2 = indent 2
+let in_h3 = indent 3
+let in_h4 = indent 4
+
+let hrule fmt = Format.pp_print_string fmt "-------------------------@."
+
+let par w fmt = Format.fprintf fmt "@[<hov 0>%t@]@." w
+
+let list ws fmt =
+  List.iter
+    (fun w -> Format.fprintf fmt "@[<hov 2>- %t@]@." w) ws
+
+let enum ws fmt =
+  let k = ref 0 in
+  List.iter
+    (fun w -> incr k ; Format.fprintf fmt "@[<hov 3>%d. %t@]@." !k w) ws
+
+let description items fmt =
+  List.iter
+    (fun (a,w) -> Format.fprintf fmt "@[<hov 2>- **%s** %t@]@." a w) items
+
+let code ?(lang="") pp fmt =
+  begin
+    Format.fprintf fmt "@[<v 0>```%s" lang ;
+    let buffer = Buffer.create 80 in
+    let bfmt = Format.formatter_of_buffer buffer in
+    pp bfmt ; Format.pp_print_flush bfmt () ;
+    let content = Buffer.contents buffer in
+    let lines = String.split_on_char '\n' content in
+    let rec clean = function [] -> [] | ""::w -> clean w | w -> w in
+    List.iter
+      (fun l -> Format.fprintf fmt "@\n%s" l)
+      (List.rev (clean (List.rev (clean lines)))) ;
+    Format.fprintf fmt "@\n```@]@."
+  end
+
+type column = [
+  | `Left of string
+  | `Right of string
+  | `Center of string
+]
+
+let table columns rows fmt =
+  begin
+    Format.fprintf fmt "@[<v 0>" ;
+    List.iter
+      (function `Left h | `Right h | `Center h -> Format.fprintf fmt "| %s " h)
+      columns ;
+    Format.fprintf fmt "|@\n" ;
+    List.iter (fun column ->
+        let dash h k = String.make (max 3 (String.length h + k)) '-' in
+        match column with
+        | `Left h -> Format.fprintf fmt "|:%s" (dash h 1)
+        | `Right h -> Format.fprintf fmt "|%s:" (dash h 1)
+        | `Center h -> Format.fprintf fmt "|:%s:" (dash h 0)
+      ) columns ;
+    Format.fprintf fmt "|@\n" ;
+    List.iter (fun row ->
+        List.iter (fun col -> Format.fprintf fmt "| @[<h 0>%t@] " col) row ;
+        Format.fprintf fmt "|@\n" ;
+      ) rows ;
+    Format.fprintf fmt "@]@." ;
+  end
+
+let concat ps = merge newline (List.filter (fun p -> p != empty) ps)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Refs                                                               --- *)
+(* -------------------------------------------------------------------------- *)
+
+let mk f fmt = (f ()) fmt
+let mk_text = mk
+let mk_block = mk
+
+(* -------------------------------------------------------------------------- *)
+(* --- Sections                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+let document s = s
+
+let subsections section subsections = section </> in_h1 (merge newline subsections)
+
+let section ?name ~title content subsections =
+  h1 ?name title </> content </> in_h1 (merge newline subsections)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Include File                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+let from_file path fmt =
+  let inc = open_in path in
+  try
+    while true do
+      let line = input_line inc in
+      Format.pp_print_string fmt line ;
+      Format.pp_print_newline fmt () ;
+    done
+  with
+  | End_of_file -> close_in inc
+  | exn -> close_in inc ; raise exn
+
+let read_block = from_file
+let read_section = from_file
+let read_text path fmt = Format.fprintf fmt "@[<h 0>%t@]" (from_file path)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Dump to File                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+let rec mkdir root page =
+  let dir = Filename.dirname page in
+  if dir <> "." && dir <> ".." then
+    let path = Printf.sprintf "%s/%s" root dir in
+    if not (Sys.file_exists path) then
+      begin
+        mkdir root dir ;
+        try Unix.mkdir path 0o755
+        with Unix.Unix_error _ ->
+          failwith (Printf.sprintf "Can not create direcoty '%s'" dir)
+      end
+
+let dump ~root ~page ?(names=false) ?toc doc =
+  local
+    { page ; path = filepath page ; level = 1 ; toc ; names = names }
+    begin fun () ->
+      mkdir root page ;
+      let out = open_out (Printf.sprintf "%s/%s" root page) in
+      let fmt = Format.formatter_of_out_channel out in
+      try
+        doc fmt ;
+        Format.pp_print_newline fmt () ;
+        close_out out ;
+      with err ->
+        Format.pp_print_newline fmt () ;
+        close_out out ;
+        raise err
+    end ()
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/libraries/utils/markdown.mli b/src/libraries/utils/markdown.mli
new file mode 100644
index 0000000000000000000000000000000000000000..34b955919fcc8696722172e66ad43680b689335c
--- /dev/null
+++ b/src/libraries/utils/markdown.mli
@@ -0,0 +1,183 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Markdown Documentation Generation Utility                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+(** {2 Markdown}
+
+    A lightweight helper for generating Markdown documentation.
+    Two levels of formatters are defined to help managing indentation and
+    spaces: [text] for inline markdown, and [block] for markdown paragraphs.
+
+*)
+
+type text
+type block
+type section
+
+val (<@>) : text -> text -> text (** Infix operator for [glue] *)
+val (<+>) : text -> text -> text (** Infix operator for [text] *)
+val (</>) : block -> block -> block (** Infix operator for [concat] *)
+
+(** {2 Text Constructors} *)
+
+val nil : text (** Empty *)
+val raw : string -> text (** inlined markdown format *)
+val rm : string -> text (** roman (normal) style *)
+val it : string -> text (** italic style *)
+val bf : string -> text (** bold style *)
+val tt : string -> text (** typewriter style *)
+
+val glue : ?sep:text -> text list -> text (** Glue text fragments *)
+val text : text list -> text (** Glue text fragments with spaces *)
+
+(** {2 Block Constructors} *)
+
+val empty : block (** Empty *)
+val hrule : block (** Horizontal rule *)
+
+val h1 : ?name:string -> string -> block (** Title level 1 *)
+val h2 : ?name:string -> string -> block (** Title level 2 *)
+val h3 : ?name:string -> string -> block (** Title level 3 *)
+val h4 : ?name:string -> string -> block (** Title level 4 *)
+
+val in_h1 : block -> block (** Increment title levels by 1 *)
+val in_h2 : block -> block (** Increment title levels by 2 *)
+val in_h3 : block -> block (** Increment title levels by 3 *)
+val in_h4 : block -> block (** Increment title levels by 4 *)
+
+val par : text -> block (** Simple text paragraph *)
+val praw : string -> block (** Simple raw paragraph *)
+val list : text list -> block (** Itemized list *)
+val enum : text list -> block (** Enumerated list *)
+val description : (string * text) list -> block (** Description list *)
+
+(** Formatted code.
+
+    The code content is pretty-printed in a vertical [<v0>] box
+    with default [Format] formatter.
+    Leading and trailing empty lines are removed and indentation is
+    preserved. *)
+val code : ?lang:string -> (Format.formatter -> unit) -> block
+
+val concat : block list -> block (** Glue paragraphs with empty lines *)
+
+(** {2 Hyperlinks}
+
+    [`Page], [`Name] and [`Section] links refers to the current document,
+    see [dump] function below.
+
+    In [`Section(p,t)], [p] is the page path relative to the
+    document {i root}, and [t] is the section title {i or} name.
+
+    For [`Name a], the links refers to name or title [a]
+    in the {i current} page.
+
+    Hence, everywhere throughout a self-content document directory [~root],
+    local page [~page] inside [~root] can be referenced
+    by [`Page page], and its sections can by [`Section(page,title)]
+    or [`Section(page,name)].
+
+*)
+
+type href = [
+  | `URL of string
+  | `Page of string
+  | `Name of string
+  | `Section of string * string
+]
+
+(** Default [~title] is taken from [href]. When printed,
+    actual link will be relativized with respect to current page. *)
+val href : ?title:string -> href -> text
+
+(** Define a local anchor *)
+val aname : string -> block
+
+(** {2 Tables} *)
+
+type column = [
+  | `Left of string
+  | `Right of string
+  | `Center of string
+]
+
+val table : column list -> text list list -> block
+
+(** {2 Markdown Generator}
+    Generating function are called each time the markdown
+    fragment is printed. *)
+
+val mk_text : (unit -> text) -> text
+val mk_block : (unit -> block) -> block
+
+(** {2 Sections}
+
+    Sections are an alternative to [h1-h4] constructors to build
+    properly nested sub-sections. Deep sections at depth 5 and more are
+    flattened.
+*)
+
+val section : ?name:string -> title:string -> block -> section list -> section
+val subsections : section -> section list -> section
+val document : section -> block
+
+(** {2 Dump to file}
+
+    Generate the markdown [~page] in directory [~root] with the given content.
+    The [~root] directory shall be absolute or relative to the current working
+    directory. The [~page] file-path shall be relative to the [~root] directory
+    and will be used to relocate hyperlinks to other [`Page] and [`Section]
+    properly.
+
+    Hence, everywhere throughout the document, [dump ~root ~page doc]
+    is referenced by [`Page page], and its sections are referenced by
+    [`Section(page,title)].
+
+*)
+
+(** Callback to listen for actual sections when printing a page. *)
+type toc = level:int -> name:string -> title:string -> unit
+
+(** Create a markdown page.
+    - [~root] document directory (relocatable)
+    - [~page] relative file-path of the page in [~root] (non relocatable)
+    - [~names] generate explicit [<a name=...>] tags for all titles
+    - [~toc] optional callback to register table of contents
+*)
+val dump : root:string -> page:string -> ?names:bool -> ?toc:toc -> block -> unit
+
+(** {2 Miscellaneous} *)
+
+val read_text : string -> text
+val read_block : string -> block
+val read_section : string -> section
+
+val fmt_text : (Format.formatter -> unit) -> text
+val fmt_block : (Format.formatter -> unit) -> block
+val pp_text : Format.formatter -> text -> unit
+val pp_block : Format.formatter -> block -> unit
+val pp_section : Format.formatter -> section -> unit
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/.gitignore b/src/plugins/server/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f1d2f8cc5ec41ae8f688b80afeb51e4084f3c60f
--- /dev/null
+++ b/src/plugins/server/.gitignore
@@ -0,0 +1,4 @@
+/Makefile
+/Server.mli
+/tests/ptests_config
+/tests/report/result
diff --git a/src/plugins/server/Makefile.in b/src/plugins/server/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..f70395724dae585cc902a00f8ca0dcc190d9ace0
--- /dev/null
+++ b/src/plugins/server/Makefile.in
@@ -0,0 +1,117 @@
+##########################################################################
+#                                                                        #
+#  This file is part of Frama-C.                                         #
+#                                                                        #
+#  Copyright (C) 2007-2019                                               #
+#    CEA (Commissariat à l'énergie atomique et aux énergies              #
+#         alternatives)                                                  #
+#                                                                        #
+#  you can redistribute it and/or modify it under the terms of the GNU   #
+#  Lesser General Public License as published by the Free Software       #
+#  Foundation, version 2.1.                                              #
+#                                                                        #
+#  It is distributed in the hope that it will be useful,                 #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of        #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
+#  GNU Lesser General Public License for more details.                   #
+#                                                                        #
+#  See the GNU Lesser General Public License version 2.1                 #
+#  for more details (enclosed in the file licenses/LGPLv2.1).            #
+#                                                                        #
+##########################################################################
+
+# Do not use ?= to initialize both below variables
+# (fixed efficiency issue, see GNU Make manual, Section 8.11)
+ifndef FRAMAC_SHARE
+FRAMAC_SHARE  :=$(shell frama-c-config -print-share-path)
+endif
+ifndef FRAMAC_LIBDIR
+FRAMAC_LIBDIR :=$(shell frama-c-config -print-libpath)
+endif
+
+include $(FRAMAC_SHARE)/Makefile.config
+# --------------------------------------------------------------------------
+# ---  Plugin Setting
+# --------------------------------------------------------------------------
+
+PLUGIN_ENABLE:=@ENABLE_SERVER@
+PLUGIN_NAME:=Server
+PLUGIN_DISTRIBUTED:=$(PLUGIN_ENABLE)
+PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
+
+PLUGIN_REQUIRES:= yojson
+PLUGIN_CMO:= \
+	server_parameters \
+	jbuffer \
+	doc syntax data main request \
+	server_batch \
+	kernel_main \
+	kernel_project \
+	kernel_ast
+
+PLUGIN_UNDOC:= server_batch.ml server_zmq.ml
+
+PLUGIN_GENERATED:= $(PLUGIN_DIR)/Server.mli
+PLUGIN_TESTS :=
+
+# --------------------------------------------------------------------------
+# --- ZeroMQ Support
+# --------------------------------------------------------------------------
+
+ifeq (@SERVER_ZMQ@,yes)
+PLUGIN_REQUIRES+= zmq
+PLUGIN_CMO+= server_zmq
+endif
+
+# --------------------------------------------------------------------------
+# --- Frama-C Dynamic Plug-in
+# --------------------------------------------------------------------------
+
+include $(FRAMAC_SHARE)/Makefile.dynamic
+
+# --------------------------------------------------------------------------
+# --- Server API
+# --------------------------------------------------------------------------
+
+SERVER_API= \
+	doc.mli syntax.mli data.mli request.mli
+
+define Capitalize
+$(shell printf "%s%s" \
+    $$($(ECHO) $(1) | cut -c 1 | tr '[:lower:]' '[:upper:]')
+    $$($(ECHO) $(1) | cut -c 2-))
+endef
+
+define ExportModule
+$(ECHO) "module $(call Capitalize, $(basename $(notdir $(1)))) : sig" >> $(2);
+$(ECHO) '# 1 "$(1)"' >> $(2);
+$(CAT) $(1) >> $(2);
+$(ECHO) "end" >> $(2);
+endef
+
+SERVER_MLI=$(addprefix $(Server_DIR)/, $(SERVER_API))
+
+$(Server_DIR)/Server.mli: $(Server_DIR)/Makefile $(SERVER_MLI)
+	$(PRINT_MAKING) $@ "from" $(SERVER_MLI)
+	$(RM) $@ $@.tmp
+	$(ECHO) "(* This file is generated. Do not edit. *)" >> $@.tmp
+	$(ECHO) "(** {b Server Public API} *)" >> $@.tmp
+	$(foreach file,$(SERVER_MLI),$(call ExportModule,$(file),$@.tmp))
+	$(CHMOD_RO) $@.tmp
+	$(MV) $@.tmp $@
+
+# --------------------------------------------------------------------------
+# --- Configure
+# --------------------------------------------------------------------------
+
+ifeq ("$(FRAMAC_INTERNAL)","yes")
+CONFIG_STATUS_DIR=$(FRAMAC_SRC)
+else
+CONFIG_STATUS_DIR=.
+endif
+
+$(Server_DIR)/Makefile: $(Server_DIR)/Makefile.in \
+	$(CONFIG_STATUS_DIR)/config.status
+	cd $(CONFIG_STATUS_DIR) && ./config.status --file $@
+
+# --------------------------------------------------------------------------
diff --git a/src/plugins/server/configure.ac b/src/plugins/server/configure.ac
new file mode 100644
index 0000000000000000000000000000000000000000..4ab9e3f73f11ed3c98fdf85d9531e12b51368e10
--- /dev/null
+++ b/src/plugins/server/configure.ac
@@ -0,0 +1,84 @@
+##########################################################################
+#                                                                        #
+#  This file is part of Frama-C.                                         #
+#                                                                        #
+#  Copyright (C) 2007-2019                                               #
+#    CEA (Commissariat à l'énergie atomique et aux énergies              #
+#         alternatives)                                                  #
+#                                                                        #
+#  you can redistribute it and/or modify it under the terms of the GNU   #
+#  Lesser General Public License as published by the Free Software       #
+#  Foundation, version 2.1.                                              #
+#                                                                        #
+#  It is distributed in the hope that it will be useful,                 #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of        #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
+#  GNU Lesser General Public License for more details.                   #
+#                                                                        #
+#  See the GNU Lesser General Public License version 2.1                 #
+#  for more details (enclosed in the file licenses/LGPLv2.1).            #
+#                                                                        #
+##########################################################################
+
+########################################
+# Server as a standard Frama-C plug-in #
+########################################
+
+m4_define([plugin_file],Makefile.in)
+
+m4_define([FRAMAC_SHARE_ENV],
+          [m4_normalize(m4_esyscmd([echo $FRAMAC_SHARE]))])
+
+m4_define([FRAMAC_SHARE],
+	  [m4_ifval(FRAMAC_SHARE_ENV,[FRAMAC_SHARE_ENV],
+                                     [m4_esyscmd(frama-c -print-path)])])
+
+m4_ifndef([FRAMAC_M4_MACROS], [m4_include(FRAMAC_SHARE/configure.ac)])
+
+check_plugin(server,PLUGIN_RELATIVE_PATH(plugin_file),[Server plug-in],yes)
+
+########################################
+# Server Main Configuration            #
+########################################
+
+AC_MSG_CHECKING(for Yojson)
+SERVER_LIB_YOJSON=$($OCAMLFIND query yojson -format %v)
+if test -z "$SERVER_LIB_YOJSON"
+then
+  AC_MSG_RESULT(Server disabled (use 'opam install yojson'))
+  plugin_disable(server)
+else
+  AC_MSG_RESULT(yes)
+fi
+
+########################################
+# Server ZMQ Configuration             #
+########################################
+
+AC_ARG_ENABLE(
+  server-zmq,
+  [  --enable-server-zmq     Server ZeroMQ support (default: yes)],
+  SERVER_ZMQ=$enableval,
+  SERVER_ZMQ=yes
+)
+
+if test "$SERVER_ZMQ" = "yes" ;
+then
+        AC_MSG_CHECKING(for ZeroMQ)
+        SERVER_LIB_ZMQ=$($OCAMLFIND query zmq -format %v)
+        if test -z "$SERVER_LIB_ZMQ"
+        then
+          AC_MSG_RESULT(Server support for ZeroMQ disabled (use 'opam install zmq').)
+          SERVER_ZMQ=no
+        else
+          AC_MSG_RESULT(yes);
+        fi
+fi
+
+AC_SUBST(SERVER_ZMQ)
+
+#######################
+# Generating Makefile #
+#######################
+
+write_plugin_config(Makefile)
diff --git a/src/plugins/server/data.ml b/src/plugins/server/data.ml
new file mode 100644
index 0000000000000000000000000000000000000000..46c204d72366ee3e90f6160d5dbc61a078989eeb
--- /dev/null
+++ b/src/plugins/server/data.ml
@@ -0,0 +1,533 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Data Encoding                                                      --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Js = Yojson.Basic
+module Ju = Yojson.Basic.Util
+
+type json = Js.t
+let pretty = Js.pretty_print ~std:false
+
+module type S =
+sig
+  type t
+  val syntax : Syntax.t
+  val of_json : json -> t
+  val to_json : t -> json
+end
+
+module type Info =
+sig
+  val page : Doc.page
+  val name : string
+  val descr : Markdown.text
+end
+
+type 'a data = (module S with type t = 'a)
+
+let failure js msg =
+  Pretty_utils.ksfprintf (fun msg -> raise(Ju.Type_error(msg,js))) msg
+
+(* -------------------------------------------------------------------------- *)
+(* --- Option                                                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Joption(A : S) : S with type t = A.t option =
+struct
+  type t = A.t option
+
+  let nullable = try ignore (A.of_json `Null) ; true with _ -> false
+  let syntax =
+    Syntax.option (if nullable then A.syntax else Syntax.tuple [A.syntax])
+
+  let to_json = function
+    | None -> `Null
+    | Some v -> if nullable then `List [A.to_json v] else A.to_json v
+
+  let of_json = function
+    | `Null -> None
+    | `List [js] when nullable -> Some (A.of_json js)
+    | js -> Some (A.of_json js)
+
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Tuples                                                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Jpair(A : S)(B : S) : S with type t = A.t * B.t =
+struct
+  type t = A.t * B.t
+  let syntax = Syntax.tuple [A.syntax;B.syntax]
+  let to_json (x,y) = `List [ A.to_json x ; B.to_json y ]
+  let of_json = function
+    | `List [ ja ; jb ] -> A.of_json ja , B.of_json jb
+    | js -> failure js "Expected list with 2 elements"
+end
+
+module Jtriple(A : S)(B : S)(C : S) : S with type t = A.t * B.t * C.t =
+struct
+  type t = A.t * B.t * C.t
+  let syntax = Syntax.tuple [A.syntax;B.syntax;C.syntax]
+  let to_json (x,y,z) = `List [ A.to_json x ; B.to_json y ; C.to_json z ]
+  let of_json = function
+    | `List [ ja ; jb ; jc ] -> A.of_json ja , B.of_json jb , C.of_json jc
+    | js -> failure js "Expected list with 3 elements"
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Lists                                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Jlist(A : S) : S with type t = A.t list =
+struct
+  type t = A.t list
+  let syntax = Syntax.array A.syntax
+  let to_json xs = `List (List.map A.to_json xs)
+  let of_json js = List.map A.of_json (Ju.to_list js)
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Arrays                                                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Jarray(A : S) : S with type t = A.t array =
+struct
+  type t = A.t array
+  let syntax = Syntax.array A.syntax
+  let to_json xs = `List (List.map A.to_json (Array.to_list xs))
+  let of_json js = Array.of_list @@ List.map A.of_json (Ju.to_list js)
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Collections                                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+module type S_collection =
+sig
+  include S
+  module Joption : S with type t = t option
+  module Jlist : S with type t = t list
+  module Jarray : S with type t = t array
+end
+
+module Collection(A : S) : S_collection with type t = A.t =
+struct
+  include A
+  module Joption = Joption(A)
+  module Jlist = Jlist(A)
+  module Jarray = Jarray(A)
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Atomic Types                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Junit : S with type t = unit =
+struct
+  type t = unit
+  let syntax = Syntax.unit
+  let of_json _js = ()
+  let to_json () = `Null
+end
+
+module Jany : S with type t = json =
+struct
+  type t = json
+  let syntax = Syntax.any
+  let of_json js = js
+  let to_json js = js
+end
+
+module Jbool : S_collection with type t = bool =
+  Collection
+    (struct
+      type t = bool
+      let syntax = Syntax.boolean
+      let of_json = Ju.to_bool
+      let to_json b = `Bool b
+    end)
+
+module Jint : S_collection with type t = int =
+  Collection
+    (struct
+      type t = int
+      let syntax = Syntax.int
+      let of_json = Ju.to_int
+      let to_json n = `Int n
+    end)
+
+module Jfloat : S_collection with type t = float =
+  Collection
+    (struct
+      type t = float
+      let syntax = Syntax.number
+      let of_json = Ju.to_number
+      let to_json v = `Float v
+    end)
+
+module Jstring : S_collection with type t = string =
+  Collection
+    (struct
+      type t = string
+      let syntax = Syntax.string
+      let of_json = Ju.to_string
+      let to_json s = `String s
+    end)
+
+module Jident : S_collection with type t = string =
+  Collection
+    (struct
+      type t = string
+      let syntax = Syntax.ident
+      let of_json = Ju.to_string
+      let to_json s = `String s
+    end)
+
+let text_page = Doc.page `Kernel ~title:"Rich Text Format" ~filename:"text.md"
+
+module Jtext =
+struct
+  include Jany
+  let syntax = Syntax.publish ~page:text_page ~name:"text"
+      ~synopsis:Syntax.any ~descr:(Markdown.rm "Formatted text.") ()
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Records                                                            --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Fmap = Map.Make(String)
+
+module Record( R : Info ) =
+struct
+
+  type t = json Fmap.t
+
+  type 'a field = {
+    member : t -> bool ;
+    getter : t -> 'a ;
+    setter : t -> 'a -> t ;
+  }
+
+  (* Declared Fields in this Record *)
+  let fdocs = ref []
+  let defaults = ref Fmap.empty
+
+  let default () = !defaults
+  let has fd r = fd.member r
+  let get fd r = fd.getter r
+  let set fd v r = fd.setter r v
+
+  let field (type a) name ~descr ?default (d : a data) : a field =
+    let module D = (val d) in
+    begin match default with
+      | None -> ()
+      | Some v -> defaults := Fmap.add name (D.to_json v) !defaults
+    end ;
+    fdocs := Syntax.{ name ; syntax = D.syntax ; descr } :: !fdocs ;
+    let member r = Fmap.mem name r in
+    let getter r = D.of_json (Fmap.find name r) in
+    let setter r v = Fmap.add name (D.to_json v) r in
+    { member ; getter ; setter }
+
+  let option (type a) name ~descr (d : a data) : a option field =
+    let module D = (val d) in
+    fdocs := Syntax.{ name ; syntax = option D.syntax ; descr } :: !fdocs ;
+    let member r = Fmap.mem name r in
+    let getter r =
+      try Some (D.of_json (Fmap.find name r)) with Not_found -> None in
+    let setter r = function
+      | None -> Fmap.remove name r
+      | Some v -> Fmap.add name (D.to_json v) r in
+    { member ; getter ; setter }
+
+  let fields () = Syntax.fields ~title:"Field" !fdocs
+
+  let syntax =
+    Syntax.publish ~page:R.page ~name:R.name
+      ~descr:R.descr
+      ~synopsis:(Syntax.record [])
+      ~details:(Markdown.mk_block fields) ()
+
+  let of_json js =
+    List.fold_left
+      (fun r (fd,js) -> Fmap.add fd js r)
+      (default ()) (Ju.to_assoc js)
+
+  let to_json r : json =
+    `Assoc (Fmap.fold (fun fd js fds -> (fd,js) :: fds) r [])
+
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Index                                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+(** Simplified [Map.S] *)
+module type Map =
+sig
+  type 'a t
+  type key
+  val empty : 'a t
+  val add : key -> 'a -> 'a t -> 'a t
+  val find : key -> 'a t -> 'a
+end
+
+module type Index =
+sig
+  include S_collection
+  val get : t -> int
+  val find : int -> t
+  val clear : unit -> unit
+end
+
+let publish_id (module A : Info) =
+  Syntax.publish
+    ~page:A.page ~name:A.name ~synopsis:Syntax.int ~descr:A.descr ()
+
+module INDEXER(M : Map)(I : Info) :
+sig
+  type index
+  val create : unit -> index
+  val clear : index -> unit
+  val get : index -> M.key -> int
+  val find : index -> int -> M.key
+  val to_json : index -> M.key -> json
+  val of_json : index -> json -> M.key
+end =
+struct
+
+  type index = {
+    mutable kid : int ;
+    mutable index : int M.t ;
+    lookup : (int,M.key) Hashtbl.t ;
+  }
+
+  let create () = {
+    kid = 0 ;
+    index = M.empty ;
+    lookup = Hashtbl.create 0 ;
+  }
+
+  let clear m =
+    begin
+      m.kid <- 0 ;
+      m.index <- M.empty ;
+      Hashtbl.clear m.lookup ;
+    end
+
+  let get m a =
+    try M.find a m.index
+    with Not_found ->
+      let id = m.kid in
+      m.kid <- succ id ;
+      m.index <- M.add a id m.index ;
+      Hashtbl.add m.lookup id a ; id
+
+  let find m id = Hashtbl.find m.lookup id
+
+  let to_json m a = `Int (get m a)
+  let of_json m js =
+    let id = Ju.to_int js in
+    try find m id
+    with Not_found ->
+      failure js "[%s] No registered id #%d" I.name id
+
+end
+
+module Static(M : Map)(I : Info) : Index with type t = M.key =
+struct
+  module INDEX = INDEXER(M)(I)
+  let index = INDEX.create ()
+  let clear () = INDEX.clear index
+  let get = INDEX.get index
+  let find = INDEX.find index
+  include Collection
+      (struct
+        type t = M.key
+        let syntax = publish_id (module I)
+        let of_json = INDEX.of_json index
+        let to_json = INDEX.to_json index
+      end)
+end
+
+module Index(M : Map)(I : Info) : Index with type t = M.key =
+struct
+
+  module INDEX = INDEXER(M)(I)
+  module TYPE : Datatype.S with type t = INDEX.index =
+    Datatype.Make
+      (struct
+        type t = INDEX.index
+        include Datatype.Undefined
+        let reprs = [INDEX.create()]
+        let name = "Server.Data.Index.Type." ^ I.name
+        let mem_project = Datatype.never_any_project
+      end)
+  module STATE = State_builder.Ref(TYPE)
+      (struct
+        let name = "Server.Data.Index.State." ^ I.name
+        let dependencies = []
+        let default = INDEX.create
+      end)
+
+  let index () = STATE.get ()
+  let clear () = INDEX.clear (index())
+
+  let get a = INDEX.get (index()) a
+  let find id = INDEX.find (index()) id
+
+  include Collection
+      (struct
+        type t = M.key
+        let syntax = publish_id (module I)
+        let of_json js = INDEX.of_json (index()) js
+        let to_json v = INDEX.to_json (index()) v
+      end)
+
+end
+
+module type IdentifiedType =
+sig
+  type t
+  val id : t -> int
+  include Info
+end
+
+module Identified(A : IdentifiedType) : Index with type t = A.t =
+struct
+
+  type index = (int,A.t) Hashtbl.t
+
+  module TYPE : Datatype.S with type t = index =
+    Datatype.Make
+      (struct
+        type t = index
+        include Datatype.Undefined
+        let reprs = [Hashtbl.create 0]
+        let name = "Server.Data.Identified.Type." ^ A.name
+        let mem_project = Datatype.never_any_project
+      end)
+
+  module STATE = State_builder.Ref(TYPE)
+      (struct
+        let name = "Server.Data.Identified.State." ^ A.name
+        let dependencies = []
+        let default () = Hashtbl.create 0
+      end)
+
+  let lookup () = STATE.get ()
+  let clear () = Hashtbl.clear (lookup())
+
+  let get = A.id
+  let find id = Hashtbl.find (lookup()) id
+
+  include Collection
+      (struct
+        type t = A.t
+        let syntax = publish_id (module A)
+        let to_json a = `Int (get a)
+        let of_json js =
+          let k = Ju.to_int js in
+          try find k
+          with Not_found -> failure js "[%s] No registered id #%d" A.name k
+      end)
+
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Dictionnary                                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+module type Enum =
+sig
+  type t
+  val values : (t * string * Markdown.text) list
+  include Info
+end
+
+module Dictionary(E : Enum) =
+struct
+
+  let registered = ref false
+  let index = Hashtbl.create 0
+  let lookup = Hashtbl.create 0
+
+  let register () =
+    if not !registered then
+      begin
+        registered := true ;
+        let invalid msg tag =
+          let msg = Printf.sprintf "Server.Data.Enum.%s: duplicate %s (%S)"
+              E.name msg tag in
+          raise (Invalid_argument msg)
+        in
+        List.iter
+          (fun (value,tag,_) ->
+             if Hashtbl.mem index value then invalid "value" tag ;
+             Hashtbl.add index value tag ;
+             if Hashtbl.mem lookup tag then invalid "tag" tag ;
+             Hashtbl.add lookup tag value ;
+          ) E.values
+      end
+
+  let values () =
+    Markdown.table
+      [ `Left E.name ; `Left "Description" ]
+      (List.map
+         (fun (_,tag,descr) ->
+            [ Markdown.tt (Printf.sprintf "%S" tag) ; descr ]
+         ) E.values)
+
+  include Collection
+      (struct
+        type t = E.t
+
+        let syntax = Syntax.publish
+            ~page:E.page ~name:E.name
+            ~synopsis:Syntax.ident
+            ~descr:E.descr ~details:(Markdown.mk_block values) ()
+
+        let to_json value =
+          register () ;
+          try `String (Hashtbl.find index value)
+          with Not_found ->
+            raise (Invalid_argument
+                     (Printf.sprintf "[%s] Unregistered value" E.name))
+
+        let of_json js =
+          register () ;
+          let tag = Ju.to_string js in
+          try Hashtbl.find lookup tag
+          with Not_found ->
+            let msg = Printf.sprintf "[%s] Unregistered tag %S" E.name tag in
+            raise (Ju.Type_error(msg,js))
+
+      end)
+
+end
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/data.mli b/src/plugins/server/data.mli
new file mode 100644
index 0000000000000000000000000000000000000000..f0c993fd042ca28c5abc2b961071ac01c9a4cb14
--- /dev/null
+++ b/src/plugins/server/data.mli
@@ -0,0 +1,190 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** Data Encoding *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Json.t
+
+val pretty : Format.formatter -> json -> unit
+
+module type S =
+sig
+  type t
+  val syntax : Syntax.t
+  val of_json : json -> t
+  val to_json : t -> json
+end
+
+
+(** Datatype registration.
+
+    Name and page must be consistent with each other:
+     - The name must be lowercase, dash-separated list of identifiers
+     - Protocol data must start with ["<server>-*"]
+     - Plugin data must start with ["<plugin>-*"]
+*)
+module type Info =
+sig
+  val page : Doc.page
+  val name : string
+  val descr : Markdown.text
+end
+
+type 'a data = (module S with type t = 'a)
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Collections} *)
+(* -------------------------------------------------------------------------- *)
+
+module type S_collection =
+sig
+  include S
+  module Joption : S with type t = t option
+  module Jlist : S with type t = t list
+  module Jarray : S with type t = t array
+end
+
+module Collection(A : S) : S_collection with type t = A.t
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Constructors} *)
+(* -------------------------------------------------------------------------- *)
+
+module Joption(A : S) : S with type t = A.t option
+module Jpair(A : S)(B : S) : S with type t = A.t * B.t
+module Jtriple(A : S)(B : S)(C : S) : S with type t = A.t * B.t * C.t
+module Jlist(A : S) : S with type t = A.t list
+module Jarray(A : S) : S with type t = A.t array
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Atomic Data} *)
+(* -------------------------------------------------------------------------- *)
+
+module Junit : S with type t = unit
+module Jany : S with type t = json
+module Jbool : S_collection with type t = bool
+module Jint : S_collection with type t = int
+module Jfloat : S_collection with type t = float
+module Jstring : S_collection with type t = string
+module Jident : S_collection with type t = string (** Syntax is {i ident}. *)
+module Jtext : S with type t = json (** Rich text encoding, see [Jbuffer] *)
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Records} *)
+(* -------------------------------------------------------------------------- *)
+
+module Record(R : Info) :
+sig
+  (** A new type [t] is created for each application of the functor. *)
+  include S
+
+  (** Parametric field. Can only be used with type [t]. *)
+  type 'a field
+
+  (** Field constructor *)
+  val field : string -> descr:Markdown.text -> ?default:'a -> 'a data -> 'a field
+
+  (** Optional field constructor *)
+  val option : string -> descr:Markdown.text -> 'a data -> 'a option field
+
+  (** Field presence. If the field has a default value, it will be always
+      present. *)
+  val has : 'a field -> t -> bool
+
+  (** Field accessor.
+      @raise Not_found if the field is optional and not present *)
+  val get : 'a field -> t -> 'a
+
+  (** Field updator. *)
+  val set : 'a field -> 'a -> t -> t
+
+  (** Contains only the default values. *)
+  val default : unit -> t
+
+end
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Indexed Values} *)
+(* -------------------------------------------------------------------------- *)
+
+(** Simplified [Map.S] *)
+module type Map =
+sig
+  type 'a t
+  type key
+  val empty : 'a t
+  val add : key -> 'a -> 'a t -> 'a t
+  val find : key -> 'a t -> 'a
+end
+
+module type Index =
+sig
+  include S_collection
+  val get : t -> int
+  val find : int -> t (** @raise Not_found if not registered *)
+  val clear : unit -> unit
+  (** Clear index tables. Use with extreme care. *)
+end
+
+(** Builds an indexer that {i does not} depend on current project. *)
+module Static(M : Map)(I : Info) : Index with type t = M.key
+
+(** Builds a {i projectified} index. *)
+module Index(M : Map)(I : Info) : Index with type t = M.key
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Identified Types} *)
+(* -------------------------------------------------------------------------- *)
+
+module type IdentifiedType =
+sig
+  type t
+  val id : t -> int
+  include Info
+end
+
+(** Builds a {i projectified} index on types with {i unique} identifiers *)
+module Identified(A : IdentifiedType) : Index with type t = A.t
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Dictionary} *)
+(* -------------------------------------------------------------------------- *)
+
+module type Enum =
+sig
+  type t
+  val values : (t * string * Markdown.text) list
+  include Info
+end
+
+module Dictionary(E : Enum) : S_collection with type t = E.t
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Misc} *)
+(* -------------------------------------------------------------------------- *)
+
+val failure : json -> ('a, Format.formatter, unit, 'b) format4 -> 'a
+(** @raise Yojson.Basic.Util.Type_error with provided message *)
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/doc.ml b/src/plugins/server/doc.ml
new file mode 100644
index 0000000000000000000000000000000000000000..0d141b3f018ecdd7b1946c5fa5f0db5a76bfd16f
--- /dev/null
+++ b/src/plugins/server/doc.ml
@@ -0,0 +1,204 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Server Documentation                                               --- *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Yojson.Basic.t
+module Senv = Server_parameters
+module Pages = Map.Make(String)
+
+type chapter = [ `Protocol | `Kernel | `Plugin of string ]
+
+type page = {
+  path : string ;
+  rootdir : string ; (* path to document root *)
+  chapter : chapter ;
+  title : string ;
+  order : int ;
+  intro : Markdown.section ;
+  mutable sections : Markdown.section list ;
+}
+
+let order = ref 0
+let pages : page Pages.t ref = ref Pages.empty
+let plugins : string list ref = ref []
+let entries : (string * Markdown.href) list ref = ref []
+let path page = page.path
+let href page name : Markdown.href = `Section( page.path , name )
+
+(* -------------------------------------------------------------------------- *)
+(* --- Page Collection                                                    --- *)
+(* -------------------------------------------------------------------------- *)
+
+let chapter pg = pg.chapter
+
+let page chapter ~title ~filename =
+  let rootdir,path = match chapter with
+    | `Protocol -> "." , filename
+    | `Kernel -> ".." , Printf.sprintf "kernel/%s" filename
+    | `Plugin name -> "../.." , Printf.sprintf "plugins/%s/%s" name filename
+  in
+  try
+    let other = Pages.find path !pages in
+    Senv.failure "Duplicate page '%s' path@." path ; other
+  with Not_found ->
+    let intro = match chapter with
+      | `Protocol ->
+        Printf.sprintf "%s/server/protocol/%s" Config.datadir filename
+      | `Kernel ->
+        Printf.sprintf "%s/server/kernel/%s" Config.datadir filename
+      | `Plugin name ->
+        if not (List.mem name !plugins) then plugins := name :: !plugins ;
+        Printf.sprintf "%s/%s/server/%s" Config.datadir name filename in
+    let intro =
+      if Sys.file_exists intro
+      then Markdown.read_section intro
+      else Markdown.(section ~title empty []) in
+    let order = incr order ; !order in
+    let page = { order ; rootdir ; path ;
+                 chapter ; title ; intro ;
+                 sections=[] } in
+    pages := Pages.add path page !pages ; page
+
+let publish ~page ?name ?(index=[]) ~title content sections =
+  let id = match name with Some id -> id | None -> title in
+  let href = `Section( page.path , id ) in
+  let section = Markdown.section ?name ~title content sections in
+  List.iter (fun entry -> entries := (entry , href) :: !entries) index ;
+  page.sections <- section :: page.sections ; href
+
+let _ = page `Protocol ~title:"Architecture" ~filename:"server.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- Tables of Content                                                  --- *)
+(* -------------------------------------------------------------------------- *)
+
+let title_of_chapter = function
+  | `Protocol -> "Server Protocols"
+  | `Kernel -> "Kernel Services"
+  | `Plugin name -> "Plugin " ^ String.capitalize_ascii name
+
+let pages_of_chapter c =
+  let w = ref [] in
+  Pages.iter
+    (fun _ p -> if p.chapter = c then w := p :: !w) !pages ;
+  List.sort (fun p q -> p.order - q.order) !w
+
+let table_of_chapter c fmt =
+  begin
+    Format.fprintf fmt "## %s@\n@." (title_of_chapter c) ;
+    List.iter
+      (fun p -> Format.fprintf fmt "   - [%s](%s)@." p.title p.path)
+      (pages_of_chapter c) ;
+    Format.pp_print_newline fmt () ;
+  end
+
+let table_of_contents fmt =
+  begin
+    table_of_chapter `Protocol fmt ;
+    table_of_chapter `Kernel fmt ;
+    List.iter
+      (fun p -> table_of_chapter (`Plugin p) fmt)
+      (List.sort String.compare !plugins)
+  end
+
+let index () =
+  List.map
+    (fun (title,entry) -> Markdown.href ~title entry)
+    (List.sort (fun (a,_) (b,_) -> String.compare a b) !entries)
+
+let link ~toc ~title ~href : json =
+  let link = [ "title" , `String title ; "href" , `String href ] in
+  `Assoc (if not toc then link else ( "toc" , `Bool true ) ::  link)
+
+let link_page page : json list =
+  List.fold_right
+    (fun p links ->
+       if p.chapter = page.chapter then
+         let toc = (p.path = page.path) in
+         let href = Filename.basename p.path in
+         link ~toc ~title:p.title ~href :: links
+       else links
+    ) (pages_of_chapter page.chapter) []
+
+let maindata : json =
+  `Assoc [
+    "document", `String "Frama-C Server" ;
+    "title",`String "Documentation" ;
+    "root", `String "." ;
+  ]
+
+let metadata page : json =
+  `Assoc [
+    "document", `String "Frama-C Server" ;
+    "chapter", `String (title_of_chapter page.chapter) ;
+    "title", `String page.title ;
+    "root", `String page.rootdir ;
+    "link",`List (link_page page) ;
+  ]
+
+(* -------------------------------------------------------------------------- *)
+(* --- Dump Documentation                                                 --- *)
+(* -------------------------------------------------------------------------- *)
+
+let dump ~root ?(meta=true) () =
+  begin
+    Pages.iter
+      (fun path page ->
+         Senv.feedback "[doc] Page: '%s'" path ;
+         let body = Markdown.subsections page.intro (List.rev page.sections) in
+         Markdown.dump ~root ~page:path (Markdown.document body) ;
+         if meta then
+           let path = Printf.sprintf "%s/%s.json" root path in
+           Yojson.Basic.to_file path (metadata page) ;
+      ) !pages ;
+    Senv.feedback "[doc] Page: 'readme.md'" ;
+    if meta then
+      let path = Printf.sprintf "%s/readme.md.json" root in
+      Yojson.Basic.to_file path maindata ;
+      Markdown.(dump ~root ~page:"readme.md"
+                  begin
+                    h1 "Documentation" </>
+                    par (bf "Version" <+> rm Config.version) </>
+                    fmt_block table_of_contents </>
+                    h2 "Index" </>
+                    list (index ())
+                  end) ;
+  end
+
+let () =
+  Db.Main.extend begin
+    fun () ->
+      let root = Senv.Doc.get () in
+      if root <> "" then
+        if Sys.file_exists root && Sys.is_directory root then
+          begin
+            Senv.feedback "[doc] Root: '%s'" root ;
+            dump ~root () ;
+          end
+        else
+          Senv.error "[doc] File '%s' is not a directory" root
+  end
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/doc.mli b/src/plugins/server/doc.mli
new file mode 100644
index 0000000000000000000000000000000000000000..e204916f44b8eec01dcc173221c77821bc990e9b
--- /dev/null
+++ b/src/plugins/server/doc.mli
@@ -0,0 +1,68 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** Server Documentation *)
+(* -------------------------------------------------------------------------- *)
+
+open Markdown
+
+(** The main chapters of the documentation. *)
+type chapter = [ `Protocol | `Kernel | `Plugin of string ]
+
+(** A page of the server documentation. *)
+type page
+
+val path : page -> string
+val href : page -> string -> href
+val chapter : page -> chapter
+
+(** Obtain the given page in the server documentation.
+
+    The page initially contains an introductory section
+    read from the share directory:
+    - [frama-c/share/protocol/<filename>] for protocol pages,
+    - [frama-c/share/server/kernel/<filename>] for kernel pages,
+    - [frama-c/share/<plugin>/server/<filename>] for plugin's pages.
+*)
+val page : chapter -> title:string -> filename:string -> page
+
+(** Adds a section in the corresponding page.
+    Returns an href to the published section.
+    If index items are provided, they are added
+    to the server documentation index.
+*)
+val publish :
+  page:page ->
+  ?name:string ->
+  ?index:string list ->
+  title:string ->
+  Markdown.block ->
+  Markdown.section list ->
+  href
+
+(** Dumps all published pages of documentations. Unless [~meta:false],
+    also generates METADATA for each page in
+    [<filename>.json] for each page. *)
+val dump : root:string -> ?meta:bool -> unit -> unit
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/jbuffer.ml b/src/plugins/server/jbuffer.ml
new file mode 100644
index 0000000000000000000000000000000000000000..70e5d66af55ac68ad3b4d464a644f168d18f6073
--- /dev/null
+++ b/src/plugins/server/jbuffer.ml
@@ -0,0 +1,137 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+type json = Yojson.Basic.t
+
+type buffer = {
+  text : FCBuffer.t ;
+  mutable rjson : json list ; (* Current op-codes in reverse order *)
+  mutable stack : ( string * json list ) list ;
+  mutable fmt : Format.formatter ;
+}
+
+let append buffer s k n =
+  FCBuffer.add_substring buffer.text s k n
+
+let flush buffer () =
+  let t = buffer.text in
+  let n = FCBuffer.length t in
+  if n > 0 then
+    let js = `String (FCBuffer.contents t) in
+    buffer.rjson <- js :: buffer.rjson ;
+    FCBuffer.clear t
+
+let push_tag buffer tag =
+  flush buffer () ;
+  buffer.stack <- ( tag , buffer.rjson ) :: buffer.stack ;
+  buffer.rjson <- []
+
+let pop_tag buffer _tag =
+  match buffer.stack with
+  | [] -> ()
+  | (tag,rjson)::stack ->
+    flush buffer () ;
+    buffer.stack <- stack ;
+    let content = List.rev buffer.rjson in
+    buffer.rjson <-
+      if content = [] then rjson
+      else
+        let block = `List ( `String tag :: content ) in
+        block :: rjson
+
+let no_mark _tag = ()
+let mark_open_tag buffer tg = push_tag buffer tg ; ""
+let mark_close_tag buffer tg = pop_tag buffer tg ; ""
+
+let create ?indent ?margin () =
+  let buffer = {
+    fmt = Format.err_formatter ;
+    text = FCBuffer.create 80 ; rjson = [] ; stack = []
+  } in
+  let fmt = Format.make_formatter (append buffer) (flush buffer) in
+  buffer.fmt <- fmt ;
+  begin match indent , margin with
+    | None , None -> ()
+    | Some k , None ->
+      let m = Format.pp_get_margin fmt () in
+      Format.pp_set_max_indent fmt (max 0 (min k m))
+    | None , Some m ->
+      Format.pp_set_margin fmt (max 0 m) ;
+      let k = Format.pp_get_max_indent fmt () in
+      if k < m-10 then Format.pp_set_max_indent fmt (max 0 (m-10))
+    | Some k , Some m ->
+      Format.pp_set_margin fmt (max 0 m) ;
+      Format.pp_set_max_indent fmt (max 0 (min k (m-10)))
+  end ;
+  begin
+    let open Format in
+    pp_set_formatter_tag_functions fmt {
+      print_open_tag = no_mark ;
+      print_close_tag = no_mark ;
+      mark_open_tag = mark_open_tag buffer ;
+      mark_close_tag = mark_close_tag buffer ;
+    } ;
+    pp_set_print_tags fmt false ;
+    pp_set_mark_tags fmt true ;
+  end ;
+  buffer
+
+let bprintf buffer msg = Format.fprintf buffer.fmt msg
+let formatter buffer = buffer.fmt
+
+let contents buffer : json =
+  flush buffer () ;
+  while buffer.stack <> [] do
+    pop_tag buffer ""
+  done ;
+  match List.rev buffer.rjson with
+  | [] -> `Null
+  | [`String _ as text] -> text
+  | content -> `List ( `String "" :: content )
+
+let format ?indent ?margin msg =
+  let buffer = create ?indent ?margin () in
+  Format.kfprintf
+    (fun fmt -> Format.pp_print_flush fmt () ; contents buffer)
+    buffer.fmt msg
+
+let to_json ?indent ?margin pp a =
+  let buffer = create ?indent ?margin () in
+  pp buffer.fmt a ;
+  Format.pp_print_flush buffer.fmt () ;
+  contents buffer
+
+let rec fprintf fmt = function
+  | `Null -> ()
+  | `String text -> Format.pp_print_string fmt text
+  | `List ( `String tag :: content ) ->
+    if tag <> "" then
+      begin
+        Format.fprintf fmt "@{<%s>" tag ;
+        List.iter (fprintf fmt) content ;
+        Format.fprintf fmt "@}" ;
+      end
+    else
+      List.iter (fprintf fmt) content
+  | js -> raise (Yojson.Basic.Util.Type_error("Invalid rich-text format",js))
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/jbuffer.mli b/src/plugins/server/jbuffer.mli
new file mode 100644
index 0000000000000000000000000000000000000000..3e1e02a1beae8615cf925e52b980b093749766c1
--- /dev/null
+++ b/src/plugins/server/jbuffer.mli
@@ -0,0 +1,60 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+type json = Json.t
+
+(** All-in-one formatter. Return the JSON encoding of formatted text. *)
+val format : ?indent:int -> ?margin:int ->
+  ('a,Format.formatter,unit,json) format4 -> 'a
+
+(** All-in-one formatter. Return the JSON encoding of formatted text. *)
+val to_json : ?indent:int -> ?margin:int ->
+  (Format.formatter -> 'a -> unit) -> 'a -> json
+
+(** Buffer for encoding formatted text. *)
+type buffer
+
+(** Create a formatter with [~indent] maximum indentation and
+    [~margin] right-margin. Defaults are those of [Format.make_formatter],
+    which are [~indent:68] and [~margin:78] with OCaml 4.05. *)
+val create : ?indent:int -> ?margin:int -> unit -> buffer
+
+(** The underlying formatter of a buffer. *)
+val formatter : buffer -> Format.formatter
+
+(** Prints into the buffer's formatter. *)
+val bprintf : buffer -> ('a,Format.formatter,unit) format -> 'a
+
+val append : buffer -> string -> int -> int -> unit
+val flush : buffer -> unit -> unit
+val push_tag : buffer -> Format.tag -> unit
+val pop_tag : buffer -> Format.tag -> unit
+
+(** Flushes the buffer and returns its JSON enoding. This pops all pending
+    tags. *)
+val contents : buffer -> json
+
+(** Prints back a JSON encoding onto the provided formatter.
+    @raise Yojson.Basic.Util.Type_error in case of ill formatted buffer. *)
+val fprintf : Format.formatter -> json -> unit
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_ast.ml b/src/plugins/server/kernel_ast.ml
new file mode 100644
index 0000000000000000000000000000000000000000..229c526ab6f75a73624235f3c09c42b5a4ed27e5
--- /dev/null
+++ b/src/plugins/server/kernel_ast.ml
@@ -0,0 +1,164 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+
+open Data
+module Sy = Syntax
+module Md = Markdown
+module Js = Yojson.Basic.Util
+open Cil_types
+
+let page = Doc.page `Kernel ~title:"Ast Services" ~filename:"ast.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- Compute Ast                                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Request.register ~page
+    ~kind:`EXEC ~name:"kernel.ast.compute"
+    ~descr:(Md.rm "Ensures that AST is computed")
+    ~input:(module Junit) ~output:(module Junit) Ast.compute
+
+(* -------------------------------------------------------------------------- *)
+(* ---  Printers                                                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Tag =
+struct
+
+  open Printer_tag
+
+  type index = (string,localizable) Hashtbl.t
+
+  let kid = ref 0
+
+  let index () = Hashtbl.create 0
+
+  module TYPE : Datatype.S with type t = index =
+    Datatype.Make
+      (struct
+        type t = index
+        include Datatype.Undefined
+        let reprs = [index()]
+        let name = "Server.Jprinter.Index"
+        let mem_project = Datatype.never_any_project
+      end)
+
+  module STATE = State_builder.Ref(TYPE)
+      (struct
+        let name = "Server.Jprinter.State"
+        let dependencies = []
+        let default = index
+      end)
+
+  let of_stmt s = Printf.sprintf "#s%d" s.sid
+  let of_start s = Printf.sprintf "#k%d" s.sid
+  let of_varinfo v = Printf.sprintf "#v%d" v.vid
+
+  let create_tag = function
+    | PStmt(_,st) -> of_stmt st
+    | PStmtStart(_,st) -> of_start st
+    | PVDecl(_,_,vi) -> of_varinfo vi
+    | PLval _ -> Printf.sprintf "#l%d" (incr kid ; !kid)
+    | PExp _ -> Printf.sprintf "#e%d" (incr kid ; !kid)
+    | PTermLval _ -> Printf.sprintf "#t%d" (incr kid ; !kid)
+    | PGlobal _ -> Printf.sprintf "#g%d" (incr kid ; !kid)
+    | PIP _ -> Printf.sprintf "#p%d" (incr kid ; !kid)
+
+  let create item =
+    let tag = create_tag item in
+    let index = STATE.get () in
+    Hashtbl.add index tag item ; tag
+
+  let lookup = Hashtbl.find (STATE.get())
+
+end
+
+module PP = Printer_tag.Make(Tag)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Ast Data                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Stmt = Data.Collection
+    (struct
+      type t = stmt
+      let syntax = Sy.publish ~page ~name:"stmt"
+          ~synopsis:Sy.ident
+          ~descr:(Md.rm "Code statement identifier") ()
+      let to_json st = `String (Tag.of_stmt st)
+      let of_json js =
+        try
+          let open Printer_tag in
+          match Tag.lookup (Js.to_string js) with
+          | PStmt(_,st) -> st
+          | _ -> raise Not_found
+        with Not_found ->
+          Data.failure js "Unknown stmt id"
+    end)
+
+module Ki = Data.Collection
+    (struct
+      type t = kinstr
+      let syntax = Sy.union [ Sy.tag "global" ; Stmt.syntax ]
+      let to_json = function
+        | Kglobal -> `String "global"
+        | Kstmt st -> `String (Tag.of_stmt st)
+      let of_json = function
+        | `String "global" -> Kglobal
+        | js -> Kstmt (Stmt.of_json js)
+    end)
+
+module Kf = Data.Collection
+    (struct
+      type t = kernel_function
+      let syntax = Sy.publish ~page ~name:"fct-id"
+          ~synopsis:Sy.ident
+          ~descr:(Md.rm "Function identified by its global name.") ()
+      let to_json kf =
+        `String (Kernel_function.get_name kf)
+      let of_json js =
+        try Js.to_string js |> Globals.Functions.find_by_name
+        with Not_found -> Data.failure js "Undefined function"
+    end)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Functions                                                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Request.register ~page
+    ~kind:`GET ~name:"kernel.ast.getFunctions"
+    ~descr:(Md.rm "Collect all functions in the AST")
+    ~input:(module Junit) ~output:(module Kf.Jlist)
+    begin fun () ->
+      let pool = ref [] in
+      Globals.Functions.iter (fun kf -> pool := kf :: !pool) ;
+      List.rev !pool
+    end
+
+let () = Request.register ~page
+    ~kind:`GET ~name:"kernel.ast.printFunction"
+    ~descr:(Md.rm "Print the AST of a function")
+    ~input:(module Kf) ~output:(module Jtext)
+    (fun kf -> Jbuffer.to_json PP.pp_global (Kernel_function.get_global kf))
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_ast.mli b/src/plugins/server/kernel_ast.mli
new file mode 100644
index 0000000000000000000000000000000000000000..0b448e0e0bb89b4bd6ff46c94080022a91893f94
--- /dev/null
+++ b/src/plugins/server/kernel_ast.mli
@@ -0,0 +1,34 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+open Cil_types
+
+(* -------------------------------------------------------------------------- *)
+(** Ast Data *)
+(* -------------------------------------------------------------------------- *)
+
+module PP : Printer_tag.S_pp
+module Kf : Data.S_collection with type t = kernel_function
+module Ki : Data.S_collection with type t = kinstr
+module Stmt : Data.S_collection with type t = stmt
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_main.ml b/src/plugins/server/kernel_main.ml
new file mode 100644
index 0000000000000000000000000000000000000000..4cfd33596d14017a5ea0e0584435616387d44b84
--- /dev/null
+++ b/src/plugins/server/kernel_main.ml
@@ -0,0 +1,215 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+open Data
+module Sy = Syntax
+module Md = Markdown
+module Senv = Server_parameters
+
+(* -------------------------------------------------------------------------- *)
+(* --- Frama-C Kernel Services                                            --- *)
+(* -------------------------------------------------------------------------- *)
+
+let page = Doc.page `Kernel ~title:"Kernel Services" ~filename:"kernel.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- Config                                                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () =
+  let get_config = Request.signature
+      ~page ~kind:`GET ~name:"kernel.getConfig"
+      ~descr:(Md.rm "Frama-C Kernel configuration")
+      ~input:(module Junit) () in
+  let result name descr =
+    Request.result get_config ~name ~descr:(Md.rm descr) (module Jstring) in
+  let set_version = result "version" "Frama-C version" in
+  let set_datadir = result "datadir" "Shared directory (FRAMAC_SHARE)" in
+  let set_libdir = result "libdir" "Lib directory (FRAMAC_LIB)" in
+  let set_pluginpath = Request.result get_config
+      ~name:"pluginpath" ~descr:(Md.rm "Plugin directories (FRAMAC_PLUGIN)")
+      (module Jstring.Jlist) in
+  Request.register_sig get_config
+    begin fun rq () ->
+      set_version rq Config.version ;
+      set_datadir rq Config.datadir ;
+      set_libdir rq Config.libdir ;
+      set_pluginpath rq Config.plugin_dir ;
+    end
+
+(* -------------------------------------------------------------------------- *)
+(* --- File Positions                                                     --- *)
+(* -------------------------------------------------------------------------- *)
+
+module RawSource =
+struct
+  type t = Filepath.position
+  let syntax = Sy.publish ~page ~name:"source"
+      ~synopsis:(Sy.record [ "file" , Sy.string ; "line" , Sy.int ])
+      ~descr:(Md.rm "Source file positions.")
+      ~details:(Md.praw "The file path is normalized, \
+                         and the line number starts at one.") ()
+
+  let to_json p = `Assoc [
+      "file" , `String (p.Filepath.pos_path :> string) ;
+      "line" , `Int p.Filepath.pos_lnum ;
+    ]
+
+  let of_json = function
+    | `Assoc [ "file" , `String path ; "line" , `Int line ]
+    | `Assoc [ "line" , `Int line ; "file" , `String path ]
+      -> Log.source ~file:(Filepath.Normalized.of_string path) ~line
+    | js -> failure js "Invalid source format"
+
+end
+
+module LogSource = Collection(RawSource)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Log Lind                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+module RawKind =
+struct
+  type t = Log.kind
+  let page = page
+  let name = "kind"
+  let descr = Md.rm "Frama-C message category."
+  let values = [
+    Log.Error,    "ERROR",    Md.rm "User Error" ;
+    Log.Warning,  "WARNING",  Md.rm "User Warning" ;
+    Log.Feedback, "FEEDBACK", Md.rm "Analyzer Feedback" ;
+    Log.Result,   "RESULT",   Md.rm "Analyzer Result" ;
+    Log.Failure,  "FAILURE",  Md.rm "Analyzer Failure" ;
+    Log.Debug,    "DEBUG",    Md.rm "Analyser Debug" ;
+  ]
+end
+
+module LogKind = Dictionary(RawKind)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Log Events                                                         --- *)
+(* -------------------------------------------------------------------------- *)
+
+module RawEvent =
+struct
+
+  module R = Record
+      (struct
+        let page = page
+        let name = "log"
+        let descr = Md.rm "Message event record."
+      end)
+
+  let syntax = R.syntax
+
+  let descr = Md.rm
+  let kind = R.field "kind" ~descr:(descr "Message kind") (module LogKind)
+  let plugin = R.field "plugin" ~descr:(descr "Emitter plugin") (module Jstring)
+  let message = R.field "message" ~descr:(descr "Message text") (module Jstring)
+
+  let category = R.option "category"
+      ~descr:(descr "Message category (DEBUG or WARNING)")
+      (module Jstring)
+
+  let source = R.option "source" ~descr:(descr "Source file position")
+      (module LogSource)
+
+  type t = Log.event
+
+  let to_json evt =
+    R.default () |>
+    R.set plugin evt.Log.evt_plugin |>
+    R.set kind evt.Log.evt_kind |>
+    R.set category evt.Log.evt_category |>
+    R.set source evt.Log.evt_source |>
+    R.set message evt.Log.evt_message |>
+    R.to_json
+
+  let of_json js =
+    let r = R.of_json js in
+    {
+      Log.evt_plugin = R.get plugin r ;
+      Log.evt_kind = R.get kind r ;
+      Log.evt_category = R.get category r ;
+      Log.evt_source = R.get source r ;
+      Log.evt_message = R.get message r ;
+    }
+
+end
+
+module LogEvent = Collection(RawEvent)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Log Monitoring                                                     --- *)
+(* -------------------------------------------------------------------------- *)
+
+let monitoring = ref false
+let monitored = ref false
+let events : Log.event Queue.t = Queue.create ()
+
+let monitor flag =
+  if flag != !monitoring then
+    ( if flag then
+        Senv.feedback "Start logs monitoring."
+      else
+        Senv.feedback "Stop logs monitoring." ) ;
+  monitoring := flag ;
+  if !monitoring && not !monitored then
+    begin
+      monitored := true ;
+      Log.add_listener (fun evt -> if !monitoring then Queue.add evt events)
+    end
+
+let monitor_logs () = monitor (Senv.Log.get ())
+
+let monitor_server activity =
+  if activity then monitor true else monitor_logs ()
+
+let () =
+  Main.on monitor_server ;
+  Cmdline.run_after_configuring_stage monitor_logs
+
+(* -------------------------------------------------------------------------- *)
+(* --- Log Requests                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Request.register
+    ~page ~kind:`SET ~name:"kernel.setLogs"
+    ~descr:(Md.rm "Turn logs monitoring on/off")
+    ~input:(module Jbool) ~output:(module Junit) monitor
+
+let () = Request.register
+    ~page ~kind:`GET ~name:"kernel.getLogs"
+    ~descr:(Md.rm "Flush the last emitted logs since last call (max 100)")
+    ~input:(module Junit) ~output:(module LogEvent.Jlist)
+    begin fun () ->
+      let pool = ref [] in
+      let count = ref 100 in
+      while not (Queue.is_empty events) && !count > 0 do
+        decr count ;
+        pool := Queue.pop events :: !pool
+      done ;
+      List.rev !pool
+    end
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_main.mli b/src/plugins/server/kernel_main.mli
new file mode 100644
index 0000000000000000000000000000000000000000..726d654e626ac7c69a35f08b97cc75ca6f60a33c
--- /dev/null
+++ b/src/plugins/server/kernel_main.mli
@@ -0,0 +1,30 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** Kernel Services *)
+(* -------------------------------------------------------------------------- *)
+
+module LogSource : Data.S_collection with type t = Filepath.position
+module LogEvent : Data.S_collection with type t = Log.event
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_project.ml b/src/plugins/server/kernel_project.ml
new file mode 100644
index 0000000000000000000000000000000000000000..883cea34f37b7ec3b8725d2c62282b14c07d22d9
--- /dev/null
+++ b/src/plugins/server/kernel_project.ml
@@ -0,0 +1,123 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+open Data
+module Sy = Syntax
+module Md = Markdown
+module Js = Yojson.Basic.Util
+
+let page = Doc.page `Kernel ~title:"Project Management" ~filename:"project.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- Project Info                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+module ProjectInfo =
+  Collection
+    (struct
+      type t = Project.t
+
+      let syntax = Sy.publish ~page ~name:"project-info"
+          ~descr:(Md.rm "Project informations")
+          ~synopsis:Sy.(record[ "id",ident; "name",string; "current",boolean ])
+          ()
+
+      let of_json js =
+        Js.member "id" js |> Js.to_string |> Project.from_unique_name
+
+      let to_json p =
+        `Assoc [
+          "id", `String (Project.get_unique_name p) ;
+          "name", `String (Project.get_name p) ;
+          "current", `Bool (Project.is_current p) ;
+        ]
+    end)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Project Requests                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+module ProjectRequest =
+struct
+
+  type t = Project.t * string * json
+
+  let syntax = Sy.publish ~page ~name:"project-request"
+      ~synopsis:(Sy.(record[ "project",ident; "request",string; "data",any; ]))
+      ~descr:(Md.rm "Request to be executed on the specified project.") ()
+
+  let of_json js =
+    begin
+      Project.from_unique_name Js.(member "project" js |> to_string) ,
+      Js.(member "request" js |> to_string) ,
+      Js.(member "data" js)
+    end
+
+  let process kind (project,request,data) =
+    match Main.find request with
+    | Some(kd,handler) when kd = kind -> Project.on project handler data
+    | Some _ -> failwith (Printf.sprintf "Incompatible kind for '%s'" request)
+    | None -> failwith (Printf.sprintf "Request '%s' undefined" request)
+
+end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Project Requests                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Request.register ~page
+    ~kind:`GET ~name:"kernel.project.getCurrent"
+    ~descr:(Md.rm "Returns the current project")
+    ~input:(module Junit) ~output:(module ProjectInfo)
+    Project.current
+
+let () = Request.register ~page
+    ~kind:`SET ~name:"kernel.project.setCurrent"
+    ~descr:(Md.rm "Switches the current project")
+    ~input:(module Jident) ~output:(module Junit)
+    (fun pid -> Project.(set_current (from_unique_name pid)))
+
+let () = Request.register ~page
+    ~kind:`GET ~name:"kernel.project.getList"
+    ~descr:(Md.rm "Returns the list of all projects")
+    ~input:(module Junit) ~output:(module ProjectInfo.Jlist)
+    (fun () -> Project.fold_on_projects (fun ids p -> p :: ids) [])
+
+let () = Request.register ~page
+    ~kind:`GET ~name:"kernel.project.getOn"
+    ~descr:(Md.rm "Execute a GET request within the given project")
+    ~input:(module ProjectRequest) ~output:(module Jany)
+    (ProjectRequest.process `GET)
+
+let () = Request.register ~page
+    ~kind:`SET ~name:"kernel.project.setOn"
+    ~descr:(Md.rm "Execute a SET request within the given project")
+    ~input:(module ProjectRequest) ~output:(module Jany)
+    (ProjectRequest.process `SET)
+
+let () = Request.register ~page
+    ~kind:`EXEC ~name:"kernel.project.execOn"
+    ~descr:(Md.rm "Execute an EXEC request within the given project")
+    ~input:(module ProjectRequest) ~output:(module Jany)
+    (ProjectRequest.process `EXEC)
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/kernel_project.mli b/src/plugins/server/kernel_project.mli
new file mode 100644
index 0000000000000000000000000000000000000000..975e1e094f80f095534935294154b22ef3d95979
--- /dev/null
+++ b/src/plugins/server/kernel_project.mli
@@ -0,0 +1,32 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+open Data
+
+(* -------------------------------------------------------------------------- *)
+(** Project Services *)
+(* -------------------------------------------------------------------------- *)
+
+module ProjectInfo : Data.S with type t = Project.t
+module ProjectRequest : Request.Input with type t = Project.t * string * json
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/main.ml b/src/plugins/server/main.ml
new file mode 100644
index 0000000000000000000000000000000000000000..2602e89fe5f4b7cef908529ccf56db56f41dc3ad
--- /dev/null
+++ b/src/plugins/server/main.ml
@@ -0,0 +1,300 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Server Main Process                                                --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Senv = Server_parameters
+
+let option f = function None -> () | Some x -> f x
+
+(* -------------------------------------------------------------------------- *)
+(* --- Registry                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+type kind = [ `GET | `SET | `EXEC ]
+let string_of_kind = function `GET -> "GET" | `SET -> "SET" | `EXEC -> "EXEC"
+let pp_kind fmt kd = Format.pp_print_string fmt (string_of_kind kd)
+
+let registry = Hashtbl.create 32
+
+let register (kind : kind) request handler =
+  if Hashtbl.mem registry request then
+    Server_parameters.failure "Request '%s' already registered" request
+  else
+    Hashtbl.add registry request (kind,handler)
+
+let find request =
+  try Some (Hashtbl.find registry request)
+  with Not_found -> None
+
+let exec request data = (snd (Hashtbl.find registry request)) data
+
+(* -------------------------------------------------------------------------- *)
+(* --- Public API                                                         --- *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Json.t
+
+type 'a request = [
+  | `Poll
+  | `Request of 'a * string * json
+  | `Kill of 'a
+  | `Shutdown
+]
+
+type 'a response = [
+  | `Data of 'a * json
+  | `Error of 'a * string
+  | `Killed of 'a
+  | `Rejected of 'a
+]
+
+type 'a message = {
+  requests : 'a request list ;
+  callback : 'a response list -> unit ;
+}
+
+(* Private API: *)
+
+type 'a exec = {
+  id : 'a ;
+  request : string ;
+  data : json ;
+  handler : json -> json ;
+  yield : bool ;
+  mutable killed : bool ;
+}
+
+type 'a server = {
+  rate : int ;
+  pretty : Format.formatter -> 'a -> unit ;
+  equal : 'a -> 'a -> bool ;
+  fetch : unit -> 'a message option ;
+  q_in : 'a exec Queue.t ;
+  q_out : 'a response Stack.t ;
+  mutable shutdown : bool ;
+  mutable coins : int ;
+  mutable running : 'a exec option ;
+}
+
+exception Killed
+
+(* -------------------------------------------------------------------------- *)
+(* --- Debug                                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+let pp_request pp fmt (r : _ request) =
+  match r with
+  | `Poll -> Format.fprintf fmt "Poll"
+  | `Shutdown -> Format.fprintf fmt "Shutdown"
+  | `Kill id -> Format.fprintf fmt "Kill %a" pp id
+  | `Request(id,request,data) ->
+    if Senv.debug_atleast 2 then
+      Format.fprintf fmt "@[<hov 2>Request %s:%a@ %a@]"
+        request pp id Data.pretty data
+    else
+      Format.fprintf fmt "Request %s:%a" request pp id
+
+let pp_response pp fmt (r : _ response) =
+  match r with
+  | `Error(id,err) -> Format.fprintf fmt "Error %a: %s" pp id err
+  | `Rejected id -> Format.fprintf fmt "Rejected %a" pp id
+  | `Killed id -> Format.fprintf fmt "Killed %a" pp id
+  | `Data(id,data) ->
+    if Senv.debug_atleast 2 then
+      Format.fprintf fmt "@[<hov 2>Response %a@ %a@]"
+        pp id Data.pretty data
+    else
+      Format.fprintf fmt "Response %a" pp id
+
+(* -------------------------------------------------------------------------- *)
+(* --- Request Handling                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+let no_yield () = ()
+
+let execute yield exec : _ response =
+  let db = !Db.progress in
+  try
+    Db.progress := if exec.yield then yield else no_yield ;
+    let data = exec.handler exec.data in
+    Db.progress := db ; `Data(exec.id,data)
+  with
+  | Killed -> Db.progress := db ; `Killed exec.id
+  | exn ->
+    Db.progress := db ;
+    Senv.warning "[%s] Uncaught exception:@\n%s"
+      exec.request (Cmdline.protect exn) ;
+    `Error(exec.id,Printexc.to_string exn)
+
+let execute_debug pp yield exec =
+  if Senv.debug_atleast 1 then
+    Senv.debug "Trigger %s:%a" exec.request pp exec.id ;
+  execute yield exec
+
+let reply_debug server resp =
+  if Senv.debug_atleast 1 then
+    Senv.debug "%a" (pp_response server.pretty) resp ;
+  Stack.push resp server.q_out
+
+(* -------------------------------------------------------------------------- *)
+(* --- Processing Requests                                                --- *)
+(* -------------------------------------------------------------------------- *)
+
+let raise_if_killed = function { killed } -> if killed then raise Killed
+let kill_exec e = e.killed <- true
+let kill_request eq id e = if eq id e.id then e.killed <- true
+
+let process_request (server : 'a server) (request : 'a request) : unit =
+  if Senv.debug_atleast 1 then
+    Senv.debug "%a" (pp_request server.pretty) request ;
+  match request with
+  | `Poll -> ()
+  | `Shutdown ->
+    begin
+      option kill_exec server.running ;
+      Queue.clear server.q_in ;
+      Stack.clear server.q_out ;
+      server.shutdown <- true ;
+    end
+  | `Kill id ->
+    begin
+      let kill = kill_request server.equal id in
+      Queue.iter kill server.q_in ;
+      option kill server.running ;
+    end
+  | `Request(id,request,data) ->
+    begin
+      match find request with
+      | None -> reply_debug server (`Rejected id)
+      | Some( `GET , handler ) ->
+        let exec = { id ; request ; handler ; data ;
+                     yield = false ; killed = false } in
+        reply_debug server (execute no_yield exec)
+      | Some( `SET , handler ) ->
+        let exec = { id ; request ; handler ; data ;
+                     yield = false ; killed = false } in
+        Queue.push exec server.q_in
+      | Some( `EXEC , handler ) ->
+        let exec = { id ; request ; handler ; data ;
+                     yield = true ; killed = false } in
+        Queue.push exec server.q_in
+    end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Fetching a Bunck of Messages                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+let communicate server =
+  match server.fetch () with
+  | None -> false
+  | Some message ->
+    let error =
+      try List.iter (process_request server) message.requests ; None
+      with exn -> Some exn in (* re-raised after message reply *)
+    let pool = ref [] in
+    Stack.iter (fun r -> pool := r :: !pool) server.q_out ;
+    Stack.clear server.q_out ;
+    message.callback !pool ;
+    option raise error ; true
+
+(* -------------------------------------------------------------------------- *)
+(* --- Yielding                                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+let do_yield server () =
+  begin
+    option raise_if_killed server.running ;
+    let n = server.coins in
+    if n < server.rate then
+      server.coins <- succ n
+    else
+      ( server.coins <- 0 ; ignore ( communicate server ) ) ;
+  end
+
+(* -------------------------------------------------------------------------- *)
+(* --- One Step Process                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+let rec fetch_exec q =
+  if Queue.is_empty q then None
+  else
+    let e = Queue.pop q in
+    if e.killed then fetch_exec q else Some e
+
+let process server =
+  match fetch_exec server.q_in with
+  | None -> communicate server
+  | Some exec ->
+    server.running <- Some exec ;
+    try
+      reply_debug server (execute_debug server.pretty (do_yield server) exec) ;
+      server.running <- None ;
+      true
+    with exn ->
+      server.running <- None ;
+      raise exn
+
+(* -------------------------------------------------------------------------- *)
+(* --- Server Main Loop                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+let in_range ~min:a ~max:b v = min (max a v) b
+
+let kill () = raise Killed
+let yield () = !Db.progress ()
+
+let demons = ref []
+let on callback = demons := !demons @ [ callback ]
+let signal activity =
+  List.iter (fun f -> try f activity with _ -> ()) !demons
+
+let run ~pretty ?(equal=(=)) ~fetch () =
+  begin
+    let rate = in_range ~min:1 ~max:200 (Senv.Rate.get ()) in
+    let idle_ms = in_range ~min:1 ~max:2000 (Senv.Idle.get ()) in
+    let idle_s = float_of_int idle_ms /. 1000.0 in
+    let server = {
+      fetch ; coins = 0 ; rate ; equal ; pretty ;
+      q_in = Queue.create () ;
+      q_out = Stack.create () ;
+      running = None ;
+      shutdown = false ;
+    } in
+    try
+      signal true ;
+      Senv.feedback "Server running." ;
+      while not server.shutdown do
+        let activity = process server in
+        if not activity then Unix.sleepf idle_s ;
+      done ;
+      Senv.feedback "Server shutdown." ;
+      signal false ;
+    with err ->
+      Senv.feedback "Server interruped (fatal error)." ;
+      signal false ;
+      raise err
+  end
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/main.mli b/src/plugins/server/main.mli
new file mode 100644
index 0000000000000000000000000000000000000000..721291d96e9b93c4d65676fb83b216fafba39bd7
--- /dev/null
+++ b/src/plugins/server/main.mli
@@ -0,0 +1,96 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** Server Main Process *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Json.t
+type kind = [ `GET | `SET | `EXEC ]
+val string_of_kind : kind -> string
+val pp_kind : Format.formatter -> kind -> unit
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Request Registry} *)
+(* -------------------------------------------------------------------------- *)
+
+val register : kind -> string -> (json -> json) -> unit
+val find : string -> (kind * (json -> json)) option
+val exec : string -> json -> json (** @raises Not_found if not registered *)
+
+(* -------------------------------------------------------------------------- *)
+(** {2 Server Main Process} *)
+(* -------------------------------------------------------------------------- *)
+
+(** Type of request messages.
+    Parametrized by the type of request identifiers. *)
+type 'a request = [
+  | `Poll
+  | `Request of 'a * string * json
+  | `Kill of 'a
+  | `Shutdown
+]
+
+(** Type of response messages.
+    Parametrized by the type of request identifiers. *)
+type 'a response = [
+  | `Data of 'a * json
+  | `Error of 'a * string
+  | `Killed of 'a
+  | `Rejected of 'a
+]
+
+(** A paired request-response message.
+    The callback will be called exactly once for each received message. *)
+type 'a message = {
+  requests : 'a request list ;
+  callback : 'a response list -> unit ;
+}
+
+(**
+   Run a server with the provided low-level network primitives to
+   actually exchange data.
+
+   The function does not return until the server is explicitely
+   Shutdown. Logs are monitored unless [~logs:false] is specified.
+
+   Default equality is the standard `(=)` one.
+*)
+val run :
+  pretty:(Format.formatter -> 'a -> unit) ->
+  ?equal:('a -> 'a -> bool) ->
+  fetch:(unit -> 'a message option) ->
+  unit -> unit
+
+(** Yield the server during the currently running request.
+    Actually, calls [!Db.progress()]. *)
+val yield : unit -> unit
+
+(** Kills the currently running request. Actually raises an exception. *)
+val kill : unit -> 'a
+
+(** Register a callback to listen for server activity.
+    All callbacks would be executed in their order of registration.
+    They shall {i never} raise any exception. *)
+val on : (bool -> unit) -> unit
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/request.ml b/src/plugins/server/request.ml
new file mode 100644
index 0000000000000000000000000000000000000000..b355b3907879b1e91eef4345b217d39680fb98bc
--- /dev/null
+++ b/src/plugins/server/request.ml
@@ -0,0 +1,331 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+module Senv = Server_parameters
+module Jutil = Yojson.Basic.Util
+
+(* -------------------------------------------------------------------------- *)
+(* --- Request Registry                                                   --- *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Data.json
+type kind = [ `GET | `SET | `EXEC ]
+
+module type Input =
+sig
+  type t
+  val syntax : Syntax.t
+  val of_json : json -> t
+end
+
+module type Output =
+sig
+  type t
+  val syntax : Syntax.t
+  val to_json : t -> json
+end
+
+type 'a input = (module Input with type t = 'a)
+type 'a output = (module Output with type t = 'a)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Sanity Checks                                                      --- *)
+(* -------------------------------------------------------------------------- *)
+
+let re_set = Str.regexp_string_case_fold "SET"
+let re_get = Str.regexp_case_fold "\\(GET\\|PRINT\\)"
+let re_exec = Str.regexp_case_fold "\\(EXEC\\|COMPUTE\\)"
+let re_name = Str.regexp_case_fold "[a-zA-Z0-9.]+$"
+
+let wpage = Senv.register_warn_category "inconsistent-page"
+let wkind = Senv.register_warn_category "inconsistent-kind"
+
+let check_name name =
+  if not (Str.string_match re_name name 0) then
+    Senv.warning ~wkey:Senv.wname
+      "Request %S is not a dot-separated list of (camlCased) identifiers" name
+
+let check_plugin plugin name =
+  let p = String.lowercase_ascii plugin in
+  let n = String.lowercase_ascii name in
+  let k = String.length plugin in
+  if not (String.length name > k &&
+          String.sub n 0 k = p &&
+          String.get n k = '.')
+  then
+    Senv.warning ~wkey:wpage
+      "Request '%s' shall be named « %s.* »"
+      name (String.capitalize_ascii plugin)
+
+let check_page page name =
+  match Doc.chapter page with
+  | `Kernel -> check_plugin "kernel" name
+  | `Plugin plugin -> check_plugin plugin name
+  | `Protocol ->
+    Senv.warning ~wkey:wkind
+      "Request '%s' shall not be published in protocol pages" name
+
+let check_kind kind name =
+  let re,key = match kind with
+    | `GET -> re_get , "get|print"
+    | `SET -> re_set , "set"
+    | `EXEC -> re_exec , "exec|compute"
+  in try ignore (Str.search_forward re name 0) with Not_found ->
+    Senv.warning "Request '%s' shall be named with « %s »"
+      name key
+
+(* -------------------------------------------------------------------------- *)
+(* --- Multiple Fields Requests                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Fmap = Map.Make(String)
+
+type rq = {
+  mutable param : json Fmap.t ;
+  mutable result : json Fmap.t ;
+}
+
+let fmap_of_json r js =
+  List.fold_left
+    (fun r (fd,js) -> Fmap.add fd js r)
+    r (Jutil.to_assoc js)
+
+let fmap_to_json r =
+  `Assoc (Fmap.fold (fun fd js r -> (fd,js)::r) r [])
+
+type 'a param = rq -> 'a
+type 'a result = rq -> 'a -> unit
+
+(* -------------------------------------------------------------------------- *)
+(* --- Input/Output Request Processing                                    --- *)
+(* -------------------------------------------------------------------------- *)
+
+type _ rq_input =
+  | Pnone
+  | Pdata : 'a input -> 'a rq_input
+  | Pfields : Syntax.field list -> unit rq_input
+
+type _ rq_output =
+  | Rnone
+  | Rdata : 'a output -> 'a rq_output
+  | Rfields : Syntax.field list -> unit rq_output
+
+(* json input syntax *)
+let sy_input (type a) (input : a rq_input) : Syntax.t =
+  match input with
+  | Pnone -> assert false
+  | Pdata d -> let module D = (val d) in D.syntax
+  | Pfields _ -> Syntax.record []
+
+(* json output syntax *)
+let sy_output (type b) (output : b rq_output) : Syntax.t =
+  match output with
+  | Rnone -> assert false
+  | Rdata d -> let module D = (val d) in D.syntax
+  | Rfields _ -> Syntax.record []
+
+(* json input documentation *)
+let doc_input (type a) (input : a rq_input) : Markdown.block =
+  match input with
+  | Pnone -> assert false
+  | Pdata _ -> Markdown.empty
+  | Pfields fs -> Syntax.fields ~title:"Input" (List.rev fs)
+
+(* json output syntax *)
+let doc_output (type b) (output : b rq_output) : Markdown.block =
+  match output with
+  | Rnone -> assert false
+  | Rdata _ -> Markdown.empty
+  | Rfields fs -> Syntax.fields ~title:"Output" (List.rev fs)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Multi-Parameters Requests                                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+type ('a,'b) signature = {
+  page : Doc.page ;
+  kind : kind ;
+  name : string ;
+  descr : Markdown.text ;
+  details : Markdown.block ;
+  mutable defined : bool ;
+  mutable defaults : json Fmap.t ;
+  mutable required : string list ;
+  mutable input : 'a rq_input ;
+  mutable output : 'b rq_output ;
+}
+
+let failure_missing fmap name =
+  Data.failure (fmap_to_json fmap) "Missing parameter '%s'" name
+
+let check_required fmap fd =
+  if not (Fmap.mem fd fmap) then failure_missing fmap fd
+
+(* -------------------------------------------------------------------------- *)
+(* --- Named Input Parameters Definitions                                 --- *)
+(* -------------------------------------------------------------------------- *)
+
+(* current input fields *)
+let fds_input s : Syntax.field list =
+  if s.defined then Senv.failure "Request '%s' has been finalized." s.name ;
+  match s.input with
+  | Pdata _ ->
+    Senv.fatal "Can not define named parameters for request '%s'" s.name
+  | Pnone -> []
+  | Pfields fds -> fds
+
+let param (type a b) (s : (unit,b) signature) ~name ~descr
+    ?default (input : a input) : a param =
+  let module D = (val input) in
+  let syntax = if default = None then D.syntax else Syntax.option D.syntax in
+  let fd = Syntax.{ name ; syntax ; descr } in
+  s.input <- Pfields (fd :: fds_input s) ;
+  fun rq ->
+    try D.of_json (Fmap.find name rq.param)
+    with Not_found ->
+    match default with
+    | None -> failure_missing rq.param name
+    | Some v -> v
+
+let param_opt (type a b) (s : (unit,b) signature) ~name ~descr
+    (input : a input) : a option param =
+  let module D = (val input) in
+  let fd = Syntax.{ name ; syntax = Syntax.option D.syntax ; descr } in
+  s.input <- Pfields (fd :: fds_input s) ;
+  fun rq ->
+    try Some(D.of_json (Fmap.find name rq.param))
+    with Not_found -> None
+
+(* -------------------------------------------------------------------------- *)
+(* --- Named Output Parameters Definitions                                --- *)
+(* -------------------------------------------------------------------------- *)
+
+(* current output fields *)
+let fds_output s : Syntax.field list =
+  if s.defined then Senv.failure "Request '%s' has been finalized." s.name ;
+  match s.output with
+  | Rdata _ -> Senv.fatal "Can not define named results request '%s'" s.name
+  | Rnone -> []
+  | Rfields fds -> fds
+
+let result (type a b) (s : (a,unit) signature) ~name ~descr
+    ?default (output : b output) : b result =
+  let module D = (val output) in
+  let fd = Syntax.{ name ; syntax = D.syntax ; descr } in
+  s.output <- Rfields (fd :: fds_output s) ;
+  begin
+    match default with
+    | None -> s.required <- name :: s.required
+    | Some v -> s.defaults <- Fmap.add name (D.to_json v) s.defaults
+  end ;
+  fun rq v -> rq.result <- Fmap.add name (D.to_json v) rq.result
+
+let result_opt (type a b) (s : (a,unit) signature) ~name ~descr
+    (output : b output) : b option result =
+  let module D = (val output) in
+  let fd = Syntax.{ name ; syntax = option D.syntax ; descr } in
+  s.output <- Rfields (fd :: fds_output s) ;
+  fun rq opt ->
+    match opt with None -> () | Some v ->
+      rq.result <- Fmap.add name (D.to_json v) rq.result
+
+(* -------------------------------------------------------------------------- *)
+(* --- Opened Signature Definition                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+let signature
+    ~page ~kind ~name ~descr ?(details=Markdown.empty)
+    ?input ?output () =
+  check_name name ;
+  check_page page name ;
+  check_kind kind name ;
+  let input = match input with None -> Pnone | Some d -> Pdata d in
+  let output = match output with None -> Rnone | Some d -> Rdata d in
+  {
+    page ; kind ; name ; descr ; details ;
+    defaults = Fmap.empty ; required = [] ;
+    input ; output ; defined = false ;
+  }
+
+(* -------------------------------------------------------------------------- *)
+(* --- Opened Signature Process                                           --- *)
+(* -------------------------------------------------------------------------- *)
+
+(* json input processing *)
+let mk_input (type a) name defaults (input : a rq_input) : (rq -> json -> a) =
+  match input with
+  | Pnone -> Senv.fatal "No input defined for request '%s'" name
+  | Pdata d ->
+    let module D = (val d) in
+    (fun rq js -> rq.result <- defaults ; D.of_json js)
+  | Pfields _ ->
+    (fun rq js -> rq.param <- fmap_of_json rq.param js)
+
+(* json output processing *)
+let mk_output (type b) name required (output : b rq_output) : (rq -> b -> json) =
+  match output with
+  | Rnone -> Senv.fatal "No output defined for request '%s'" name
+  | Rdata d ->
+    let module D = (val d) in (fun _rq v -> D.to_json v)
+  | Rfields _ ->
+    (fun rq () ->
+       List.iter (check_required rq.result) required ;
+       fmap_to_json rq.result)
+
+let register_sig (type a b) (s : (a,b) signature) (process : rq -> a -> b) =
+  if s.defined then
+    Senv.fatal "Request '%s' is defined twice" s.name ;
+  let input = mk_input s.name s.defaults s.input in
+  let output = mk_output s.name s.required s.output in
+  let processor js =
+    let rq = { param = Fmap.empty ; result = Fmap.empty } in
+    js |> input rq |> process rq |> output rq
+  in
+  let skind = Main.string_of_kind s.kind in
+  let title =  Printf.sprintf "`%s` %s" skind s.name in
+  let synopsis =
+    Markdown.table
+      [`Center "Input" ; `Center "Output" ]
+      [[ Syntax.format @@ sy_input s.input ;
+         Syntax.format @@ sy_output s.output ]] in
+  let content =
+    Markdown.concat [
+      Markdown.par s.descr ;
+      synopsis ;
+      s.details ;
+      doc_input s.input ;
+      doc_output s.output ;
+    ] in
+  let _ = Doc.publish ~page:s.page ~name:s.name ~title content [] in
+  Main.register s.kind s.name processor ;
+  s.defined <- true
+
+(* -------------------------------------------------------------------------- *)
+(* --- Request Registration                                               --- *)
+(* -------------------------------------------------------------------------- *)
+
+let register ~page ~kind ~name ~descr ?details ~input ~output process =
+  register_sig
+    (signature ~page ~kind ~name ~descr ?details ~input ~output ())
+    (fun _rq v -> process v)
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/request.mli b/src/plugins/server/request.mli
new file mode 100644
index 0000000000000000000000000000000000000000..c855405cb85088b1d88e60660a5a6e86e268493e
--- /dev/null
+++ b/src/plugins/server/request.mli
@@ -0,0 +1,195 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** Request Registry *)
+(* -------------------------------------------------------------------------- *)
+
+type json = Data.json
+type kind = [ `GET | `SET | `EXEC ]
+
+module type Input =
+sig
+  type t
+  val syntax : Syntax.t
+  val of_json : json -> t
+end
+
+module type Output =
+sig
+  type t
+  val syntax : Syntax.t
+  val to_json : t -> json
+end
+
+type 'a input = (module Input with type t = 'a)
+type 'b output = (module Output with type t = 'b)
+
+(** {2 Simple Requests Registration} *)
+
+(** Register a simple request of type [(a -> b)].
+
+    Name, page and kind must be consistent with each others:
+     - No publication on [`Protocol] pages
+     - Kernel requests shall starts with ["Kernel.*"]
+     - Plugin requests shall starts with ["<Plugin>.*"]
+     - SET requests must contain ["set"] (case insensitive)
+     - GET requests must contain ["get"] or ["print"] (case insensitive)
+     - EXEC requests must contain ["exec"] or ["compute"] (case insensitive)
+
+*)
+val register :
+  page:Doc.page ->
+  kind:kind ->
+  name:string ->
+  descr:Markdown.text ->
+  ?details:Markdown.block ->
+  input:'a input ->
+  output:'b output ->
+  ('a -> 'b) -> unit
+
+(** {2 Requests with Named Parameters}
+
+    The API below allows for creating requests with
+    named and optional parameters. Although such requests
+    could be defined with simple registration and {i record} datatypes,
+    the helpers below allow more flexibility and a better correspondance
+    between optional parameters and OCaml option types.
+
+    To register a request with named parameters and/or named results,
+    you first create a {i signature}. Then you define named
+    parameters and results, and finally you {i register} the processing
+    function:
+
+    {[
+      (* ---- Exemple of Request Registration --- *)
+      let () =
+        let s = Request.signature ~page ~kind ~name ~descr () in
+        let get_a = Request.param s ~name:"a" ~descr:"..." (module A) in
+        let get_b = Request.param s ~name:"b" ~descr:"..." (module B) in
+        let set_c = Request.result s ~name:"c" ~descr:"..." (module C) in
+        let set_d = Request.result s ~name:"d" ~descr:"..." (module D) in
+        Request.register_sig s
+          (fun rq () ->
+             let (c,d) = some_job (get_a rq) (get_b rq) in
+             set_c rq c ; set_d rq d)
+    ]}
+
+*)
+
+(** Under definition request signature. *)
+type ('a,'b) signature
+
+(** Create an opened request signature.
+    Depending on whether [~input] and [~output] datatype are provided,
+    you shall define named parameters and results before registering the
+    request processing function. *)
+val signature :
+  page:Doc.page ->
+  kind:kind ->
+  name:string ->
+  descr:Markdown.text ->
+  ?details:Markdown.block ->
+  ?input:'a input ->
+  ?output:'b output ->
+  unit -> ('a,'b) signature
+
+(** Request JSON parameters. *)
+type rq
+
+(** Named input parameter. *)
+type 'a param = rq -> 'a
+
+(** Named output parameter. *)
+type 'b result = rq -> 'b -> unit
+
+(** Register the request JSON processing function.
+    This call finalize the signature definition and shall be called
+    once on the signature. *)
+val register_sig : ('a,'b) signature -> (rq -> 'a -> 'b) -> unit
+
+(** {2 Named Parameters and Results}
+
+    The functions bellow must be called on a freshly created signature
+    {i before} its final registration. The obtained getters and setters
+    shall be only used within the registered process.
+
+    The correspondance between input/output JSON syntax and OCaml values
+    is summarized in the tables below.Abstract_domain
+
+    For named input parameters:
+    [
+
+        API:                    Input JSON   OCaml Getter
+        -----------------------------------------------------------------------
+        Request.param            { f: a  }    'a (* might raise an exception *)
+        Request.param ~default   { f: a? }    'a (* defined by default *)
+        Request.param_opt        { f: a? }    'a option
+
+    ]
+
+
+    For named output parameters:
+    [
+
+        API:                    Input JSON   OCaml Setter
+        ----------------------------------------------------------------------
+        Request.result           { f: a  }    'a (* shall be set by process *)
+        Request.result ~default  { f: a  }    'a (* defined by default *)
+        Request.result_opt       { f: a? }    'a option
+
+    ]
+
+*)
+
+
+(** Named input parameter. If a default value is provided,
+    the JSON input field becomes optional. Otherwized, it is required. *)
+val param : (unit,'b) signature ->
+  name:string ->
+  descr:Markdown.text ->
+  ?default:'a ->
+  'a input -> 'a param
+
+(** Named optional input parameter. *)
+val param_opt : (unit,'b) signature ->
+  name:string ->
+  descr:Markdown.text ->
+  'a input -> 'a option param
+
+(** Named output parameter. If a default value is provided,
+    the JSON output field is initialized with it.
+    Otherwized, it shall be set at each invocation of the request processing
+    funciton. *)
+val result : ('a,unit) signature ->
+  name:string ->
+  descr:Markdown.text ->
+  ?default:'b ->
+  'b output -> 'b result
+
+(** Named optional output parameter. The initial value is set to [None]. *)
+val result_opt : ('a,unit) signature ->
+  name:string ->
+  descr:Markdown.text ->
+  'b output -> 'b option result
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/server_batch.ml b/src/plugins/server/server_batch.ml
new file mode 100644
index 0000000000000000000000000000000000000000..0aa3c03b310a2c1104baf91a712a17bd17a9f01b
--- /dev/null
+++ b/src/plugins/server/server_batch.ml
@@ -0,0 +1,106 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Only Compiled when package Zmq is installed *)
+(* No interface, registered via side-effects   *)
+
+(* -------------------------------------------------------------------------- *)
+(* --- ZeroMQ Server Options                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Senv = Server_parameters
+
+let batch_group = Senv.add_group "Protocol BATCH"
+
+let () = Parameter_customize.set_group batch_group
+module Batch = Senv.String_list
+    (struct
+      let option_name = "-server-batch"
+      let arg_name = "file.json,..."
+      let help =
+        "Executes all requests in each <file.json>, and save the \
+         associated results in <file.out.json>."
+    end)
+
+let _ = Doc.page `Protocol ~title:"Batch Protocol" ~filename:"server_batch.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- Execute JSON                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Js = Yojson.Basic
+module Ju = Yojson.Basic.Util
+
+let pretty = Js.pretty_print ~std:false
+
+let execute_command js =
+  let request = Ju.member "request" js |> Ju.to_string in
+  let id = Ju.member "id" js in
+  let data = Ju.member "data" js in
+  match Main.find request with
+  | None ->
+    Senv.error "[batch] %a: request %S not found" pretty id request ;
+    `Assoc [ "id" , id ; "error" , `String "request not found" ]
+  | Some (kind,handler) ->
+    try
+      Senv.feedback "[%a] %s" Main.pp_kind kind request ;
+      `Assoc [ "id" , id ; "data" , handler data ]
+    with Ju.Type_error(msg,js) ->
+      Senv.error "[%s] incorrect encoding:@\n%s@\n@[<hov 2>At: %a@]@."
+        request msg pretty js ;
+      `Assoc [ "id" , id ; "error" , `String msg ; "at" , js ]
+
+let rec execute_batch js =
+  match js with
+  | `Null -> `Null
+  | `List js -> `List (List.map execute_batch js)
+  | js ->
+    try execute_command js
+    with Ju.Type_error(msg,js) ->
+      Senv.error "[batch] incorrect encoding:@\n%s@\n@[<hov 2>At: %a@]@."
+        msg pretty js ;
+      `Null
+
+(* -------------------------------------------------------------------------- *)
+(* --- Execute the Scripts                                                --- *)
+(* -------------------------------------------------------------------------- *)
+
+let execute () =
+  begin
+    List.iter
+      begin fun file ->
+        Senv.feedback "Script %S" file ;
+        let response = execute_batch (Js.from_file file) in
+        let output = Filename.remove_extension file ^ ".out.js" in
+        Senv.feedback "Output %S" output ;
+        Js.to_file output response ;
+      end
+      (Batch.get()) ;
+  end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Run the Server from the Command line                               --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Db.Main.extend execute
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/server_parameters.ml b/src/plugins/server/server_parameters.ml
new file mode 100644
index 0000000000000000000000000000000000000000..76a572cdf0cbd164afcf0c948b5fec0f9f40e9a6
--- /dev/null
+++ b/src/plugins/server/server_parameters.ml
@@ -0,0 +1,70 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Server Plugin & Options                                            --- *)
+(* -------------------------------------------------------------------------- *)
+
+module P = Plugin.Register
+    (struct
+      let name = "Server"
+      let shortname = "server"
+      let help = "Frama-C Request Server"
+    end)
+
+include P
+
+module Idle = P.Int
+    (struct
+      let option_name = "-server-idle"
+      let arg_name = "ms"
+      let default = 10
+      let help = "Waiting time (in milliseconds) when idle"
+    end)
+
+module Rate = P.Int
+    (struct
+      let option_name = "-server-rate"
+      let arg_name = "n"
+      let default = 100
+      let help = "Number of analysis steps between server communications"
+    end)
+
+module Doc = P.String
+    (struct
+      let option_name = "-server-doc"
+      let arg_name = "dir"
+      let default = ""
+      let help = "Output a markdown documentation of the server in <dir>"
+    end)
+
+module Log = P.False
+    (struct
+      let option_name = "-server-logs"
+      let help = "Start (or stop) monitoring logs"
+    end)
+
+let wpage = register_warn_category "inconsistent-page"
+let wkind = register_warn_category "inconsistent-kind"
+let wname = register_warn_category "invalid-name"
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/server_parameters.mli b/src/plugins/server/server_parameters.mli
new file mode 100644
index 0000000000000000000000000000000000000000..5dc5ad153438ddc07353cb1b93cc59f22d4e91de
--- /dev/null
+++ b/src/plugins/server/server_parameters.mli
@@ -0,0 +1,36 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(** Server Plugin & Options *)
+
+include Plugin.General_services
+
+module Idle : Parameter_sig.Int (** Idle waiting time (in ms) *)
+module Rate : Parameter_sig.Int (** Number of fetch per yield *)
+module Doc : Parameter_sig.String (** Generate documentation *)
+module Log : Parameter_sig.Bool (** Monitor logs *)
+
+val wpage : warn_category (** Inconsistent page warning *)
+val wkind : warn_category (** Inconsistent category warning *)
+val wname : warn_category (** Invalid name warning *)
+
+(**************************************************************************)
diff --git a/src/plugins/server/server_zmq.ml b/src/plugins/server/server_zmq.ml
new file mode 100644
index 0000000000000000000000000000000000000000..82d2ce4316762eb1f638f499c928eb15000d2442
--- /dev/null
+++ b/src/plugins/server/server_zmq.ml
@@ -0,0 +1,141 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Only Compiled when package Zmq is installed *)
+(* No interface, registered via side-effects   *)
+
+(* -------------------------------------------------------------------------- *)
+(* --- ZeroMQ Server Options                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Senv = Server_parameters
+
+let zmq_group = Senv.add_group "Protocol ZeroMQ"
+
+let () = Parameter_customize.set_group zmq_group
+module Enabled = Senv.String
+    (struct
+      let option_name = "-server-zmq"
+      let arg_name = "url"
+      let default = ""
+      let help = "Establish a ZeroMQ server and listen for connections"
+    end)
+
+let _ = Doc.page `Protocol ~title:"ZeroMQ Protocol" ~filename:"server_zmq.md"
+
+(* -------------------------------------------------------------------------- *)
+(* --- ZMQ Context                                                        --- *)
+(* -------------------------------------------------------------------------- *)
+
+let context =
+  let zmq = ref None in
+  fun () ->
+    match !zmq with
+    | Some ctxt -> ctxt
+    | None ->
+      let major,minor,patch = Zmq.version () in
+      Senv.feedback "ZeroMQ %d.%d.%d" major minor patch ;
+      let ctxt = Zmq.Context.create () in
+      at_exit (fun () -> Zmq.Context.terminate ctxt) ;
+      zmq := Some ctxt ; ctxt
+
+(* -------------------------------------------------------------------------- *)
+(* --- Decoding Requests                                                  --- *)
+(* -------------------------------------------------------------------------- *)
+
+exception WrongEncoding of string
+
+let jdecode txt =
+  try Yojson.Basic.from_string txt
+  with exn ->
+    (* Exception if purely local from Yojson *)
+    raise (WrongEncoding (Printexc.to_string exn))
+
+let jencode js =
+  try Yojson.Basic.to_string ~std:false js
+  with exn ->
+    (* Exception if purely local from Yojson *)
+    raise (WrongEncoding (Printexc.to_string exn))
+
+let rec decode = function
+  | ("GET"|"SET"|"EXEC")::id::request::data :: w ->
+    `Request(id,request,jdecode data) :: decode w
+  | "KILL"::id:: w -> `Kill id :: decode w
+  | "POLL" :: w -> `Poll :: decode w
+  | "SHUTDOWN" :: _ -> [`Shutdown]
+  | cmd::_ -> raise (WrongEncoding cmd)
+  | [] -> []
+
+let rec encode = function
+  | `Data(id,data) :: w -> "DATA" :: id :: jencode data :: encode w
+  | `Error(id,msg) :: w -> "ERROR" :: id :: msg :: encode w
+  | `Killed id :: w -> "KILLED" :: id :: encode w
+  | `Rejected id :: w -> "REJECTED" :: id :: encode w
+  | [] -> []
+
+(* -------------------------------------------------------------------------- *)
+(* --- ZMQ Messages                                                       --- *)
+(* -------------------------------------------------------------------------- *)
+
+let callback socket responses =
+  try
+    let msg = encode responses in
+    Zmq.Socket.send_all socket (if msg = [] then ["NONE"] else msg)
+  with WrongEncoding msg ->
+    Zmq.Socket.send_all socket [ "WRONG" ; msg ]
+
+let fetch socket () =
+  try
+    let msg = Zmq.Socket.recv_all ~block:false socket in
+    try Some Main.{ requests = decode msg ; callback = callback socket }
+    with WrongEncoding msg ->
+      Zmq.Socket.send_all socket [ "WRONG" ; msg ] ; None
+  with
+  | Unix.Unix_error( Unix.EAGAIN , _ , _ ) -> None
+  | Zmq.ZMQ_exception(_,msg) -> Senv.fatal "ZeroMQ error: %s" msg
+
+(* -------------------------------------------------------------------------- *)
+(* --- Establish the Server                                               --- *)
+(* -------------------------------------------------------------------------- *)
+
+let establish url =
+  if url <> "" then
+    begin
+      let context = context () in
+      let socket = Zmq.Socket.(create context rep) in
+      try
+        Zmq.Socket.bind socket url ;
+        Senv.feedback "ZeroMQ [%s]" url ;
+        Main.run ~pretty:Format.pp_print_string ~fetch:(fetch socket) () ;
+        Zmq.Socket.close socket ;
+      with exn ->
+        Zmq.Socket.close socket ;
+        raise exn
+    end
+
+(* -------------------------------------------------------------------------- *)
+(* --- Establish the Server from Command line                             --- *)
+(* -------------------------------------------------------------------------- *)
+
+let () = Db.Main.extend (fun () -> establish (Enabled.get ()))
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/share/kernel/ast.md b/src/plugins/server/share/kernel/ast.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5aaa2d57d7967f620d4cd9cc363691d9df7ddef
--- /dev/null
+++ b/src/plugins/server/share/kernel/ast.md
@@ -0,0 +1,15 @@
+# Ast Services
+
+The Frama-C internal representation of source files need to be computed before
+being accessed.  This generally involves preprocessing of sources and finally
+parsing, typechecking and normalization.
+
+Although this step is generally performed silently on-demand inside Frama-C,
+from the Server point of view, this is a non-trivial procedure that should _not_ be
+triggered outside an `EXEC` request.
+
+Hence, most AST services might fail or return empty data if the AST has not been
+actually computed before. However, in typical usage of Frama-C from the
+command-line, the AST would have been computed just before any other plug-in,
+including the Server.
+
diff --git a/src/plugins/server/share/kernel/kernel.md b/src/plugins/server/share/kernel/kernel.md
new file mode 100644
index 0000000000000000000000000000000000000000..394e2a7b0e2a5aded0eae70c8f361c78afdf5401
--- /dev/null
+++ b/src/plugins/server/share/kernel/kernel.md
@@ -0,0 +1,21 @@
+# Kernel Services
+
+This section deals with requests related to the management
+of the Frama-C platform and services offered by the kernel.
+This covers several topics: configuration, logs.
+
+Configuration deals with versioning and resource directories.
+Project services allow to work with several Frama-C projects.
+
+Logs are automatically tracked by the server plug-in and queued.
+This monitoring can be controlled by `Kernel.SetLogs` command, but by
+default, monitoring is turned on as soon as some server is started
+(except for the batch server). The `Kernel.GetLogs` allow to flush this queue,
+with a maximum number of messages. Non-flushed messages
+can be recovered by subsequent calls, until the requests replies with an empty
+message set.
+
+However, logs emitted prior to the execution of a server, or after its shutdown,
+are _not_ collected by default. To enable this monitoring, for instance to collect
+messages before the server is started, you shall set the `-server-logs` option, which
+takes effect at configuration time (you can also use `... -then -server-logs ...`).
diff --git a/src/plugins/server/share/kernel/project.md b/src/plugins/server/share/kernel/project.md
new file mode 100644
index 0000000000000000000000000000000000000000..79715b8efc3e93df73d1943768f9394ddbc27f3c
--- /dev/null
+++ b/src/plugins/server/share/kernel/project.md
@@ -0,0 +1,17 @@
+# Project Management
+
+The Frama-C current project can be managed with the server requests provided below.
+
+## Current Project
+
+Initially, the current project is the one selected when the server starts.
+Hence, from the Frama-C command line, `-then-on <P> -server-xxx`
+would start the server with current project `<P>`.
+
+When modifying the current project through request `Kernel.Project.SetCurrent`,
+client shall wait for an acknowledgement before sending further `GET` requests.
+Otherwise, the `GET` might be executed on a different project, due to the
+asynchronous behavior of the server.
+
+However, it is still possible to execute a request on a specific project with
+`Kernel.Project.{Get|Set|Exec}On` requests.
diff --git a/src/plugins/server/share/kernel/text.md b/src/plugins/server/share/kernel/text.md
new file mode 100644
index 0000000000000000000000000000000000000000..b73c79016e9a72b0ed8c3873527b030b23f22161
--- /dev/null
+++ b/src/plugins/server/share/kernel/text.md
@@ -0,0 +1,47 @@
+# Rich Text Format
+
+In various place of the server, the Frama-C requests might return
+rich-text format, which is text annotated with special tags,
+for tagging or styling purpose.
+
+The JSON encoding of rich-text is defined by the _text_ type, which takes one
+of the following possible formats:
+
+| Format | Description |
+|:------:|:------------|
+| `"null"` | Empty text |
+| _string_ | Standard UTF-8 text |
+| `[` (_tag_`,`)? _text_`,`…`,` _text_ `]` | Sequence of text with an optional tag |
+
+Tags are simple strings, not to be printed, that encode the style or tag to
+apply on the sequence. Tags starting with a sharp (`"#…"`) must be understood as
+semantic tags, with a meaning depending on the context. Tags starting with
+a dot (`".…"`) shall be understood as style names. Other values must be understand
+as regular text.
+
+The empty tag (`""`) shall be ignored, but can used to group sequence of text
+together. Concatenation of sequence of text must be performed without any
+spacing or cut in the between.
+
+Text blocks can be nested. For instance, considerer the following JSON
+encoding:
+
+<pre>
+[
+  "This ",
+  [
+    "#frama-c-server-doc",
+    "Frama", [ ".tt", "-C" ], " server"
+  ],
+  " is ", [ ".it", "awesome" ], " isn't it?"
+]
+</pre>
+
+Provided the `#frama-c-server-doc` semantic is understood as a link to the
+main page of the Frama-C server documentation, the designated rich-text
+shall be printed as:
+
+>  This [Frama-`C` server](../readme.md) is _awesome_ isn't it?
+
+The precise meaning of styles and semantic tags might depends on the context,
+and is detailed in each occurence of _text_ format.
diff --git a/src/plugins/server/share/protocol/server.md b/src/plugins/server/share/protocol/server.md
new file mode 100644
index 0000000000000000000000000000000000000000..1e479798cef4eba9c42ebf5412a5886e77e6feae
--- /dev/null
+++ b/src/plugins/server/share/protocol/server.md
@@ -0,0 +1,131 @@
+# Architecture
+
+The Server plug-in provides a _remote procedure call_ (RPC) interface to foreign
+applications.  The protocol is organized in three logic layers, organized as
+follows:
+
+1. Many external entry points, based on various networking and system facilities
+2. A generic logic run-time responsible for scheduling the requests coming from
+   the various entry points
+3. The Frama-C implementation of requests handler, at the kernel or plug-in
+   level
+
+The intermediate, logic layer, is responsible for adding a small bit of
+parallelism upon the intrinsically synchronous behavior of Frama-C. This makes
+Frama-C resembling an asynchronous RPC server.
+
+The externally visible layer is only focused on transporting external requests
+to the logic layer, and transporting back the results to the caller. The only
+requirement for an entry point is to be able to transport a sequence of 1-input
+message for 1-output message over time.
+
+The concrete layer is implemented by the Frama-C kernel and its plug-ins. All
+requests must be registered _via_ the Frama-C Server OCaml API in order to be
+accessible from the entry-points. Some parts of this documentation are
+automatically generated from the registered requests.
+
+## Logical Requests
+
+From a functional point of view, requests are remote procedures with input
+data that reply with output data. Each request is identified by a unique name.
+Input and output parameters are encoded into JSON values.
+
+To adapt the internal synchronous Frama-C implementation with the external
+asynchronous entry points, requests are classified into three kinds:
+
+- `GET` to instantaneously return data from the internal state of Frama-C
+- `SET` to instantaneously modifies the state or configure Frama-C plug-ins
+- `EXEC` to starts a resource intensive analysis in Frama-C
+
+During an `EXEC` requests, the implementation of the all resource demanding
+computations shall repeatedly call the yielding routine `!Db.progress()` of the
+Frama-C kernel to ensures a smooth asynchronous behavior of the Server. During a
+_yield_ call, the Server would be allowed to handle few `GET` pending requests,
+since they shall be fast without any modification. When the server is idled, any
+kind of requests can be started.
+
+To summarize:
+
+| Request | During Yields | Allowed to Yield | Computation  |
+|:--------|:-------------:|:----------------:|:------------:|
+| `GET`   | ✓ | - | fast, pure |
+| `SET`   | - | - | fast, side-effects |
+| `EXEC`  | - | ✓ | resource demanding |
+
+## Transport Messages
+
+From the entry points layer, the asynchronous behavior of the Server makes
+output data and input data to be dispatched into different messages. However,
+from the Client side, we still want to have _one_ response message for each
+incoming message. However, answer messages might contains output data from
+potentially _any_ previously received requests.
+
+When the client has no more requests to send, but is simply waiting for pending
+requests responses, it must periodically send _polling_ requests to simply get
+back the expected responses.
+
+To implement those features, the Client-Server protocol consists of a sequence of
+paired _intput messages_ and _output messages_. Each single input message consists of
+a list of _commands_:
+
+| Commands | Parameters | Description |
+|:--------:|:----------:|:------------|
+| `POLL` | - | Ask for pending responses, if any |
+| `GET` | `id,request,data` | En-queue the given GET request |
+| `SET` | `id,request,data` | En-queue the given SET request |
+| `EXEC` | `id,request,data` | En-queue the given EXEC request |
+| `KILL` | `id` | Cancel the given request or interrupt its execution |
+| `SHUTDOWN` | - | Makes the server to stop running |
+
+Similarly, a single output message consists of a list
+of _replies_, listed in table below:
+
+| Replies  | Parameters | Description |
+|:--------:|:----------:|:------------|
+| `DATA` | `id,data` | Response data from the identified request |
+| `ERROR` | `id,message` | Error message from the identified request |
+| `KILLED` | `id` | The identified request has been killed or interrupted |
+| `REJECTED` | `id` | The identified request was not registered on the Server |
+
+The logic layer makes no usage of _identifiers_ and simply pass them unchanged into
+output messages in response to received requests.
+
+At the transport message layer, input and output data are made of a
+single `JSON` encoded value. Requests are identified by string, and
+request identifiers can be of any type from the entry-points.
+
+**Remark** the `GET`, `SET` or `EXEC` behavior of a request is actually defined
+by the request implementation, from the Frama-C internal side. The Server will
+silently ignore the request kind from the incoming messages and use the actual
+internal one instead.  The distinction still appears in the transport protocol
+only for a purpose of information, as clients shall know what they are asking
+for.
+
+## Entry Points
+
+Implementations of entry points layers shall provide a non-blocking `fetch`
+function that possibly returns a list of commands, associated with a
+callback for emitting the paired list of replies. The Server main
+loop is guaranteed to invoke the callback exactly once.
+
+The Server plug-in implements two entry-points, however, other Frama-C plugins might
+implement their own entry-points and call the `Server.Main.run ~fetch ()` function
+to make the server starting and exchanging messages with the external world.
+
+## Request Implementations
+
+It is the responsibility of Frama-C plug-ins to implement and register requests
+into the Server to make them accessible _via_ any entry point. Whereas data is
+encoded into JSON structures at the transport layer, requests are processes with
+well typed OCaml types from the internal side.
+
+Hence, the requests implementations also requires data encoder and decoders to
+be defined. Some predefined data types are provided by the Server plug-in, but
+more complex types can be defined and shared among plug-ins _via_ the
+`Server.Data` module factory.
+
+Registration of requests, data encoder and decoders always comes with their
+markdown documentation thanks to the `Markdown` library provided by the Frama-C
+kernel. Hence, a full documentation of all implemented requests with their data
+formats can be generated consistently at any time. See option `-server-doc` of the
+Server plug-in for more details.
diff --git a/src/plugins/server/share/protocol/server_batch.md b/src/plugins/server/share/protocol/server_batch.md
new file mode 100644
index 0000000000000000000000000000000000000000..1092cc6c5b2a28c8822db87182d5dde7c307ff18
--- /dev/null
+++ b/src/plugins/server/share/protocol/server_batch.md
@@ -0,0 +1,31 @@
+# Batch Protocol
+
+This section presents a Frama-C command-line entry point to Server requests.
+Although it is not full-featured server entry point, it allows for executing
+requests from the command line or JSON scripts.
+
+The `-server-script` option of the Frama-C/Server plug-in takes a (list of)
+script file `<file.json>`, parse it and execute its commands, and output the
+reponses in file `<file.out.json>`.
+
+## Input Script Format
+
+A JSON script is either a single JSON command or an array of JSON commands, or `null`.
+Each command is a record with the following fields:
+
+| Input Field | Format | Description |
+|:------|:-------|:-----------:|
+| `id` | _any_ ? | The command identifier (optional) |
+| `request` | _string_ | The request name |
+| `data` | _any_ | The request input parameters |
+
+## Output Script Format
+
+Each command leads to an assiated JSON record, with the following fields:
+
+| Output Field | Format | Description |
+|:------|:-------|:-----------:|
+| `id` | _any_ ? | The command identifier (as provided in input) |
+| `data` | _any_ ? | The request output parameters (if successfull) |
+| `error` | _string_ ? | The request error message (in case of occurence) |
+| `at` | _any_ ? | Wrongly encoded part of the request (when appropriate) |
diff --git a/src/plugins/server/share/protocol/server_zmq.md b/src/plugins/server/share/protocol/server_zmq.md
new file mode 100644
index 0000000000000000000000000000000000000000..f510a31888e81e509a0635425bf6a9ef3cbf75e2
--- /dev/null
+++ b/src/plugins/server/share/protocol/server_zmq.md
@@ -0,0 +1,62 @@
+# ZeroMQ Protocol
+
+This section presents a [ZeroMQ](http://zeromq.org) based entry point for Frama-C Server.
+It is activated by option `-server-zmq <URL>` option of the Server plug-in, which is compiled
+when the OCaml package `zmq` is detected at Frama-C configure time.
+
+The protocol builds a ZeroMQ socket of type `REP` which is the standard for a request server.
+It is meant for accepting connection from a ZeroMQ socket of type `REQ` on the same `URL`.
+The paired `REP`-`REQ` sockets use
+[ZeroMQ multi-part messages](http://zguide.zeromq.org/page:all#Multipart-Messages) to transfer data.
+
+A typical example to start a Frama-C server for inter-process communication is:
+
+```shell
+$ frama-c [options...] -then -server-zmq ipc:///tmp/my-server.io
+```
+
+## Input Message Format
+
+Each input message consists of a list of commands. Each command takes
+a fixed number of parts from the incomming ZeroMQ message. The first part
+of each command is a single string identifying the command:
+
+| Commands | Parts | Part 1 | Part 2 | Part 3 | Part 4 |
+|:--------|:-----:|:-------|:-------|:-------|:-------|
+| `POLL()` | 1    | `"POLL"` | | | |
+| `GET(id,request,data)` | 4 | `"GET"` | id | request | data |
+| `SET(id,request,data)` | 4 | `"SET"` | id | request | data |
+| `EXEC(id,request,data)` | 4 | `"EXEC"` | id | request | data |
+| `KILL(id)` | 2 | `"KILL"` | id | | |
+| `SHUTDOWN` | 1 | `"SHUTDOWN"` | | | |
+
+## Output Message Format
+
+Each output message consists of a list of replies. Each reply takes
+a fixed number of parts from the incomming ZeroMQ message. The first part
+of each reply is a finel string identifying the reply:
+
+| Replies | Parts | Part 1 | Part 2 | Part 3 |
+|:--------|:-----:|:-------|:-------|:-------|
+| `DATA(id,data)` | 3    | `"DATA"` | id | data |
+| `ERROR(id,message)` | 4 | `"ERROR"` | id | message |
+| `KILLED(id)` | 2 | `"KILLED"` | id | |
+| `REJECTED(id)` | 2 | `"REJECTED"` | id | |
+| (special) | 2 | `"WRONG"` | message | |
+| (special) | 1 | `"NONE"` | | |
+
+The two special responses `"WRONG"` and `"NONE"` are used to handle special issues
+with the ZeroMQ layer protocol: `WRONG(message)` signals an error in the message formats;
+`NONE` is used in the special case where the reply message from the server is completely
+empty. This generaly means that the server is busy or idled.
+
+## Data Format
+
+Request identifiers can be any string, encoded into a single part of a ZeroMQ message.
+
+Data are stringified JSON data structures. Each command or reply data shall be packed
+into a single JSON data, which leads to a single part of the associated ZeroMQ message.
+
+Since ZeroMQ prococol accepts any kind of strings as a single
+message part, the stringified JSON data might contains spaces, newlines and any
+other spacing characters.
diff --git a/src/plugins/server/syntax.ml b/src/plugins/server/syntax.ml
new file mode 100644
index 0000000000000000000000000000000000000000..565a227cde54a50190a518e5d45f036b9b44d913
--- /dev/null
+++ b/src/plugins/server/syntax.ml
@@ -0,0 +1,129 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+
+module Senv = Server_parameters
+
+let check_plugin plugin name =
+  let p = String.lowercase_ascii plugin in
+  let n = String.lowercase_ascii name in
+  let k = String.length plugin in
+  if not (String.length name > k &&
+          String.sub n 0 k = p &&
+          String.get n k = '.')
+  then
+    Senv.warning ~wkey:Senv.wpage
+      "Data %S shall be named « %s-* »"
+      name plugin
+
+let check_page page name =
+  match Doc.chapter page with
+  | `Kernel -> ()
+  | `Plugin plugin -> check_plugin plugin name
+  | `Protocol -> check_plugin "server" name
+
+let re_name = Str.regexp "[a-z0-9-]+$"
+
+let check_name name =
+  if not (Str.string_match re_name name 0) then
+    Senv.warning ~wkey:Senv.wname
+      "Data name %S is not a dash-separated list of lowercase identifiers" name
+
+(* -------------------------------------------------------------------------- *)
+
+type t = { atomic:bool ; text:Markdown.text }
+
+let atom md = { atomic=true ; text=md }
+let flow md = { atomic=false ; text=md }
+
+let format { text } = text
+let protect a =
+  if a.atomic then a.text else Markdown.(rm "(" <+> a.text <+> rm ")")
+
+let publish ~page ~name ~descr ~synopsis ?(details = Markdown.empty) () =
+  check_name name ;
+  check_page page name ;
+  let id = Printf.sprintf "data-%s" name in
+  let title = Printf.sprintf "`DATA` %s" name in
+  let format = ref Markdown.nil in
+  let syntax = Markdown.fmt_block (fun fmt ->
+      Format.fprintf fmt "> %a ::= %a"
+        Markdown.pp_text !format
+        Markdown.pp_text synopsis.text
+    ) in
+  let content = Markdown.( par descr </> syntax </> details ) in
+  let href = Doc.publish ~page ~name:id ~title ~index:[name] content [] in
+  let link_title = Printf.sprintf "_%s_" name in
+  let link = Markdown.href ~title:link_title href in
+  format := link ; atom @@ link
+
+let unit = atom @@ Markdown.rm "-"
+let any = atom @@ Markdown.it "any"
+let int = atom @@ Markdown.it "int"
+let ident = atom @@ Markdown.it "ident"
+let string = atom @@ Markdown.it "string"
+let number = atom @@ Markdown.it "number"
+let boolean = atom @@ Markdown.it "boolean"
+
+let escaped name = Markdown.tt @@ Printf.sprintf "'%s'" @@ String.escaped name
+
+let tag name = atom @@ escaped name
+
+let array a = atom @@ Markdown.(tt "[" <+> protect a <+> tt ", … ]")
+
+let tuple ts =
+  atom @@ Markdown.(tt "["
+                    <+> glue ~sep:(raw " `,` ") (List.map protect ts) <+>
+                    tt "]")
+
+let union ts = flow @@ Markdown.(glue ~sep:(raw " | ") (List.map protect ts))
+
+let option t = atom @@ Markdown.(protect t <@> tt "?")
+
+let field (a,t) = Markdown.( escaped a <+> tt ":" <+> t.text )
+
+let record fds =
+  let fields =
+    if fds = [] then Markdown.rm "…" else
+      Markdown.(glue ~sep:(raw " `;` ") (List.map field fds))
+  in atom @@ Markdown.(tt "{" <+> fields <+> tt "}")
+
+type field = {
+  name : string ;
+  syntax : t ;
+  descr : Markdown.text ;
+}
+
+let fields ~title (fds : field list) =
+  let c_field = `Left title in
+  let c_format = `Center "Format" in
+  let c_descr = `Left "Description" in
+  Markdown.table [ c_field ; c_format ; c_descr ]
+    begin
+      List.map
+        (fun f ->
+           [ Markdown.tt f.name ; format f.syntax ; f.descr ])
+        fds
+    end
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/server/syntax.mli b/src/plugins/server/syntax.mli
new file mode 100644
index 0000000000000000000000000000000000000000..ff4c575e6c3ed0e65a38b66f593272850942ddaf
--- /dev/null
+++ b/src/plugins/server/syntax.mli
@@ -0,0 +1,59 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(** JSON Encoding Documentation *)
+(* -------------------------------------------------------------------------- *)
+
+type t
+
+val format : t -> Markdown.text
+
+(** The provided synopsis must be very short, to fit in one line.
+    Extended definition, like record fields and such, must be detailed in
+    the description block. *)
+val publish :
+  page:Doc.page -> name:string -> descr:Markdown.text ->
+  synopsis:t -> ?details:Markdown.block -> unit -> t
+
+val unit : t
+val any : t
+val int : t (* small, non-decimal, number *)
+val ident : t (* integer of string *)
+val string : t
+val number : t
+val boolean : t
+
+val tag : string -> t
+val array : t -> t
+val tuple : t list -> t
+val union : t list -> t
+val option : t -> t
+val record : (string * t) list -> t
+
+type field = { name : string ; syntax : t ; descr : Markdown.text }
+
+(** Builds a table with fields column named with [~title]
+    (shall be capitalized) *)
+val fields : title:string -> field list -> Markdown.block
+
+(* -------------------------------------------------------------------------- *)
diff --git a/src/plugins/variadic/standard.ml b/src/plugins/variadic/standard.ml
index d5b98d5d1d192291de971216ec7783223cba3101..8d5b77be6e5907ec979ed47cdc5193dfea4f554b 100644
--- a/src/plugins/variadic/standard.ml
+++ b/src/plugins/variadic/standard.ml
@@ -448,6 +448,16 @@ let build_fun_spec env loc vf format_fun tvparams formals =
     (* Cil.hasAttribute "const" *)
     add_lval (lval,dir)
   in
+  let make_indirect iterm =
+    (* Add "indirect" to an identified term, if it isn't already *)
+    if List.mem "indirect" iterm.it_content.term_name then iterm
+    else
+      let it_content =
+        { iterm.it_content with
+          term_name = "indirect" :: iterm.it_content.term_name }
+      in
+      { iterm with it_content }
+  in
 
   (* Build variadic parameter source/dest list *)
   let dirs = List.map snd tvparams in
@@ -541,14 +551,20 @@ let build_fun_spec env loc vf format_fun tvparams formals =
   | Syslog, _ -> ()
   end;
 
-  (* Add return value dest *)
-  let rettyp = Cil.getReturnType vf.vf_decl.vtype in
-  if not (Cil.isVoidType rettyp) then
-    add_lval ~indirect:true (Build.tresult rettyp, `ArgOut);
-
-  (* Build the assign clause *)
+  (* Build the assigns clause (without \result, for now; it will be added
+     separately) *)
   let froms = List.map (fun iterm -> iterm, From !sources) !dests in
-  let assigns = Writes froms in
+
+  (* Add return value dest: it is different from above since it is _indirectly_
+     assigned from all sources *)
+  let rettyp = Cil.getReturnType vf.vf_decl.vtype in
+  let froms_for_result =
+    if Cil.isVoidType rettyp then []
+    else
+      [iterm (Build.tresult rettyp),
+       From (List.map make_indirect !sources)]
+  in
+  let assigns = Writes (froms_for_result @ froms) in
 
   (* Build the default behaviour *)
   let bhv = Cil.mk_behavior ~assigns
diff --git a/src/plugins/variadic/tests/known/oracle/exec.res.oracle b/src/plugins/variadic/tests/known/oracle/exec.res.oracle
index ccda67e7ad24969af80102884259c962ece1a69b..956067e6dbe9bc926d55bc7e9ce53dea74f565d3 100644
--- a/src/plugins/variadic/tests/known/oracle/exec.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/exec.res.oracle
@@ -35,7 +35,6 @@
   sentinel ∈ {0}
   __retres ∈ {0}
 /* Generated by Frama-C */
-#include "sys/time.h"
 #include "unistd.h"
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle b/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle
index cb9e737d1bb5298bcc7fd0690090dfd1d7406b6c..47d6f5693dc5bbb245732803a89a277b5287f17b 100644
--- a/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle
@@ -17,7 +17,6 @@
 [eva:final-states] Values at end of function main:
   NON TERMINATING FUNCTION
 /* Generated by Frama-C */
-#include "sys/time.h"
 #include "unistd.h"
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
index 284877a285f94ca211c4ebd5a8348246e422729c..3a496e7bf57c8b5807bd005cfec8ac6a811db5c0 100644
--- a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
+++ b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
@@ -7,7 +7,8 @@
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -32,7 +33,8 @@ int main(void)
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
index d3eac0b8fd4d4f2e18e10087b2a1bc0f9c5d0f3a..95d6cf5297f29e539893f37b6ec3b2469440b761 100644
--- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
@@ -168,7 +168,8 @@
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -182,8 +183,8 @@ int printf_va_1(char const * __restrict format);
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -200,8 +201,8 @@ int printf_va_2(char const * __restrict format, char *param0, int *param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -215,8 +216,8 @@ int printf_va_3(char const * __restrict format, wchar_t *param0);
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -235,8 +236,8 @@ int printf_va_4(char const * __restrict format, int param0,
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -254,8 +255,8 @@ int printf_va_5(char const * __restrict format, int param0, short *param1);
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -273,8 +274,8 @@ int printf_va_6(char const * __restrict format, int param0, long *param1);
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -293,8 +294,8 @@ int printf_va_7(char const * __restrict format, long param0,
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -313,8 +314,8 @@ int printf_va_8(char const * __restrict format, long long param0,
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -333,8 +334,8 @@ int printf_va_9(char const * __restrict format, intmax_t param0,
     assigns \result, __fc_stdout->__fc_FILE_data, *param1;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -351,8 +352,8 @@ int printf_va_10(char const * __restrict format, size_t param0,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -364,8 +365,8 @@ int printf_va_11(char const * __restrict format, ptrdiff_t param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -377,8 +378,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -390,8 +391,8 @@ int printf_va_13(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -403,8 +404,8 @@ int printf_va_14(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -416,8 +417,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -429,8 +430,8 @@ int printf_va_16(char const * __restrict format, unsigned long long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -442,8 +443,9 @@ int printf_va_17(char const * __restrict format, uintmax_t param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -456,8 +458,8 @@ int printf_va_18(char const * __restrict format, size_t param0,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -469,8 +471,8 @@ int printf_va_19(char const * __restrict format, unsigned long long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -482,8 +484,8 @@ int printf_va_20(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -495,8 +497,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -508,8 +510,9 @@ int printf_va_22(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -522,8 +525,8 @@ int printf_va_23(char const * __restrict format, double param0,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -535,8 +538,8 @@ int printf_va_24(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -548,8 +551,9 @@ int printf_va_25(char const * __restrict format, void *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param3, param2, param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param3),
+            (indirect: param2), (indirect: param1), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -563,8 +567,9 @@ int printf_va_26(char const * __restrict format, int param0, int param1,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param1 + (0 ..)), param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -577,8 +582,8 @@ int printf_va_27(char const * __restrict format, int param0, char *param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..25e8c3610196c5963f1c9e911eb1e8f829319bfe
--- /dev/null
+++ b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle
@@ -0,0 +1,76 @@
+[variadic] FRAMAC_SHARE/libc/stdio.h:165: 
+  Declaration of variadic function fprintf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:167: 
+  Declaration of variadic function fscanf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:169: 
+  Declaration of variadic function printf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:170: 
+  Declaration of variadic function scanf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:171: 
+  Declaration of variadic function snprintf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:173: 
+  Declaration of variadic function sprintf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:175: 
+  Declaration of variadic function sscanf.
+[variadic] FRAMAC_SHARE/libc/stdio.h:369: 
+  Declaration of variadic function dprintf.
+[variadic] tests/known/printf_garbled_mix.c:8: 
+  Variadic builtin Frama_C_show_each_nb_printed left untransformed.
+[variadic] tests/known/printf_garbled_mix.c:7: 
+  Translating call to printf to a call to the specialized version printf_va_1.
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva] tests/known/printf_garbled_mix.c:6: 
+  Assigning imprecise value to b.
+  The imprecision originates from Arithmetic
+  {tests/known/printf_garbled_mix.c:6}
+[eva] using specification for function printf_va_1
+[eva] tests/known/printf_garbled_mix.c:8: 
+  Frama_C_show_each_nb_printed: [-2147483648..2147483647]
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
+  a[0] ∈ {1}
+   [1] ∈ {2}
+  b ∈ {0}
+  nb_printed ∈ [--..--]
+  S___fc_stdout[0].__fc_FILE_id ∈ [--..--]
+               [0].__fc_FILE_data ∈
+               {{ garbled mix of &{a}
+                (origin: Library function
+                {tests/known/printf_garbled_mix.c:7}) }}
+               [1] ∈ [--..--]
+/* Generated by Frama-C */
+#include "errno.h"
+#include "stdarg.h"
+#include "stddef.h"
+#include "stdio.h"
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern int ( /* missing proto */ Frama_C_show_each_nb_printed)();
+
+/*@ requires valid_read_string(format);
+    assigns \result, __fc_stdout->__fc_FILE_data;
+    assigns \result
+      \from (indirect: __fc_stdout->__fc_FILE_id),
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
+    assigns __fc_stdout->__fc_FILE_data
+      \from (indirect: __fc_stdout->__fc_FILE_id),
+            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
+            param0;
+ */
+int printf_va_1(char const * __restrict format, int param0);
+
+void main(void)
+{
+  int a[2] = {1, 2};
+  int *b = (int *)((unsigned int)(a) * (unsigned int)2);
+  int nb_printed = printf_va_1("%d",(int)b);
+  Frama_C_show_each_nb_printed(nb_printed);
+  b = (int *)0;
+  return;
+}
+
+
diff --git a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle
index 7bf45216955e9b124a78d2eff4c262656f366d58..9b7494fd8342d16b8e56adb562b395d9c87edb25 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle
@@ -17,7 +17,8 @@
 /* Generated by Frama-C */
 typedef unsigned long size_t;
 /*@ assigns \result;
-    assigns \result \from (indirect: *(__format + (0 ..))), param0;
+    assigns \result
+      \from (indirect: *(__format + (0 ..))), (indirect: param0);
  */
 int printf_va_1(char const * __restrict __format, size_t param0);
 
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
index ab84ecbf690af6f9eeca1e86ddd262df7fd12f85..d322a92f77e082966e1f3ba31a4096c403113f6b 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
@@ -48,8 +48,8 @@
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -61,8 +61,9 @@ int printf_va_1(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
index 3acc772c1d3ab401b05f19de09877346e9ed4f89..12097cda98fa628de6c3431143db25fd7544f16c 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
@@ -58,7 +58,8 @@
     assigns \result, __fc_stdout->__fc_FILE_data, *param0;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -74,7 +75,8 @@ int printf_va_1(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data, *param0;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -90,7 +92,8 @@ int printf_va_2(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data, *param0;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -105,8 +108,8 @@ int printf_va_3(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -119,8 +122,8 @@ int printf_va_4(char const * __restrict format, char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
index 39f1ae9b900ea71a6413863dd6ced0e450a76c99..40db9d7dbbf143e9c8ced207fd7ac8ac2ebe8d23 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
@@ -110,8 +110,8 @@ typedef enum __anonenum_RC_1 RC;
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -123,8 +123,8 @@ int printf_va_1(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -136,8 +136,8 @@ int printf_va_2(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -149,8 +149,8 @@ int printf_va_3(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -162,8 +162,8 @@ int printf_va_4(char const * __restrict format, long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -175,8 +175,8 @@ int printf_va_5(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -188,8 +188,8 @@ int printf_va_6(char const * __restrict format, unsigned long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -201,8 +201,8 @@ int printf_va_7(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,8 +214,8 @@ int printf_va_8(char const * __restrict format, void *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -227,8 +227,8 @@ int printf_va_9(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -240,8 +240,8 @@ int printf_va_10(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -253,8 +253,8 @@ int printf_va_11(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -267,8 +267,8 @@ int printf_va_12(char const * __restrict format, long double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -280,8 +280,8 @@ int printf_va_13(char const * __restrict format, char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -293,8 +293,8 @@ int printf_va_14(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -306,8 +306,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -512,8 +512,8 @@ typedef enum __anonenum_RC_1 RC;
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -525,8 +525,8 @@ int printf_va_1(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -538,8 +538,8 @@ int printf_va_2(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -551,8 +551,8 @@ int printf_va_3(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -564,8 +564,8 @@ int printf_va_4(char const * __restrict format, long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -577,8 +577,8 @@ int printf_va_5(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -590,8 +590,8 @@ int printf_va_6(char const * __restrict format, unsigned long param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -603,8 +603,8 @@ int printf_va_7(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -616,8 +616,8 @@ int printf_va_8(char const * __restrict format, void *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -629,8 +629,8 @@ int printf_va_9(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -642,8 +642,8 @@ int printf_va_10(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -655,8 +655,8 @@ int printf_va_11(char const * __restrict format, double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -669,8 +669,8 @@ int printf_va_12(char const * __restrict format, long double param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -682,8 +682,8 @@ int printf_va_13(char const * __restrict format, char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -695,8 +695,8 @@ int printf_va_14(char const * __restrict format, int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -708,8 +708,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
index e2b30a7dd895f33300054cade576ecafafe22376..22a8fdf1bb42bb62dcd300c2b8a68f3e8d281426 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
@@ -41,7 +41,8 @@
     assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1,
             *(param0 + (0 ..));
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
diff --git a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
index a9a7845b251755db6d2e2b4dc57b4347b5d7db6f..0a7a3cb2f389a34ab022bcfa82d62fb3908882ef 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
@@ -36,7 +36,8 @@ int volatile nondet;
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
diff --git a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
index 41d5dc140e7a787788e70c9a0c76ade24252cb31..0ad1522b6520cd7aa591efda0f9f72657c9162b1 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
@@ -42,7 +42,8 @@
     assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1,
             *(param0 + (0 ..));
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
index 5283467af6bbb18db5204643152c4cc5f705fac6..cf8814488a75dd118d8e8abac81f3bab09ad9baa 100644
--- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
@@ -56,7 +56,8 @@ int volatile nondet;
     requires valid_read_string(param0);
     assigns \result, *(s + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: *(param0 + (0 ..)));
     assigns *(s + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
@@ -70,7 +71,8 @@ int snprintf_va_1(char * __restrict s, size_t n,
     requires valid_read_string(param0);
     assigns \result, *(s + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: *(param0 + (0 ..)));
     assigns *(s + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
diff --git a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
index 3affc42a4ed5738d640e76c6e044fc219e085106..41f785ff02c2f035754f6d27cb48445c435a0f04 100644
--- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
@@ -71,9 +71,10 @@
     requires valid_read_string(param1);
     assigns \result, stream->__fc_FILE_data;
     assigns \result
-      \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data,
-            (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
-            param0;
+      \from (indirect: stream->__fc_FILE_id),
+            (indirect: stream->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param2),
+            (indirect: *(param1 + (0 ..))), (indirect: param0);
     assigns stream->__fc_FILE_data
       \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data,
             (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
@@ -87,8 +88,9 @@ int fprintf_va_1(FILE * __restrict stream, char const * __restrict format,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param2, *(param1 + (0 ..)), param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param2),
+            (indirect: *(param1 + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -104,8 +106,9 @@ int printf_va_1(char const * __restrict format, int param0, char *param1,
     requires valid_read_string(param1);
     assigns \result, *(s + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), param2,
-            *(param1 + (0 ..)), param0;
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: param2), (indirect: *(param1 + (0 ..))),
+            (indirect: param0);
     assigns *(s + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), param2,
             *(param1 + (0 ..)), param0;
@@ -118,8 +121,8 @@ int snprintf_va_1(char * __restrict s, size_t n,
     requires valid_read_string(param1);
     assigns \result, *(s + (0 ..));
     assigns \result
-      \from (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
-            param0;
+      \from (indirect: *(format + (0 ..))), (indirect: param2),
+            (indirect: *(param1 + (0 ..))), (indirect: param0);
     assigns *(s + (0 ..))
       \from (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
             param0;
@@ -133,7 +136,8 @@ int sprintf_va_1(char * __restrict s, char const * __restrict format,
     assigns \result;
     assigns \result
       \from (indirect: fd), (indirect: *(format + (0 ..))),
-            *(param2 + (0 ..)), *(param1 + (0 ..)), param0;
+            (indirect: *(param2 + (0 ..))), (indirect: *(param1 + (0 ..))),
+            (indirect: param0);
  */
 int dprintf_va_1(int fd, char const * __restrict format, int param0,
                  char *param1, char *param2);
diff --git a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
index 9d9d9383a4ddbc022b77af8f23c1ea97b165e98e..23148c803852e714e6e6460bbb3584c014a6662f 100644
--- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
@@ -59,7 +59,8 @@
     assigns \result, stream->__fc_FILE_data, *param2, *(param1 + (0 ..)),
             *param0;
     assigns \result
-      \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data,
+      \from (indirect: stream->__fc_FILE_id),
+            (indirect: stream->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns stream->__fc_FILE_data
       \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data,
@@ -85,7 +86,8 @@ int fscanf_va_1(FILE * __restrict stream, char const * __restrict format,
     assigns \result, __fc_stdin->__fc_FILE_data, *param2, *(param1 + (0 ..)),
             *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
index 84ee5740088cec6cd2618b26d7d683bdb34bcea8..f4694f2f3632e5e0d4fdbcdf9ef2ef527a077e69 100644
--- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
@@ -67,7 +67,8 @@ int volatile nondet;
     requires valid_read_wstring(param0);
     assigns \result, *(ws + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: *(param0 + (0 ..)));
     assigns *(ws + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
@@ -81,7 +82,8 @@ int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format,
     requires valid_read_wstring(param0);
     assigns \result, *(ws + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: *(param0 + (0 ..)));
     assigns *(ws + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
index 6d0225a773070bb675e09debc3d519189cff1cc1..a5376947d85456fcb47acfbcc4979db23dd1eb7a 100644
--- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
@@ -92,8 +92,9 @@
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -105,8 +106,9 @@ int wprintf_va_1(wchar_t const *format, int param0, long param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -118,8 +120,10 @@ int wprintf_va_2(wchar_t const *format, int param0, int param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param4, param3, param2, param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param4),
+            (indirect: param3), (indirect: param2), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -133,8 +137,9 @@ int wprintf_va_3(wchar_t const *format, int param0, unsigned int param1,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param2, param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param2),
+            (indirect: param1), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -147,8 +152,9 @@ int wprintf_va_4(wchar_t const *format, double param0, double param1,
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param1, param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param1),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -161,8 +167,8 @@ int wprintf_va_5(wchar_t const *format, int param0, int param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param0 + (0 ..));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -177,8 +183,8 @@ int wprintf_va_6(wchar_t const *format, wchar_t *param0);
     requires valid_read_string(param0);
     assigns \result, *(ws + (0 ..));
     assigns \result
-      \from (indirect: n), (indirect: *(format + (0 ..))), param1,
-            *(param0 + (0 ..));
+      \from (indirect: n), (indirect: *(format + (0 ..))),
+            (indirect: param1), (indirect: *(param0 + (0 ..)));
     assigns *(ws + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), param1,
             *(param0 + (0 ..));
@@ -189,7 +195,8 @@ int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format, char *param0,
 /*@ requires valid_read_wstring(format);
     assigns \result, __fc_stdin->__fc_FILE_data, *(param0 + (0 ..));
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -207,7 +214,8 @@ int wscanf_va_1(wchar_t const *format, wchar_t *param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param1, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
diff --git a/src/plugins/variadic/tests/known/printf_garbled_mix.c b/src/plugins/variadic/tests/known/printf_garbled_mix.c
new file mode 100644
index 0000000000000000000000000000000000000000..1c4381691d8fd686b4baebd65fff7c5ab40a2825
--- /dev/null
+++ b/src/plugins/variadic/tests/known/printf_garbled_mix.c
@@ -0,0 +1,10 @@
+#include <stdint.h>
+#include <stdio.h>
+
+void main() {
+  int a[2] = {1, 2};
+  int *b = (int *)(((uintptr_t)a)*2);
+  int nb_printed = printf("%d", (int)b);
+  Frama_C_show_each_nb_printed(nb_printed); // must NOT contain a garbled mix
+  b = 0; // minimize diffs in test oracle
+}
diff --git a/src/plugins/wp/GuiSource.ml b/src/plugins/wp/GuiSource.ml
index bd3bd86692720f66ffe99a26c3438354df327044..c4b367f3507ada492ec213e633be8bef55a3e2d7 100644
--- a/src/plugins/wp/GuiSource.ml
+++ b/src/plugins/wp/GuiSource.ml
@@ -231,7 +231,7 @@ class highlighter (main:Design.main_window_extension_points) =
         ~(start:int) ~(stop:int) =
       let buffer = buffer#buffer in
       begin match loc with
-        | PStmt( _ , stmt ) ->
+        | PStmt( _ , stmt ) | PStmtStart( _ , stmt ) ->
             begin
               match effect with
               | Some(s,_) when Stmt.equal stmt s ->
@@ -249,7 +249,7 @@ class highlighter (main:Design.main_window_extension_points) =
                   if DEPS.mem ip deps then
                     apply_depend buffer start stop
             end
-        | PStmtStart _ | PGlobal _
+        | PGlobal _
         | PVDecl _ | PTermLval _ | PLval _ | PExp _ -> ()
       end
 
diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle
index a0c2c414fd9f4785327dea18761f3ff05f3f9fa8..0f3499f8f38e8e1815a6b7f9bb68d54d3019a961 100644
--- a/tests/idct/oracle/ieee_1180_1990.res.oracle
+++ b/tests/idct/oracle/ieee_1180_1990.res.oracle
@@ -3852,7 +3852,7 @@
 [ Extern  ] Froms (file tests/idct/ieee_1180_1990.c, line 195)
             assigns \result
               \from (indirect: __fc_stdout->__fc_FILE_id),
-                    __fc_stdout->__fc_FILE_data,
+                    (indirect: __fc_stdout->__fc_FILE_data),
                     (indirect: *(format + (0 ..)));
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
@@ -3878,7 +3878,7 @@
 [ Extern  ] Froms (file tests/idct/ieee_1180_1990.c, line 196)
             assigns \result
               \from (indirect: __fc_stdout->__fc_FILE_id),
-                    __fc_stdout->__fc_FILE_data,
+                    (indirect: __fc_stdout->__fc_FILE_data),
                     (indirect: *(format + (0 ..)));
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
diff --git a/tests/libc/check_compliance.ml b/tests/libc/check_compliance.ml
new file mode 100644
index 0000000000000000000000000000000000000000..ce69f25c601c328fdde8185f26d6a87ccc7d4e4f
--- /dev/null
+++ b/tests/libc/check_compliance.ml
@@ -0,0 +1,144 @@
+open Cil_types
+
+let add_headers tbl id headers =
+  try
+    let old_headers = Hashtbl.find tbl id in
+    Hashtbl.replace tbl id (old_headers @ headers)
+  with Not_found ->
+    Hashtbl.replace tbl id headers
+
+class stdlib_visitor = object
+  inherit Visitor.frama_c_inplace
+  val in_stdlib = ref false
+  val idents : (string, string list) Hashtbl.t = Hashtbl.create 500
+
+  method! vglob_aux g =
+    match Cil.findAttribute "fc_stdlib" (Cil.global_attributes g) with
+    | [] ->
+      in_stdlib := false;
+      Cil.SkipChildren
+    | attrparams ->
+      let headers =
+        Extlib.filter_map' (fun ap ->
+            match ap with
+            | AStr s -> s
+            | _ -> assert false
+          ) (Extlib.string_suffix ".h") attrparams
+      in
+      in_stdlib := true;
+      begin
+        match g with
+        | GEnumTag ({eorig_name = id}, _loc) | GEnumTagDecl ({eorig_name = id}, _loc)
+        | GCompTag ({corig_name = id}, _loc) | GCompTagDecl ({corig_name = id}, _loc)
+        | GVar ({vorig_name = id}, _, _loc) | GVarDecl ({vorig_name = id}, _loc)
+        | GFunDecl (_, {vorig_name = id}, _loc)
+        | GFun ({svar = {vorig_name = id}}, _loc) ->
+          add_headers idents id headers
+        | _ -> ()
+      end;
+      Cil.DoChildren
+
+  method get_idents = idents
+end
+
+let run_once = ref false
+
+module StringSet = Set.Make(String)
+
+let get_idents dir f =
+  let file = Filename.concat dir f in
+  let open Yojson.Basic.Util in
+  Kernel.feedback "parsing %s" f;
+  let json = Yojson.Basic.from_file file in
+  let elements = json |> member "data" |> to_list in
+  List.fold_left (fun acc e ->
+      let ident = e |> member "ident" |> to_string in
+      StringSet.add ident acc
+    ) StringSet.empty elements
+
+let get_ident_headers dir f =
+  let file = Filename.concat dir f in
+  let idents = Hashtbl.create 500 in
+  let open Yojson.Basic.Util in
+  Kernel.feedback "parsing %s" f;
+  let json = Yojson.Basic.from_file file in
+  let elements = json |> member "data" |> to_list in
+  List.iter (fun e ->
+      let ident = e |> member "ident" |> to_string in
+      let header = e |> member "header" |> to_string in
+      Hashtbl.replace idents ident header
+    ) elements;
+  idents
+
+let get_ident_headers_and_extensions dir f =
+  let file = Filename.concat dir f in
+  let idents = Hashtbl.create 500 in
+  let open Yojson.Basic.Util in
+  Kernel.feedback "parsing %s" f;
+  let json = Yojson.Basic.from_file file in
+  let elements = json |> member "data" |> to_list in
+  List.iter (fun e ->
+      let ident = e |> member "ident" |> to_string in
+      let header = e |> member "header" |> to_string in
+      let extensions = e |> member "extensions" |> to_list in
+      Hashtbl.replace idents ident (header, extensions)
+    ) elements;
+  idents
+
+let () =
+  Db.Main.extend (fun () ->
+      if not !run_once then begin
+        run_once := true;
+        let vis = new stdlib_visitor in
+        ignore (Visitor.visitFramacFile (vis :> Visitor.frama_c_visitor) (Ast.get ()));
+        let fc_stdlib_idents = vis#get_idents in
+        let dir = Filename.concat Config.datadir "compliance" in
+        let c11_idents = get_ident_headers dir "c11_functions.json" in
+        let glibc_idents = get_idents dir "glibc_functions.json" in
+        let posix_idents = get_ident_headers_and_extensions dir "posix_identifiers.json" in
+        let nonstandard_idents = get_idents dir "nonstandard_identifiers.json" in
+        Hashtbl.iter (fun id headers ->
+            if not (Extlib.string_prefix "__" id) &&
+               not (Extlib.string_prefix "Frama_C" id) &&
+               List.filter (fun h -> not (Extlib.string_prefix "__fc" h))
+                 headers <> []
+            then
+              let id_in_c11 = Hashtbl.mem c11_idents id in
+              let id_in_posix = Hashtbl.mem posix_idents id in
+              let id_in_glibc = StringSet.mem id glibc_idents in
+              let id_in_nonstd = StringSet.mem id nonstandard_idents in
+              if id_in_c11 then begin
+                (* Check that the header is the expected one.
+                   Note that some symbols may appear in more than one header,
+                   possibly due to collisions
+                   (e.g. 'flock' as type and function). *)
+                let h = Hashtbl.find c11_idents id in
+                if not (List.mem h headers) then
+                  Kernel.warning "<%a>:%s : C11 says %s"
+                    (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers
+                    id h
+              end
+              else if id_in_posix then begin
+                (* check the header is the expected one *)
+                let (h, _) = Hashtbl.find posix_idents id in
+                (* arpa/inet.h and netinet/in.h are special cases: due to mutual
+                   inclusion, there are always issues with their symbols;
+                   also, timezone is a special case, since it is a type in
+                   sys/time.h, but a variable in time.h in POSIX. However, its
+                   declaration as extern is erased by rmtmps, since it is
+                   unused. *)
+                if not (List.mem h headers) &&
+                   not (List.mem "arpa/inet.h" headers && h = "netinet/in.h" ||
+                        List.mem "netinet/in.h" headers && h = "arpa/inet.h") &&
+                   id <> "timezone"
+                then
+                  Kernel.warning "<%a>:%s : POSIX says %s"
+                    (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers
+                    id h
+              end
+              else if not (id_in_glibc || id_in_nonstd) then
+                Kernel.warning "<%a>:%s : unknown identifier"
+                  (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers
+                  id
+          ) fc_stdlib_idents;
+      end)
diff --git a/tests/libc/fc_libc.c b/tests/libc/fc_libc.c
index 3baf405b45968983fc9f4ef2316aaf1822b023ba..108fa7a3ad4a0cdf546d0127c2aec388f32077ae 100644
--- a/tests/libc/fc_libc.c
+++ b/tests/libc/fc_libc.c
@@ -2,9 +2,11 @@
    EXECNOW: make -s @PTEST_DIR@/check_libc_naming_conventions.cmxs
    EXECNOW: make -s @PTEST_DIR@/check_const.cmxs
    EXECNOW: make -s @PTEST_DIR@/check_parsing_individual_headers.cmxs
+   EXECNOW: make -s @PTEST_DIR@/check_compliance.cmxs
    OPT: -load-module @PTEST_DIR@/check_libc_naming_conventions -print -cpp-extra-args='-nostdinc -Ishare/libc' -metrics -metrics-libc -load-module @PTEST_DIR@/check_const -load-module metrics -eva @EVA_CONFIG@ -then -lib-entry -no-print -metrics-no-libc
    OPT: -print -print-libc
    OPT: -load-module @PTEST_DIR@/check_parsing_individual_headers
+   OPT: -load-module @PTEST_DIR@/check_compliance -kernel-msg-key printer:attrs
    CMD: ./tests/libc/check_full_libc.sh
    OPT:
 **/
diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle
index 6e3d1931e3a29df6f54f71de3d15181b471bbc54..7edeeaacb72c89e076fde32302ba704b09368783 100644
--- a/tests/libc/oracle/fc_libc.0.res.oracle
+++ b/tests/libc/oracle/fc_libc.0.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] tests/libc/fc_libc.c:149: assertion got status valid.
-[eva] tests/libc/fc_libc.c:150: assertion got status valid.
 [eva] tests/libc/fc_libc.c:151: assertion got status valid.
 [eva] tests/libc/fc_libc.c:152: assertion got status valid.
+[eva] tests/libc/fc_libc.c:153: assertion got status valid.
+[eva] tests/libc/fc_libc.c:154: assertion got status valid.
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -157,12 +157,12 @@
    wcstombs (0 call); wctomb (0 call); wmemchr (0 call); wmemcmp (0 call);
    wmemmove (0 call); write (0 call); 
   
-  'Extern' global variables (15)
+  'Extern' global variables (17)
   ==============================
    __fc_basename; __fc_dirname; __fc_getpwuid_pw_dir; __fc_getpwuid_pw_name;
-   __fc_getpwuid_pw_passwd; __fc_getpwuid_pw_shell; __fc_hostname;
-   __fc_mblen_state; __fc_mbtowc_state; __fc_ttyname; __fc_wctomb_state;
-   optarg; opterr; optopt; tzname
+   __fc_getpwuid_pw_passwd; __fc_getpwuid_pw_shell; __fc_hostname; __fc_locale;
+   __fc_locale_names; __fc_mblen_state; __fc_mbtowc_state; __fc_ttyname;
+   __fc_wctomb_state; optarg; opterr; optopt; tzname
   
   Potential entry points (1)
   ==========================
@@ -172,7 +172,7 @@
   ============== 
   Sloc = 1083
   Decision point = 204
-  Global variables = 66
+  Global variables = 68
   If = 195
   Loop = 43
   Goto = 89
@@ -186,7 +186,6 @@
 #include "__fc_builtin.c"
 #include "__fc_builtin.h"
 #include "__fc_define_fd_set_t.h"
-#include "__fc_define_useconds_t.h"
 #include "__fc_gcc_builtins.h"
 #include "__fc_select.h"
 #include "alloca.h"
@@ -214,6 +213,7 @@
 #include "math.h"
 #include "netdb.c"
 #include "netdb.h"
+#include "netinet/in.h"
 #include "poll.h"
 #include "pthread.h"
 #include "pwd.h"
diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle
index 417ea214e24ff7f7103182badf324309869ad81f..d0942621eceadea65324eea022577dd0fad7f0f9 100644
--- a/tests/libc/oracle/fc_libc.1.res.oracle
+++ b/tests/libc/oracle/fc_libc.1.res.oracle
@@ -17,6 +17,13 @@ struct __fc_fenv_t {
    unsigned short __unused5 ;
 };
 typedef struct __fc_fenv_t fenv_t;
+typedef int wchar_t;
+typedef int ssize_t;
+typedef unsigned int gid_t;
+typedef unsigned int uid_t;
+typedef long off_t;
+typedef int pid_t;
+typedef unsigned int useconds_t;
 struct option {
    char const *name ;
    int has_arg ;
@@ -35,7 +42,6 @@ struct __fc_glob_t {
    int (*gl_stat)(char const * __restrict , void * __restrict ) ;
 };
 typedef struct __fc_glob_t glob_t;
-typedef int wchar_t;
 struct __fc_div_t {
    int quot ;
    int rem ;
@@ -119,9 +125,6 @@ struct __fc_pthread_t {
    int _fc ;
 };
 typedef struct __fc_pthread_t pthread_t;
-typedef int pid_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
 typedef unsigned long sigset_t;
 union sigval {
    int sival_int ;
@@ -151,7 +154,6 @@ struct sockaddr {
    sa_family_t sa_family ;
    char sa_data[14] ;
 };
-typedef int ssize_t;
 struct iovec {
    void *iov_base ;
    size_t iov_len ;
@@ -239,7 +241,6 @@ typedef unsigned int blksize_t;
 typedef unsigned int dev_t;
 typedef unsigned int mode_t;
 typedef unsigned int nlink_t;
-typedef long off_t;
 struct stat {
    dev_t st_dev ;
    ino_t st_ino ;
@@ -301,7 +302,6 @@ struct __fc_fd_set {
    long __fc_fd_set[(unsigned int)1024 / ((unsigned int)8 * sizeof(long))] ;
 };
 typedef struct __fc_fd_set fd_set;
-typedef unsigned int useconds_t;
 struct flock {
    short l_type ;
    short l_whence ;
@@ -343,11 +343,11 @@ struct __fc_sigjmp_buf {
    sigset_t sigs ;
 };
 typedef struct __fc_sigjmp_buf sigjmp_buf;
-struct _code {
+struct __fc_code {
    char const *c_name ;
    int c_val ;
 };
-typedef struct _code CODE;
+typedef struct __fc_code CODE;
 typedef unsigned long rlim_t;
 struct rlimit {
    rlim_t rlim_cur ;
@@ -1147,95 +1147,6 @@ int fesetenv(fenv_t const *envp)
   return __retres;
 }
 
-extern char *optarg;
-
-int optind;
-
-extern int opterr;
-
-extern int optopt;
-
-/*@ assigns \result, *optarg, optind, opterr, optopt;
-    assigns \result
-      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
-    assigns *optarg
-      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
-    assigns optind
-      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
-    assigns opterr
-      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
-    assigns optopt
-      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
- */
-extern int getopt(int argc, char * const *argv, char const *optstring);
-
-/*@ assigns \result, *optarg, optind, opterr, optopt,
-            *((longopts + (0 ..))->flag);
-    assigns \result
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns *optarg
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns optind
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns opterr
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns optopt
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns *((longopts + (0 ..))->flag)
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
- */
-extern int getopt_long(int argc, char * const *argv, char const *shortopts,
-                       struct option const *longopts, int *longind);
-
-/*@ assigns \result, *optarg, optind, opterr, optopt,
-            *((longopts + (0 ..))->flag);
-    assigns \result
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns *optarg
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns optind
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns opterr
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns optopt
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
-    assigns *((longopts + (0 ..))->flag)
-      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
-            *(longopts + (0 ..));
- */
-extern int getopt_long_only(int argc, char * const *argv,
-                            char const *shortopts,
-                            struct option const *longopts, int *longind);
-
-int optind = 1;
-int glob(char const *pattern, int flags,
-         int (*errfunc)(char const *epath, int eerrno), glob_t *pglob);
-
-void globfree(glob_t *pglob);
-
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(ℤ n) 
-    reads __fc_heap_status;
-  
-  axiom never_allocable{L}:
-    ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i);
-  
-  }
- */
 /*@
 axiomatic MemCmp {
   logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) 
@@ -1523,3398 +1434,2896 @@ predicate valid_wstring_or_null{L}(wchar_t *s) =
   s ≡ \null ∨ valid_wstring(s);
 
 */
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ ghost int __fc_fds[1024]; */
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_amode: (amode & ~((4 | 2) | 1)) ≡ 0 ∨ amode ≡ 0;
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: amode);
  */
-extern double atof(char const *nptr);
-
-int atoi(char const *p);
+extern int access(char const *path, int amode);
 
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_string_path: valid_read_string(path);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result \from (indirect: path), (indirect: *(path + (0 ..)));
  */
-extern long atol(char const *nptr);
+extern int chdir(char const *path);
 
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_string_path: valid_read_string(path);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result \from (indirect: path), (indirect: *(path + (0 ..)));
  */
-extern long long atoll(char const *nptr);
+extern int chroot(char const *path);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_string_path: valid_read_string(path);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result
+      \from (indirect: path), (indirect: *(path + (0 ..))),
+            (indirect: owner), (indirect: group);
  */
-extern double strtod(char const * __restrict nptr, char ** __restrict endptr);
+extern int chown(char const *path, uid_t owner, gid_t group);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_fd: 0 ≤ fd < 1024;
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns __fc_fds[fd], \result;
+    assigns __fc_fds[fd] \from fd, __fc_fds[fd];
+    assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]);
  */
-extern float strtof(char const * __restrict nptr, char ** __restrict endptr);
+extern int close(int fd);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_fildes: 0 ≤ fildes < 1024;
+    ensures
+      result_valid_fildes_or_error:
+        \result ≡ -1 ∨ (\old(fildes) ≤ \result < 1024);
+    assigns __fc_fds[fildes ..], \result;
+    assigns __fc_fds[fildes ..] \from fildes;
+    assigns \result \from fildes;
  */
-extern long double strtold(char const * __restrict nptr,
-                           char ** __restrict endptr);
+extern int dup(int fildes);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
-    assigns \result, *endptr;
+/*@ requires valid_fildes: 0 ≤ fildes < 1024;
+    requires valid_fildes2: 0 ≤ fildes2 < 1024;
+    ensures
+      result_fildes2_or_error: \result ≡ \old(fildes2) ∨ \result ≡ -1;
+    assigns __fc_fds[fildes2], \result;
+    assigns __fc_fds[fildes2] \from fildes, fildes2, __fc_fds[fildes2];
     assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-            (indirect: base);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+      \from fildes, fildes2, __fc_fds[fildes], __fc_fds[fildes2];
  */
-extern long strtol(char const * __restrict nptr, char ** __restrict endptr,
-                   int base);
+extern int dup2(int fildes, int fildes2);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
-    assigns \result, *endptr;
-    assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-            (indirect: base);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_string_arg: valid_read_string(arg);
+    assigns \result;
+    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
  */
-extern long long strtoll(char const * __restrict nptr,
-                         char ** __restrict endptr, int base);
+extern int execl(char const *path, char const *arg, void * const *__va_params);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
-    assigns \result, *endptr;
-    assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-            (indirect: base);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_string_arg: valid_read_string(arg);
+    assigns \result;
+    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
  */
-extern unsigned long strtoul(char const * __restrict nptr,
-                             char ** __restrict endptr, int base);
+extern int execle(char const *path, char const *arg,
+                  void * const *__va_params);
 
-/*@ requires valid_nptr: \valid_read(nptr);
-    requires separation: \separated(nptr, endptr);
-    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
-    assigns \result, *endptr;
-    assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-            (indirect: base);
-    
-    behavior no_storage:
-      assumes null_endptr: endptr ≡ \null;
-      assigns \result;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-    
-    behavior store_position:
-      assumes nonnull_endptr: endptr ≢ \null;
-      requires valid_endptr: \valid(endptr);
-      ensures initialization: \initialized(\old(endptr));
-      ensures valid_endptr: \valid_read(\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
-      assigns \result, *endptr;
-      assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
-              (indirect: base);
-      assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
-    
-    complete behaviors store_position, no_storage;
-    disjoint behaviors store_position, no_storage;
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_string_arg: valid_read_string(arg);
+    assigns \result;
+    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
  */
-extern unsigned long long strtoull(char const * __restrict nptr,
-                                   char ** __restrict endptr, int base);
-
-/*@ ghost
-extern int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-*/
+extern int execlp(char const *path, char const *arg,
+                  void * const *__va_params);
 
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
-    assigns \result, __fc_random_counter;
-    assigns \result \from __fc_random_counter;
-    assigns __fc_random_counter \from __fc_random_counter;
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_string_argv0: valid_read_string(*(argv + 0));
+    assigns \result;
+    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
  */
-extern int rand(void);
+extern int execv(char const *path, char * const *argv);
 
-/*@ assigns __fc_random_counter;
-    assigns __fc_random_counter \from seed; */
-extern void srand(unsigned int seed);
+/*@ requires valid_path: valid_read_string(path);
+    requires valid_argv0: valid_read_string(*(argv + 0));
+    assigns \result;
+    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
+ */
+extern int execve(char const *path, char * const *argv, char * const *env);
 
-/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
+/*@ requires valid_string_path: valid_read_string(path);
+    requires valid_string_argv0: valid_read_string(*(argv + 0));
     assigns \result;
-    assigns \result \from __fc_random_counter;
+    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
  */
-extern long random(void);
+extern int execvp(char const *path, char * const *argv);
 
-/*@ assigns __fc_random_counter;
-    assigns __fc_random_counter \from seed; */
-extern void srandom(unsigned int seed);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern  __attribute__((__noreturn__)) void _exit(int);
 
-int __fc_random48_init __attribute__((__FRAMA_C_MODEL__));
-unsigned short __fc_random48_counter[3] __attribute__((__FRAMA_C_MODEL__));
-unsigned short *__fc_p_random48_counter = __fc_random48_counter;
-/*@ ensures random48_initialized: __fc_random48_init ≡ 1;
-    assigns __fc_random48_counter[0 .. 2], __fc_random48_init;
-    assigns __fc_random48_counter[0 .. 2] \from seed;
-    assigns __fc_random48_init \from \nothing;
+/*@ ensures
+      result_ok_child_or_error:
+        \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from \nothing;
  */
-extern void srand48(long seed);
+extern pid_t fork(void);
 
-/*@ requires
-      initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2));
-    ensures random48_initialized: __fc_random48_init ≡ 1;
-    ensures result_counter: \result ≡ __fc_p_random48_counter;
-    assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from (indirect: *(seed16v + (0 .. 2)));
-    assigns __fc_random48_init \from \nothing;
-    assigns \result \from __fc_p_random48_counter;
+/*@ requires valid_buf: \valid(buf + (0 .. size - 1));
+    ensures result_ok_or_error: \result ≡ \null ∨ \result ≡ \old(buf);
+    assigns *(buf + (0 .. size - 1)), \result;
+    assigns *(buf + (0 .. size - 1)) \from (indirect: buf), (indirect: size);
+    assigns \result \from buf, (indirect: size);
  */
-extern unsigned short *seed48(unsigned short * /*[3]*/ seed16v);
+extern char *getcwd(char *buf, size_t size);
 
-/*@ ensures random48_initialized: __fc_random48_init ≡ 1;
-    assigns __fc_random48_counter[0 .. 2], __fc_random48_init;
-    assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5));
-    assigns __fc_random48_init \from \nothing;
- */
-extern void lcong48(unsigned short * /*[7]*/ param);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern gid_t getegid(void);
 
-/*@ requires random48_initialized: __fc_random48_init ≡ 1;
-    ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
- */
-extern double drand48(void);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern uid_t geteuid(void);
 
-/*@ requires
-      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
-    ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
- */
-extern double erand48(unsigned short * /*[3]*/ xsubi);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern gid_t getgid(void);
 
-/*@ requires random48_initialized: __fc_random48_init ≡ 1;
-    ensures result_range: 0 ≤ \result < 2147483648;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
+extern char volatile __fc_hostname[64];
+
+/*@ requires name_has_room: \valid(name + (0 .. len - 1));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, *(name + (0 .. len - 1));
+    assigns \result
+      \from (indirect: __fc_hostname[0 .. len]), (indirect: len);
+    assigns *(name + (0 .. len - 1))
+      \from (indirect: __fc_hostname[0 .. len]), (indirect: len);
  */
-extern long lrand48(void);
+extern int gethostname(char *name, size_t len);
 
-/*@ requires
-      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
-    ensures result_range: 0 ≤ \result < 2147483648;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
- */
-extern long nrand48(unsigned short * /*[3]*/ xsubi);
-
-/*@ requires random48_initialized: __fc_random48_init ≡ 1;
-    ensures result_range: -2147483648 ≤ \result < 2147483648;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
- */
-extern long mrand48(void);
-
-/*@ requires
-      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
-    ensures result_range: -2147483648 ≤ \result < 2147483648;
-    assigns __fc_random48_counter[0 .. 2], \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from __fc_random48_counter[0 .. 2];
-    assigns \result \from __fc_random48_counter[0 .. 2];
- */
-extern long jrand48(unsigned short * /*[3]*/ xsubi);
-
-void *calloc(size_t nmemb, size_t size);
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from (indirect: size), (indirect: __fc_heap_status);
-    allocates \result;
-    
-    behavior allocation:
-      assumes can_allocate: is_allocable(size);
-      ensures allocation: \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from (indirect: size), (indirect: __fc_heap_status);
-    
-    behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(size);
-      ensures null_result: \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
+/*@ requires name_valid_string: valid_read_nstring(name, len);
+    requires bounded_len: len ≤ 64;
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns __fc_hostname[0 .. len], \result;
+    assigns __fc_hostname[0 .. len]
+      \from *(name + (0 .. len - 1)), (indirect: len);
+    assigns \result \from (indirect: __fc_hostname[0 .. len]);
  */
-extern void *malloc(size_t size);
+extern int sethostname(char const *name, size_t len);
 
-/*@ requires freeable: p ≡ \null ∨ \freeable(p);
-    assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes nonnull_p: p ≢ \null;
-      ensures freed: \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes null_p: p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-extern void free(void *p);
+/*@ assigns \result;
+    assigns \result \from (indirect: pid); */
+extern pid_t getpgid(pid_t pid);
 
-/*@ requires freeable: ptr ≡ \null ∨ \freeable(ptr);
-    assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from __fc_heap_status;
-    assigns \result \from size, ptr, __fc_heap_status;
-    frees ptr;
-    allocates \result;
-    
-    behavior allocation:
-      assumes can_allocate: is_allocable(size);
-      ensures allocation: \fresh{Old, Here}(\result,\old(size));
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \result;
-    
-    behavior deallocation:
-      assumes nonnull_ptr: ptr ≢ \null;
-      assumes can_allocate: is_allocable(size);
-      ensures freed: \allocable(\old(ptr));
-      ensures freeable: \result ≡ \null ∨ \freeable(\result);
-      frees ptr;
-    
-    behavior fail:
-      assumes cannot_allocate: ¬is_allocable(size);
-      ensures null_result: \result ≡ \null;
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \nothing;
-    
-    complete behaviors fail, deallocation, allocation;
-    disjoint behaviors allocation, fail;
-    disjoint behaviors deallocation, fail;
- */
-extern void *realloc(void *ptr, size_t size);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern pid_t getpgrp(void);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern  __attribute__((__noreturn__)) void abort(void);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern pid_t getpid(void);
 
 /*@ assigns \result;
     assigns \result \from \nothing; */
-extern int atexit(void (*func)(void));
+extern pid_t getppid(void);
 
 /*@ assigns \result;
     assigns \result \from \nothing; */
-extern int at_quick_exit(void (*func)(void));
+extern pid_t getsid(pid_t);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern  __attribute__((__noreturn__)) void exit(int status);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern uid_t getuid(void);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern  __attribute__((__noreturn__)) void _Exit(int status);
+/*@ ensures result_true_or_false: \result ≡ 0 ∨ \result ≡ 1;
+    assigns \result;
+    assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]);
+ */
+extern int isatty(int fd);
 
-char *__fc_env[4096] __attribute__((__FRAMA_C_MODEL__));
-char *getenv(char const *name);
+/*@ requires valid_fd: 0 ≤ fd < 1024;
+    requires valid_whence: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2;
+    ensures result_error_or_offset: \result ≡ -1 ∨ 0 ≤ \result;
+    assigns \result, __fc_fds[fd];
+    assigns \result
+      \from (indirect: fd), (indirect: __fc_fds[fd]), (indirect: offset),
+            (indirect: whence);
+    assigns __fc_fds[fd]
+      \from (indirect: fd), __fc_fds[fd], (indirect: offset),
+            (indirect: whence);
+ */
+extern off_t lseek(int fd, off_t offset, int whence);
 
-int putenv(char *string);
+/*@ requires valid_path: valid_read_string(path);
+    assigns \result;
+    assigns \result \from (indirect: *(path + (0 ..))), (indirect: name);
+ */
+extern long pathconf(char const *path, int name);
 
-int setenv(char const *name, char const *value, int overwrite);
+/*@ ensures initialization: pipefd: \initialized(\old(pipefd) + (0 .. 1));
+    ensures valid_fd0: 0 ≤ *(\old(pipefd) + 0) < 1024;
+    ensures valid_fd1: 0 ≤ *(\old(pipefd) + 1) < 1024;
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *(pipefd + (0 .. 1)), \result;
+    assigns *(pipefd + (0 .. 1)) \from (indirect: __fc_fds[0 ..]);
+    assigns \result \from (indirect: __fc_fds[0 ..]);
+ */
+extern int pipe(int * /*[2]*/ pipefd);
 
-int unsetenv(char const *name);
+/*@ requires valid_fd: 0 ≤ fd < 1024;
+    requires buf_has_room: \valid((char *)buf + (0 .. count - 1));
+    ensures
+      result_error_or_read_length:
+        (0 ≤ \result ≤ \old(count)) ∨ \result ≡ -1;
+    ensures
+      initialization: buf:
+        \initialized((char *)\old(buf) + (0 .. \result - 1));
+    assigns __fc_fds[fd], \result, *((char *)buf + (0 .. count - 1));
+    assigns __fc_fds[fd] \from __fc_fds[fd];
+    assigns \result \from (indirect: __fc_fds[fd]), (indirect: count);
+    assigns *((char *)buf + (0 .. count - 1))
+      \from (indirect: __fc_fds[fd]), (indirect: count);
+ */
+extern ssize_t read(int fd, void *buf, size_t count);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern  __attribute__((__noreturn__)) void quick_exit(int status);
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: gid);
+ */
+extern int setegid(gid_t gid);
 
-/*@ requires
-      null_or_valid_string_command:
-        command ≡ \null ∨ valid_read_string(command);
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result
-      \from (indirect: command), (indirect: *(command + (0 ..)));
+    assigns \result \from (indirect: uid);
  */
-extern int system(char const *command);
+extern int seteuid(uid_t uid);
 
-/*@ requires valid_function_compar: \valid_function(compar);
-    ensures
-      null_or_correct_result:
-        \result ≡ \null ∨
-        \subset(\result,
-               (void *)((char *)\old(base) +
-                        (0 .. \old(size) * (\old(nmemb) - 1))));
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result
-      \from (indirect: key), *((char *)key + (0 .. size - 1)), base,
-            *((char *)base + (0 .. size * (nmemb - 1))), (indirect: nmemb),
-            (indirect: size), (indirect: *compar);
+    assigns \result \from (indirect: gid);
  */
-extern void *bsearch(void const *key, void const *base, size_t nmemb,
-                     size_t size, int (*compar)(void const *, void const *));
+extern int setgid(gid_t gid);
 
-/*@ requires valid_function_compar: \valid_function(compar);
-    assigns *((char *)base + (0 ..));
-    assigns *((char *)base + (0 ..))
-      \from (indirect: base), *((char *)base + (0 ..)), (indirect: nmemb),
-            (indirect: size), (indirect: compar), (indirect: *compar);
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: pid), (indirect: pgid);
  */
-extern void qsort(void *base, size_t nmemb, size_t size,
-                  int (*compar)(void const *, void const *));
+extern int setpgid(pid_t pid, pid_t pgid);
 
-int abs(int i);
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: rgid), (indirect: egid);
+ */
+extern int setregid(gid_t rgid, gid_t egid);
 
-/*@ requires abs_representable: j > -2147483647L - 1L;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result \from j;
-    
-    behavior negative:
-      assumes negative: j < 0;
-      ensures opposite_result: \result ≡ -\old(j);
-    
-    behavior nonnegative:
-      assumes nonnegative: j ≥ 0;
-      ensures same_result: \result ≡ \old(j);
-    
-    complete behaviors nonnegative, negative;
-    disjoint behaviors nonnegative, negative;
+    assigns \result \from (indirect: ruid), (indirect: euid);
  */
-extern long labs(long j);
+extern int setreuid(uid_t ruid, uid_t euid);
 
-/*@ requires abs_representable: j > -9223372036854775807LL - 1LL;
+/*@ ensures result_pgid_or_error: \result ≡ -1 ∨ \result ≥ 0;
     assigns \result;
-    assigns \result \from j;
-    
-    behavior negative:
-      assumes negative: j < 0;
-      ensures opposite_result: \result ≡ -\old(j);
-    
-    behavior nonnegative:
-      assumes nonnegative: j ≥ 0;
-      ensures same_result: \result ≡ \old(j);
-    
-    complete behaviors nonnegative, negative;
-    disjoint behaviors nonnegative, negative;
+    assigns \result \from \nothing;
  */
-extern long long llabs(long long j);
+extern pid_t setsid(void);
 
-/*@ assigns \result;
-    assigns \result \from numer, denom; */
-extern div_t div(int numer, int denom);
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: uid);
+ */
+extern int setuid(uid_t uid);
 
-/*@ assigns \result;
-    assigns \result \from numer, denom; */
-extern ldiv_t ldiv(long numer, long denom);
+/*@ assigns \nothing; */
+extern void sync(void);
 
 /*@ assigns \result;
-    assigns \result \from numer, denom; */
-extern lldiv_t lldiv(long long numer, long long denom);
+    assigns \result \from (indirect: name); */
+extern long sysconf(int name);
 
-/*@ ghost extern int __fc_mblen_state; */
+extern char volatile __fc_ttyname[32];
 
-/*@ assigns \result, __fc_mblen_state;
-    assigns \result
-      \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n),
-            __fc_mblen_state;
-    assigns __fc_mblen_state
-      \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n),
-            __fc_mblen_state;
+char volatile *__fc_p_ttyname = __fc_ttyname;
+/*@ ensures
+      result_name_or_null: \result ≡ __fc_p_ttyname ∨ \result ≡ \null;
+    assigns \result;
+    assigns \result \from __fc_p_ttyname, (indirect: fildes);
  */
-extern int mblen(char const *s, size_t n);
+extern char *ttyname(int fildes);
 
-/*@ ghost extern int __fc_mbtowc_state; */
+/*@ requires valid_string_path: valid_read_string(path);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from *(path + (0 ..));
+ */
+extern int unlink(char const *path);
 
-/*@ requires separation: \separated(pwc, s);
-    ensures consumed_range: \result ≤ \old(n);
-    assigns \result, *(pwc + (0 .. \result - 1)), __fc_mbtowc_state;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, Frama_C_entropy_source;
     assigns \result
-      \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n),
-            __fc_mbtowc_state;
-    assigns *(pwc + (0 .. \result - 1))
-      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n),
-            __fc_mbtowc_state;
-    assigns __fc_mbtowc_state
-      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n),
-            __fc_mbtowc_state;
+      \from (indirect: usec), (indirect: Frama_C_entropy_source);
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
  */
-extern int mbtowc(wchar_t * __restrict pwc, char const * __restrict s,
-                  size_t n);
-
-/*@ ghost extern int __fc_wctomb_state; */
+extern int usleep(useconds_t usec);
 
-/*@ assigns \result, *(s + (0 ..)), __fc_wctomb_state;
-    assigns \result \from (indirect: wc), __fc_wctomb_state;
-    assigns *(s + (0 ..)) \from wc, __fc_wctomb_state;
-    assigns __fc_wctomb_state \from wc, __fc_wctomb_state;
+/*@ requires valid_fd: 0 ≤ fd < 1024;
+    requires buf_has_room: \valid_read((char *)buf + (0 .. count - 1));
+    ensures
+      result_error_or_written_bytes:
+        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(count));
+    assigns __fc_fds[fd], \result;
+    assigns __fc_fds[fd]
+      \from (indirect: fd), (indirect: count), __fc_fds[fd];
+    assigns \result
+      \from (indirect: fd), (indirect: count), (indirect: __fc_fds[fd]);
  */
-extern int wctomb(char *s, wchar_t wc);
+extern ssize_t write(int fd, void const *buf, size_t count);
 
-/*@ requires separation: \separated(pwcs, s);
-    assigns \result, *(pwcs + (0 .. n - 1));
+/*@ requires valid_ruid: \valid(ruid);
+    requires valid_euid: \valid(suid);
+    requires valid_suid: \valid(euid);
+    ensures
+      initialization: result_ok_or_error:
+        (\result ≡ 0 ∧ \initialized(\old(ruid)) ∧
+         \initialized(\old(euid)) ∧ \initialized(\old(suid))) ∨
+        \result ≡ -1;
+    assigns *ruid, *euid, *suid, \result;
+    assigns *ruid \from \nothing;
+    assigns *euid \from \nothing;
+    assigns *suid \from \nothing;
     assigns \result
-      \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n);
-    assigns *(pwcs + (0 .. n - 1))
-      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n);
+      \from (indirect: ruid), (indirect: euid), (indirect: suid);
  */
-extern size_t mbstowcs(wchar_t * __restrict pwcs, char const * __restrict s,
-                       size_t n);
+int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
 
-/*@ requires separation: \separated(s, pwcs);
-    assigns \result, *(s + (0 .. n - 1));
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
     assigns \result
-      \from (indirect: pwcs), (indirect: *(pwcs + (0 .. n - 1))),
-            (indirect: n);
-    assigns *(s + (0 .. n - 1))
-      \from (indirect: pwcs), *(pwcs + (0 .. n - 1)), (indirect: n);
+      \from (indirect: ruid), (indirect: euid), (indirect: suid);
  */
-extern size_t wcstombs(char * __restrict s, wchar_t const * __restrict pwcs,
-                       size_t n);
-
-int posix_memalign(void **memptr, size_t alignment, size_t size);
+int setresuid(uid_t ruid, uid_t euid, uid_t suid);
 
-/*@ requires valid_template: valid_string(templat);
+/*@ requires valid_rgid: \valid(rgid);
+    requires valid_egid: \valid(sgid);
+    requires valid_sgid: \valid(egid);
     ensures
-      result_error_or_valid_fd: \result ≡ -1 ∨ (0 ≤ \result < 16);
-    assigns *(templat + (0 ..)), \result;
-    assigns *(templat + (0 ..)) \from \nothing;
-    assigns \result \from \nothing;
+      initialization: result_ok_or_error:
+        (\result ≡ 0 ∧ \initialized(\old(rgid)) ∧
+         \initialized(\old(egid)) ∧ \initialized(\old(sgid))) ∨
+        \result ≡ -1;
+    assigns *rgid, *egid, *sgid, \result;
+    assigns *rgid \from \nothing;
+    assigns *egid \from \nothing;
+    assigns *sgid \from \nothing;
+    assigns \result
+      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
  */
-extern int mkstemp(char *templat);
+int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
 
-int glob(char const *pattern, int flags,
-         int (*errfunc)(char const *epath, int eerrno), glob_t *pglob)
-{
-  int __retres;
-  int tmp;
-  unsigned int tmp_0;
-  char **tmp_1;
-  int tmp_4;
-  tmp = Frama_C_interval(0,10);
-  pglob->gl_pathc = (unsigned int)tmp;
-  if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0;
-  size_t reserve_offs = tmp_0;
-  size_t prev_len = (unsigned int)0;
-  if (flags & (1 << 5)) 
-    while (*(pglob->gl_pathv + (reserve_offs + prev_len))) prev_len += (size_t)1;
-  if (flags & (1 << 5)) tmp_1 = pglob->gl_pathv; else tmp_1 = (char **)0;
-  char **path = tmp_1;
-  if (pglob->gl_pathc == (unsigned int)0) 
-    if (flags & (1 << 4)) {
-      pglob->gl_pathv = (char **)realloc((void *)path,
-                                         ((reserve_offs + prev_len) + (size_t)2) * sizeof(char *));
-      if (! pglob->gl_pathv) {
-        __retres = 1;
-        goto return_label;
-      }
-      {
-        size_t i = (unsigned int)0;
-        while (i < reserve_offs) {
-          *(pglob->gl_pathv + i) = (char *)0;
-          i += (size_t)1;
-        }
-      }
-      *(pglob->gl_pathv + (reserve_offs + prev_len)) = (char *)pattern;
-      *(pglob->gl_pathv + ((reserve_offs + prev_len) + (size_t)1)) = (char *)0;
-      __retres = 0;
-      goto return_label;
-    }
-    else {
-      __retres = 3;
-      goto return_label;
-    }
-  pglob->gl_pathv = (char **)realloc((void *)path,
-                                     (((reserve_offs + prev_len) + pglob->gl_pathc) + (size_t)1) * sizeof(char *));
-  if (! pglob->gl_pathv) {
-    __retres = 1;
-    goto return_label;
-  }
-  {
-    size_t i_0 = (unsigned int)0;
-    while (i_0 < reserve_offs) {
-      *(pglob->gl_pathv + i_0) = (char *)0;
-      i_0 += (size_t)1;
-    }
-  }
-  {
-    size_t i_1 = (unsigned int)0;
-    while (i_1 < pglob->gl_pathc) {
-      *(pglob->gl_pathv + ((reserve_offs + prev_len) + i_1)) = (char *)"glob result";
-      i_1 += (size_t)1;
-    }
-  }
-  *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0;
-  tmp_4 = Frama_C_nondet(0,1);
-  if (tmp_4) {
-    __retres = 0;
-    goto return_label;
-  }
-  else {
-    if (errfunc) {
-      int tmp_3;
-      int tmp_2;
-      tmp_2 = Frama_C_interval(0,255);
-      tmp_3 = (*errfunc)("glob.c error path",tmp_2);
-      int res = tmp_3;
-      if (res) {
-        __retres = 2;
-        goto return_label;
-      }
-      else 
-        if (flags & (1 << 0)) {
-          __retres = 2;
-          goto return_label;
-        }
-    }
-    __retres = 0;
-    goto return_label;
-  }
-  return_label: return __retres;
-}
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result
+      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
+ */
+int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
 
-void globfree(glob_t *pglob)
-{
-  if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv);
-  return;
-}
+extern char *optarg;
 
-intmax_t imaxabs(intmax_t c);
+int optind;
 
-imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
+extern int opterr;
 
-/*@ assigns \result, *(endptr + (..)), __fc_errno;
-    assigns \result \from *(nptr + (..)), base;
-    assigns *(endptr + (..)) \from *(nptr + (..)), base;
-    assigns __fc_errno \from *(nptr + (..)), base;
- */
-extern intmax_t strtoimax(char const * __restrict nptr,
-                          char ** __restrict endptr, int base);
+extern int optopt;
 
-/*@ requires abs_representable: (long long)(-c) ≢ c;
-    assigns \result;
-    assigns \result \from c;
+/*@ assigns \result, *optarg, optind, opterr, optopt;
+    assigns \result
+      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
+    assigns *optarg
+      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
+    assigns optind
+      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
+    assigns opterr
+      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
+    assigns optopt
+      \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..));
  */
-intmax_t imaxabs(intmax_t c)
-{
-  intmax_t __retres;
-  if (c > (intmax_t)0) {
-    __retres = c;
-    goto return_label;
-  }
-  else {
-    __retres = - c;
-    goto return_label;
-  }
-  return_label: return __retres;
-}
+extern int getopt(int argc, char * const *argv, char const *optstring);
 
-/*@ requires no_div_by_zero: denom ≢ 0;
-    requires no_overflow: denom ≢ -1 ∨ (long long)(-numer) ≢ numer;
-    ensures correct_div: \result.quot ≡ \old(numer) / \old(denom);
-    ensures correct_mod: \result.rem ≡ \old(numer) % \old(denom);
-    assigns \result;
-    assigns \result \from numer, denom;
+/*@ assigns \result, *optarg, optind, opterr, optopt,
+            *((longopts + (0 ..))->flag);
+    assigns \result
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns *optarg
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns optind
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns opterr
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns optopt
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns *((longopts + (0 ..))->flag)
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
  */
-imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom)
-{
-  imaxdiv_t r;
-  r.quot = numer / denom;
-  r.rem = numer % denom;
-  return r;
-}
+extern int getopt_long(int argc, char * const *argv, char const *shortopts,
+                       struct option const *longopts, int *longind);
 
-struct lconv *__frama_c_locale;
+/*@ assigns \result, *optarg, optind, opterr, optopt,
+            *((longopts + (0 ..))->flag);
+    assigns \result
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns *optarg
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns optind
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns opterr
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns optopt
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+    assigns *((longopts + (0 ..))->flag)
+      \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)),
+            *(longopts + (0 ..));
+ */
+extern int getopt_long_only(int argc, char * const *argv,
+                            char const *shortopts,
+                            struct option const *longopts, int *longind);
 
-char *__frama_c_locale_names[512];
+int optind = 1;
+int glob(char const *pattern, int flags,
+         int (*errfunc)(char const *epath, int eerrno), glob_t *pglob);
 
-char *setlocale(int category, char const *locale);
+void globfree(glob_t *pglob);
 
-struct lconv *localeconv(void);
+/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
 
-struct lconv __C_locale =
-  {.decimal_point = (char *)".",
-   .thousands_sep = (char *)"",
-   .grouping = (char *)"",
-   .int_curr_symbol = (char *)"",
-   .currency_symbol = (char *)"",
-   .mon_decimal_point = (char *)"",
-   .mon_thousands_sep = (char *)"",
-   .mon_grouping = (char *)"",
-   .positive_sign = (char *)"",
-   .negative_sign = (char *)"",
-   .int_frac_digits = (char)127,
-   .frac_digits = (char)127,
-   .p_cs_precedes = (char)127,
-   .p_sep_by_space = (char)127,
-   .n_cs_precedes = (char)127,
-   .n_sep_by_space = (char)127,
-   .p_sign_posn = (char)127,
-   .n_sign_posn = (char)127,
-   .int_p_cs_precedes = (char)127,
-   .int_p_sep_by_space = (char)127,
-   .int_n_cs_precedes = (char)127,
-   .int_n_sep_by_space = (char)127,
-   .int_p_sign_posn = (char)127,
-   .int_n_sign_posn = (char)127};
-struct lconv *__frama_c_locale = & __C_locale;
-char *__frama_c_locale_names[512] = {(char *)"C"};
-/*@ requires
-      locale_null_or_valid_string:
-        locale ≡ \null ∨ valid_read_string(locale);
-    ensures
-      result_null_or_locale_name:
-        \result ≡ \null ∨
-        (\valid(\result) ∧
-         (∃ ℤ i; \result ≡ __frama_c_locale_names[i]));
-    assigns __frama_c_locale, \result;
-    assigns __frama_c_locale \from category, *(locale + (..));
-    assigns \result \from __frama_c_locale, category, *(locale + (..));
- */
-char *setlocale(int category, char const *locale)
-{
-  char *__retres;
-  if ((int)*locale == 'C') {
-    __frama_c_locale = & __C_locale;
-    __retres = __frama_c_locale_names[0];
-    goto return_label;
+/*@
+axiomatic dynamic_allocation {
+  predicate is_allocable{L}(ℤ n) 
+    reads __fc_heap_status;
+  
+  axiom never_allocable{L}:
+    ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i);
+  
   }
-  __retres = (char *)0;
-  return_label: return __retres;
-}
 
-/*@ ensures result_current_locale: \result ≡ __frama_c_locale;
-    assigns \nothing;
+*/
+/*@ requires valid_nptr: \valid_read(nptr);
+    assigns \result;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
  */
-struct lconv *localeconv(void)
-{
-  return __frama_c_locale;
-}
+extern double atof(char const *nptr);
 
-/*@ assigns \result;
-    assigns \result \from x;
+int atoi(char const *p);
+
+/*@ requires valid_nptr: \valid_read(nptr);
+    assigns \result;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+ */
+extern long atol(char const *nptr);
+
+/*@ requires valid_nptr: \valid_read(nptr);
+    assigns \result;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+ */
+extern long long atoll(char const *nptr);
+
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    assigns \result, *endptr;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    behavior nan:
-      assumes is_nan: \is_NaN(x);
-      ensures fp_nan: \result ≡ 0;
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
+      assigns \result;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
     
-    behavior inf:
-      assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x);
-      ensures fp_infinite: \result ≡ 1;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    behavior zero:
-      assumes is_a_zero: x ≡ 0.0;
-      ensures fp_zero: \result ≡ 2;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
+ */
+extern double strtod(char const * __restrict nptr, char ** __restrict endptr);
+
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    assigns \result, *endptr;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    behavior subnormal:
-      assumes is_finite: \is_finite(x);
-      assumes
-        is_subnormal:
-          (x > 0.0 ∧ x < 0x1p-126) ∨ (x < 0.0 ∧ x > -0x1p-126);
-      ensures fp_subnormal: \result ≡ 3;
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
+      assigns \result;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
     
-    behavior normal:
-      assumes is_finite: \is_finite(x);
-      assumes not_subnormal: x ≤ -0x1p-126 ∨ x ≥ 0x1p-126;
-      ensures fp_normal: \result ≡ 4;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    complete behaviors normal, subnormal, zero, inf, nan;
-    disjoint behaviors normal, subnormal, zero, inf, nan;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-int __fc_fpclassifyf(float x);
+extern float strtof(char const * __restrict nptr, char ** __restrict endptr);
 
-/*@ assigns \result;
-    assigns \result \from x;
-    
-    behavior nan:
-      assumes is_nan: \is_NaN(x);
-      ensures fp_nan: \result ≡ 0;
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    assigns \result, *endptr;
+    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    behavior inf:
-      assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x);
-      ensures fp_infinite: \result ≡ 1;
-    
-    behavior zero:
-      assumes is_a_zero: x ≡ 0.0;
-      ensures fp_zero: \result ≡ 2;
-    
-    behavior subnormal:
-      assumes is_finite: \is_finite(x);
-      assumes
-        is_subnormal:
-          (x > 0.0 ∧ x < 0x1p-1022) ∨ (x < 0.0 ∧ x > -0x1p-1022);
-      ensures fp_subnormal: \result ≡ 3;
-    
-    behavior normal:
-      assumes is_finite: \is_finite(x);
-      assumes not_subnormal: x ≤ -0x1p-1022 ∨ x ≥ 0x1p-1022;
-      ensures fp_normal: \result ≡ 4;
-    
-    complete behaviors normal, subnormal, zero, inf, nan;
-    disjoint behaviors normal, subnormal, zero, inf, nan;
- */
-int __fc_fpclassify(double x);
-
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
-    
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from x;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
-    disjoint behaviors domain_error, normal;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-extern double acos(double x);
+extern long double strtold(char const * __restrict nptr,
+                           char ** __restrict endptr);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
+    assigns \result, *endptr;
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+            (indirect: base);
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from x;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+              (indirect: base);
     
-    disjoint behaviors domain_error, normal;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-extern float acosf(float x);
+extern long strtol(char const * __restrict nptr, char ** __restrict endptr,
+                   int base);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
+    assigns \result, *endptr;
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+            (indirect: base);
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from x;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+              (indirect: base);
     
-    disjoint behaviors domain_error, normal;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-extern long double acosl(long double x);
+extern long long strtoll(char const * __restrict nptr,
+                         char ** __restrict endptr, int base);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
+    assigns \result, *endptr;
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+            (indirect: base);
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures finite_result: \is_finite(\result);
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from x;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+              (indirect: base);
     
-    disjoint behaviors domain_error, normal;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-extern double asin(double x);
+extern unsigned long strtoul(char const * __restrict nptr,
+                             char ** __restrict endptr, int base);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+/*@ requires valid_nptr: \valid_read(nptr);
+    requires separation: \separated(nptr, endptr);
+    requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
+    assigns \result, *endptr;
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+            (indirect: base);
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures finite_result: \is_finite(\result);
+    behavior no_storage:
+      assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from x;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior store_position:
+      assumes nonnull_endptr: endptr ≢ \null;
+      requires valid_endptr: \valid(endptr);
+      ensures initialization: \initialized(\old(endptr));
+      ensures valid_endptr: \valid_read(\old(endptr));
+      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      assigns \result, *endptr;
+      assigns \result
+        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+              (indirect: base);
+      assigns *endptr
+        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+              (indirect: base);
     
-    disjoint behaviors domain_error, normal;
+    complete behaviors store_position, no_storage;
+    disjoint behaviors store_position, no_storage;
  */
-extern float asinf(float x);
+extern unsigned long long strtoull(char const * __restrict nptr,
+                                   char ** __restrict endptr, int base);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
-    
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
-      ensures finite_result: \is_finite(\result);
-      assigns \result;
-      assigns \result \from x;
-    
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
-    
-    disjoint behaviors domain_error, normal;
- */
-extern long double asinl(long double x);
+/*@ ghost
+extern int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
+*/
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
-    assigns \result;
-    assigns \result \from x;
+unsigned long const __fc_rand_max = (unsigned long)32767;
+/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
+    assigns \result, __fc_random_counter;
+    assigns \result \from __fc_random_counter;
+    assigns __fc_random_counter \from __fc_random_counter;
  */
-extern float atanf(float x);
+extern int rand(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
+/*@ assigns __fc_random_counter;
+    assigns __fc_random_counter \from seed; */
+extern void srand(unsigned int seed);
+
+/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
     assigns \result;
-    assigns \result \from x;
+    assigns \result \from __fc_random_counter;
  */
-extern double atan(double x);
+extern long random(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
-    assigns \result;
-    assigns \result \from x;
+/*@ assigns __fc_random_counter;
+    assigns __fc_random_counter \from seed; */
+extern void srandom(unsigned int seed);
+
+int __fc_random48_init __attribute__((__FRAMA_C_MODEL__));
+unsigned short __fc_random48_counter[3] __attribute__((__FRAMA_C_MODEL__));
+unsigned short *__fc_p_random48_counter = __fc_random48_counter;
+/*@ ensures random48_initialized: __fc_random48_init ≡ 1;
+    assigns __fc_random48_counter[0 .. 2], __fc_random48_init;
+    assigns __fc_random48_counter[0 .. 2] \from seed;
+    assigns __fc_random48_init \from \nothing;
  */
-extern long double atanl(long double x);
+extern void srand48(long seed);
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_result: \is_finite(atan2(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
+/*@ requires
+      initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2));
+    ensures random48_initialized: __fc_random48_init ≡ 1;
+    ensures result_counter: \result ≡ __fc_p_random48_counter;
+    assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from (indirect: *(seed16v + (0 .. 2)));
+    assigns __fc_random48_init \from \nothing;
+    assigns \result \from __fc_p_random48_counter;
  */
-extern double atan2(double y, double x);
+extern unsigned short *seed48(unsigned short * /*[3]*/ seed16v);
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_logic_result: \is_finite(atan2f(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
+/*@ ensures random48_initialized: __fc_random48_init ≡ 1;
+    assigns __fc_random48_counter[0 .. 2], __fc_random48_init;
+    assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5));
+    assigns __fc_random48_init \from \nothing;
  */
-extern float atan2f(float y, float x);
+extern void lcong48(unsigned short * /*[7]*/ param);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires random48_initialized: __fc_random48_init ≡ 1;
+    ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern double cos(double x);
+extern double drand48(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires
+      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
+    ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern float cosf(float x);
+extern double erand48(unsigned short * /*[3]*/ xsubi);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires random48_initialized: __fc_random48_init ≡ 1;
+    ensures result_range: 0 ≤ \result < 2147483648;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern long double cosl(long double x);
+extern long lrand48(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires
+      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
+    ensures result_range: 0 ≤ \result < 2147483648;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern double sin(double x);
+extern long nrand48(unsigned short * /*[3]*/ xsubi);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires random48_initialized: __fc_random48_init ≡ 1;
+    ensures result_range: -2147483648 ≤ \result < 2147483648;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern float sinf(float x);
+extern long mrand48(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    ensures result_domain: -1. ≤ \result ≤ 1.;
-    assigns \result;
-    assigns \result \from x;
+/*@ requires
+      initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
+    ensures result_range: -2147483648 ≤ \result < 2147483648;
+    assigns __fc_random48_counter[0 .. 2], \result;
+    assigns __fc_random48_counter[0 .. 2]
+      \from __fc_random48_counter[0 .. 2];
+    assigns \result \from __fc_random48_counter[0 .. 2];
  */
-extern long double sinl(long double x);
+extern long jrand48(unsigned short * /*[3]*/ xsubi);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+void *calloc(size_t nmemb, size_t size);
+
+/*@ assigns __fc_heap_status, \result;
+    assigns __fc_heap_status \from size, __fc_heap_status;
+    assigns \result \from (indirect: size), (indirect: __fc_heap_status);
+    allocates \result;
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
-      assigns \result;
-      assigns \result \from x;
+    behavior allocation:
+      assumes can_allocate: is_allocable(size);
+      ensures allocation: \fresh{Old, Here}(\result,\old(size));
+      assigns __fc_heap_status, \result;
+      assigns __fc_heap_status \from size, __fc_heap_status;
+      assigns \result \from (indirect: size), (indirect: __fc_heap_status);
     
-    behavior infinite:
-      assumes is_plus_infinity: \is_plus_infinity(x);
-      ensures result_plus_infinity: \is_plus_infinity(\result);
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(size);
+      ensures null_result: \result ≡ \null;
       assigns \result;
-      assigns \result \from x;
-    
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+      assigns \result \from \nothing;
+      allocates \nothing;
     
-    disjoint behaviors domain_error, infinite, normal;
+    complete behaviors no_allocation, allocation;
+    disjoint behaviors no_allocation, allocation;
  */
-extern double acosh(double x);
+extern void *malloc(size_t size);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
-    
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
-      assigns \result;
-      assigns \result \from x;
+/*@ requires freeable: p ≡ \null ∨ \freeable(p);
+    assigns __fc_heap_status;
+    assigns __fc_heap_status \from __fc_heap_status;
+    frees p;
     
-    behavior infinite:
-      assumes is_plus_infinity: \is_plus_infinity(x);
-      ensures result_plus_infinity: \is_plus_infinity(\result);
-      assigns \result;
-      assigns \result \from x;
+    behavior deallocation:
+      assumes nonnull_p: p ≢ \null;
+      ensures freed: \allocable(\old(p));
+      assigns __fc_heap_status;
+      assigns __fc_heap_status \from __fc_heap_status;
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior no_deallocation:
+      assumes null_p: p ≡ \null;
+      assigns \nothing;
+      allocates \nothing;
     
-    disjoint behaviors domain_error, infinite, normal;
+    complete behaviors no_deallocation, deallocation;
+    disjoint behaviors no_deallocation, deallocation;
  */
-extern float acoshf(float x);
+extern void free(void *p);
 
-/*@ assigns __fc_errno, \result;
-    assigns __fc_errno \from x;
-    assigns \result \from x;
+/*@ requires freeable: ptr ≡ \null ∨ \freeable(ptr);
+    assigns __fc_heap_status, \result;
+    assigns __fc_heap_status \from __fc_heap_status;
+    assigns \result \from size, ptr, __fc_heap_status;
+    frees ptr;
+    allocates \result;
     
-    behavior normal:
-      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
-      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+    behavior allocation:
+      assumes can_allocate: is_allocable(size);
+      ensures allocation: \fresh{Old, Here}(\result,\old(size));
       assigns \result;
-      assigns \result \from x;
+      assigns \result \from size, __fc_heap_status;
+      allocates \result;
     
-    behavior infinite:
-      assumes is_plus_infinity: \is_plus_infinity(x);
-      ensures result_plus_infinity: \is_plus_infinity(\result);
-      assigns \result;
-      assigns \result \from x;
+    behavior deallocation:
+      assumes nonnull_ptr: ptr ≢ \null;
+      assumes can_allocate: is_allocable(size);
+      ensures freed: \allocable(\old(ptr));
+      ensures freeable: \result ≡ \null ∨ \freeable(\result);
+      frees ptr;
     
-    behavior domain_error:
-      assumes
-        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
-      ensures errno_set: __fc_errno ≡ 1;
-      assigns __fc_errno, \result;
-      assigns __fc_errno \from x;
-      assigns \result \from x;
+    behavior fail:
+      assumes cannot_allocate: ¬is_allocable(size);
+      ensures null_result: \result ≡ \null;
+      assigns \result;
+      assigns \result \from size, __fc_heap_status;
+      allocates \nothing;
     
-    disjoint behaviors domain_error, infinite, normal;
+    complete behaviors fail, deallocation, allocation;
+    disjoint behaviors allocation, fail;
+    disjoint behaviors deallocation, fail;
  */
-extern long double acoshl(long double x);
+extern void *realloc(void *ptr, size_t size);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires finite_domain: x ≤ 0x1.62e42fefa39efp+9;
-    ensures res_finite: \is_finite(\result);
-    ensures positive_result: \result > 0.;
-    assigns \result;
-    assigns \result \from x;
- */
-extern double exp(double x);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern  __attribute__((__noreturn__)) void abort(void);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires res_finite: x ≤ 0x1.62e42ep+6;
-    ensures res_finite: \is_finite(\result);
-    ensures positive_result: \result > 0.;
-    assigns \result;
-    assigns \result \from x;
- */
-extern float expf(float x);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern int atexit(void (*func)(void));
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern double log(double x);
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern int at_quick_exit(void (*func)(void));
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float logf(float x);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern  __attribute__((__noreturn__)) void exit(int status);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_pos: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern long double logl(long double x);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern  __attribute__((__noreturn__)) void _Exit(int status);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern double log10(double x);
+char *__fc_env[4096] __attribute__((__FRAMA_C_MODEL__));
+char *getenv(char const *name);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float log10f(float x);
+int putenv(char *string);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_postive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern long double log10l(long double x);
+int setenv(char const *name, char const *value, int overwrite);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern double log2(double x);
+int unsetenv(char const *name);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float log2f(float x);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern  __attribute__((__noreturn__)) void quick_exit(int status);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x > 0;
-    ensures finite_result: \is_finite(\result);
+/*@ requires
+      null_or_valid_string_command:
+        command ≡ \null ∨ valid_read_string(command);
     assigns \result;
-    assigns \result \from x;
+    assigns \result
+      \from (indirect: command), (indirect: *(command + (0 ..)));
  */
-extern long double log2l(long double x);
-
-double fabs(double x);
-
-float fabsf(float x);
+extern int system(char const *command);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures res_finite: \is_finite(\result);
-    ensures positive_result: \result ≥ 0.;
+/*@ requires valid_function_compar: \valid_function(compar);
     ensures
-      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
+      null_or_correct_result:
+        \result ≡ \null ∨
+        \subset(\result,
+               (void *)((char *)\old(base) +
+                        (0 .. \old(size) * (\old(nmemb) - 1))));
     assigns \result;
-    assigns \result \from x;
+    assigns \result
+      \from (indirect: key), *((char *)key + (0 .. size - 1)), base,
+            *((char *)base + (0 .. size * (nmemb - 1))), (indirect: nmemb),
+            (indirect: size), (indirect: *compar);
  */
-extern long double fabsl(long double x);
+extern void *bsearch(void const *key, void const *base, size_t nmemb,
+                     size_t size, int (*compar)(void const *, void const *));
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_logic_res: \is_finite(pow(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
+/*@ requires valid_function_compar: \valid_function(compar);
+    assigns *((char *)base + (0 ..));
+    assigns *((char *)base + (0 ..))
+      \from (indirect: base), *((char *)base + (0 ..)), (indirect: nmemb),
+            (indirect: size), (indirect: compar), (indirect: *compar);
  */
-extern double pow(double x, double y);
+extern void qsort(void *base, size_t nmemb, size_t size,
+                  int (*compar)(void const *, void const *));
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_logic_res: \is_finite(powf(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
- */
-extern float powf(float x, float y);
+int abs(int i);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x ≥ -0.;
-    ensures finite_result: \is_finite(\result);
-    ensures positive_result: \result ≥ -0.;
+/*@ requires abs_representable: j > -2147483647L - 1L;
     assigns \result;
-    assigns \result \from x;
+    assigns \result \from j;
+    
+    behavior negative:
+      assumes negative: j < 0;
+      ensures opposite_result: \result ≡ -\old(j);
+    
+    behavior nonnegative:
+      assumes nonnegative: j ≥ 0;
+      ensures same_result: \result ≡ \old(j);
+    
+    complete behaviors nonnegative, negative;
+    disjoint behaviors nonnegative, negative;
  */
-extern double sqrt(double x);
+extern long labs(long j);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x ≥ -0.;
-    ensures finite_result: \is_finite(\result);
-    ensures positive_result: \result ≥ -0.;
+/*@ requires abs_representable: j > -9223372036854775807LL - 1LL;
     assigns \result;
-    assigns \result \from x;
+    assigns \result \from j;
+    
+    behavior negative:
+      assumes negative: j < 0;
+      ensures opposite_result: \result ≡ -\old(j);
+    
+    behavior nonnegative:
+      assumes nonnegative: j ≥ 0;
+      ensures same_result: \result ≡ \old(j);
+    
+    complete behaviors nonnegative, negative;
+    disjoint behaviors nonnegative, negative;
  */
-extern float sqrtf(float x);
+extern long long llabs(long long j);
 
-/*@ requires finite_arg: \is_finite(x);
-    requires arg_positive: x ≥ -0.;
-    ensures finite_result: \is_finite(\result);
-    ensures positive_result: \result ≥ -0.;
-    assigns \result;
-    assigns \result \from x;
- */
-extern long double sqrtl(long double x);
+/*@ assigns \result;
+    assigns \result \from numer, denom; */
+extern div_t div(int numer, int denom);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern double ceil(double x);
+/*@ assigns \result;
+    assigns \result \from numer, denom; */
+extern ldiv_t ldiv(long numer, long denom);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float ceilf(float x);
+/*@ assigns \result;
+    assigns \result \from numer, denom; */
+extern lldiv_t lldiv(long long numer, long long denom);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern long double ceill(long double x);
+/*@ ghost extern int __fc_mblen_state; */
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ assigns \result, __fc_mblen_state;
+    assigns \result
+      \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n),
+            __fc_mblen_state;
+    assigns __fc_mblen_state
+      \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n),
+            __fc_mblen_state;
  */
-extern double floor(double x);
+extern int mblen(char const *s, size_t n);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float floorf(float x);
+/*@ ghost extern int __fc_mbtowc_state; */
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ requires separation: \separated(pwc, s);
+    ensures consumed_range: \result ≤ \old(n);
+    assigns \result, *(pwc + (0 .. \result - 1)), __fc_mbtowc_state;
+    assigns \result
+      \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n),
+            __fc_mbtowc_state;
+    assigns *(pwc + (0 .. \result - 1))
+      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n),
+            __fc_mbtowc_state;
+    assigns __fc_mbtowc_state
+      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n),
+            __fc_mbtowc_state;
  */
-extern long double floorl(long double x);
+extern int mbtowc(wchar_t * __restrict pwc, char const * __restrict s,
+                  size_t n);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern double round(double x);
+/*@ ghost extern int __fc_wctomb_state; */
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ assigns \result, *(s + (0 ..)), __fc_wctomb_state;
+    assigns \result \from (indirect: wc), __fc_wctomb_state;
+    assigns *(s + (0 ..)) \from wc, __fc_wctomb_state;
+    assigns __fc_wctomb_state \from wc, __fc_wctomb_state;
  */
-extern float roundf(float x);
+extern int wctomb(char *s, wchar_t wc);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ requires separation: \separated(pwcs, s);
+    assigns \result, *(pwcs + (0 .. n - 1));
+    assigns \result
+      \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n);
+    assigns *(pwcs + (0 .. n - 1))
+      \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n);
  */
-extern long double roundl(long double x);
+extern size_t mbstowcs(wchar_t * __restrict pwcs, char const * __restrict s,
+                       size_t n);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ requires separation: \separated(s, pwcs);
+    assigns \result, *(s + (0 .. n - 1));
+    assigns \result
+      \from (indirect: pwcs), (indirect: *(pwcs + (0 .. n - 1))),
+            (indirect: n);
+    assigns *(s + (0 .. n - 1))
+      \from (indirect: pwcs), *(pwcs + (0 .. n - 1)), (indirect: n);
  */
-extern double trunc(double x);
+extern size_t wcstombs(char * __restrict s, wchar_t const * __restrict pwcs,
+                       size_t n);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
- */
-extern float truncf(float x);
+int posix_memalign(void **memptr, size_t alignment, size_t size);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x;
+/*@ requires valid_template: valid_string(templat);
+    ensures
+      result_error_or_valid_fd: \result ≡ -1 ∨ (0 ≤ \result < 16);
+    assigns *(templat + (0 ..)), \result;
+    assigns *(templat + (0 ..)) \from \nothing;
+    assigns \result \from \nothing;
  */
-extern long double truncl(long double x);
+extern int mkstemp(char *templat);
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_logic_result: \is_finite(fmod(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
- */
-extern double fmod(double x, double y);
+int glob(char const *pattern, int flags,
+         int (*errfunc)(char const *epath, int eerrno), glob_t *pglob)
+{
+  int __retres;
+  int tmp;
+  unsigned int tmp_0;
+  char **tmp_1;
+  int tmp_4;
+  tmp = Frama_C_interval(0,10);
+  pglob->gl_pathc = (unsigned int)tmp;
+  if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0;
+  size_t reserve_offs = tmp_0;
+  size_t prev_len = (unsigned int)0;
+  if (flags & (1 << 5)) 
+    while (*(pglob->gl_pathv + (reserve_offs + prev_len))) prev_len += (size_t)1;
+  if (flags & (1 << 5)) tmp_1 = pglob->gl_pathv; else tmp_1 = (char **)0;
+  char **path = tmp_1;
+  if (pglob->gl_pathc == (unsigned int)0) 
+    if (flags & (1 << 4)) {
+      pglob->gl_pathv = (char **)realloc((void *)path,
+                                         ((reserve_offs + prev_len) + (size_t)2) * sizeof(char *));
+      if (! pglob->gl_pathv) {
+        __retres = 1;
+        goto return_label;
+      }
+      {
+        size_t i = (unsigned int)0;
+        while (i < reserve_offs) {
+          *(pglob->gl_pathv + i) = (char *)0;
+          i += (size_t)1;
+        }
+      }
+      *(pglob->gl_pathv + (reserve_offs + prev_len)) = (char *)pattern;
+      *(pglob->gl_pathv + ((reserve_offs + prev_len) + (size_t)1)) = (char *)0;
+      __retres = 0;
+      goto return_label;
+    }
+    else {
+      __retres = 3;
+      goto return_label;
+    }
+  pglob->gl_pathv = (char **)realloc((void *)path,
+                                     (((reserve_offs + prev_len) + pglob->gl_pathc) + (size_t)1) * sizeof(char *));
+  if (! pglob->gl_pathv) {
+    __retres = 1;
+    goto return_label;
+  }
+  {
+    size_t i_0 = (unsigned int)0;
+    while (i_0 < reserve_offs) {
+      *(pglob->gl_pathv + i_0) = (char *)0;
+      i_0 += (size_t)1;
+    }
+  }
+  {
+    size_t i_1 = (unsigned int)0;
+    while (i_1 < pglob->gl_pathc) {
+      *(pglob->gl_pathv + ((reserve_offs + prev_len) + i_1)) = (char *)"glob result";
+      i_1 += (size_t)1;
+    }
+  }
+  *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0;
+  tmp_4 = Frama_C_nondet(0,1);
+  if (tmp_4) {
+    __retres = 0;
+    goto return_label;
+  }
+  else {
+    if (errfunc) {
+      int tmp_3;
+      int tmp_2;
+      tmp_2 = Frama_C_interval(0,255);
+      tmp_3 = (*errfunc)("glob.c error path",tmp_2);
+      int res = tmp_3;
+      if (res) {
+        __retres = 2;
+        goto return_label;
+      }
+      else 
+        if (flags & (1 << 0)) {
+          __retres = 2;
+          goto return_label;
+        }
+    }
+    __retres = 0;
+    goto return_label;
+  }
+  return_label: return __retres;
+}
 
-/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
-    requires finite_logic_result: \is_finite(fmodf(x, y));
-    ensures finite_result: \is_finite(\result);
-    assigns \result;
-    assigns \result \from x, y;
- */
-extern float fmodf(float x, float y);
+void globfree(glob_t *pglob)
+{
+  if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv);
+  return;
+}
 
-/*@ requires tagp_valid_string: valid_read_string(tagp);
-    ensures result_is_nan: \is_NaN(\result);
-    assigns \result;
-    assigns \result \from (indirect: *(tagp + (0 ..)));
- */
-extern double nan(char const *tagp);
+intmax_t imaxabs(intmax_t c);
 
-/*@ requires tagp_valid_string: valid_read_string(tagp);
-    ensures result_is_nan: \is_NaN(\result);
-    assigns \result;
-    assigns \result \from (indirect: *(tagp + (0 ..)));
- */
-extern float nanf(char const *tagp);
+imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
 
-/*@ requires tagp_valid_string: valid_read_string(tagp);
-    ensures result_is_nan: \is_NaN(\result);
-    assigns \result;
-    assigns \result \from (indirect: *(tagp + (0 ..)));
+/*@ assigns \result, *(endptr + (..)), __fc_errno;
+    assigns \result \from *(nptr + (..)), base;
+    assigns *(endptr + (..)) \from *(nptr + (..)), base;
+    assigns __fc_errno \from *(nptr + (..)), base;
  */
-extern long double nanl(char const *tagp);
-
-int __finitef(float f);
-
-int __finite(double d);
+extern intmax_t strtoimax(char const * __restrict nptr,
+                          char ** __restrict endptr, int base);
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures res_finite: \is_finite(\result);
-    ensures positive_result: \result ≥ 0.;
-    ensures
-      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
+/*@ requires abs_representable: (long long)(-c) ≢ c;
     assigns \result;
-    assigns \result \from x;
+    assigns \result \from c;
  */
-double fabs(double x)
+intmax_t imaxabs(intmax_t c)
 {
-  double __retres;
-  if (x == 0.0) {
-    __retres = 0.0;
+  intmax_t __retres;
+  if (c > (intmax_t)0) {
+    __retres = c;
     goto return_label;
   }
-  if (x > 0.0) {
-    __retres = x;
+  else {
+    __retres = - c;
     goto return_label;
   }
-  __retres = - x;
   return_label: return __retres;
 }
 
-/*@ requires finite_arg: \is_finite(x);
-    ensures res_finite: \is_finite(\result);
-    ensures positive_result: \result ≥ 0.;
-    ensures
-      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
+/*@ requires no_div_by_zero: denom ≢ 0;
+    requires no_overflow: denom ≢ -1 ∨ (long long)(-numer) ≢ numer;
+    ensures correct_div: \result.quot ≡ \old(numer) / \old(denom);
+    ensures correct_mod: \result.rem ≡ \old(numer) % \old(denom);
     assigns \result;
-    assigns \result \from x;
+    assigns \result \from numer, denom;
  */
-float fabsf(float x)
+imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom)
 {
-  float __retres;
-  if (x == 0.0f) {
-    __retres = 0.0f;
-    goto return_label;
-  }
-  else 
-    if (x > 0.0f) {
-      __retres = x;
-      goto return_label;
-    }
-    else {
-      __retres = - x;
-      goto return_label;
-    }
-  return_label: return __retres;
+  imaxdiv_t r;
+  r.quot = numer / denom;
+  r.rem = numer % denom;
+  return r;
 }
 
-int __finitef(float f)
-{
-  int __retres;
-  union __fc_u_finitef u;
-  unsigned short usExp;
-  u.f = f;
-  usExp = (unsigned short)((int)u.w[1] & 0x7F80);
-  usExp = (unsigned short)((int)usExp >> 7);
-  __retres = ! ((int)usExp == 0xff);
-  return __retres;
-}
+extern struct lconv *__fc_locale;
 
-int __finite(double d)
-{
-  int __retres;
-  union __fc_u_finite u;
-  unsigned short usExp;
-  u.d = d;
-  usExp = (unsigned short)((int)u.w[3] & 0x7F80);
-  usExp = (unsigned short)((int)usExp >> 7);
-  __retres = ! ((int)usExp == 0xff);
-  return __retres;
-}
+extern char *__fc_locale_names[512];
 
-/*@ assigns \nothing; */
-extern void (*signal(int sig, void (*func)(int )))(int );
+char *setlocale(int category, char const *locale);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern int raise(int sig);
+struct lconv *localeconv(void);
 
-/*@ requires valid_set: \valid(set);
-    ensures initialization: set: \initialized(\old(set));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *set, \result;
-    assigns *set \from \nothing;
-    assigns \result \from \nothing;
+struct lconv __C_locale =
+  {.decimal_point = (char *)".",
+   .thousands_sep = (char *)"",
+   .grouping = (char *)"",
+   .int_curr_symbol = (char *)"",
+   .currency_symbol = (char *)"",
+   .mon_decimal_point = (char *)"",
+   .mon_thousands_sep = (char *)"",
+   .mon_grouping = (char *)"",
+   .positive_sign = (char *)"",
+   .negative_sign = (char *)"",
+   .int_frac_digits = (char)127,
+   .frac_digits = (char)127,
+   .p_cs_precedes = (char)127,
+   .p_sep_by_space = (char)127,
+   .n_cs_precedes = (char)127,
+   .n_sep_by_space = (char)127,
+   .p_sign_posn = (char)127,
+   .n_sign_posn = (char)127,
+   .int_p_cs_precedes = (char)127,
+   .int_p_sep_by_space = (char)127,
+   .int_n_cs_precedes = (char)127,
+   .int_n_sep_by_space = (char)127,
+   .int_p_sign_posn = (char)127,
+   .int_n_sign_posn = (char)127};
+struct lconv *__frama_c_locale = & __C_locale;
+char *__frama_c_locale_names[512] = {(char *)"C"};
+/*@ requires
+      locale_null_or_valid_string:
+        locale ≡ \null ∨ valid_read_string(locale);
+    ensures
+      result_null_or_locale_name:
+        \result ≡ \null ∨
+        (\valid(\result) ∧ (∃ ℤ i; \result ≡ __fc_locale_names[i]));
+    assigns __fc_locale, \result;
+    assigns __fc_locale \from category, *(locale + (..));
+    assigns \result \from __fc_locale, category, *(locale + (..));
  */
-extern int sigemptyset(sigset_t *set);
+char *setlocale(int category, char const *locale)
+{
+  char *__retres;
+  if ((int)*locale == 'C') {
+    __frama_c_locale = & __C_locale;
+    __retres = __frama_c_locale_names[0];
+    goto return_label;
+  }
+  __retres = (char *)0;
+  return_label: return __retres;
+}
 
-/*@ requires valid_set: \valid(set);
-    ensures initialization: set: \initialized(\old(set));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *set, \result;
-    assigns *set \from \nothing;
-    assigns \result \from \nothing;
+/*@ ensures result_current_locale: \result ≡ __fc_locale;
+    assigns \nothing;
  */
-extern int sigfillset(sigset_t *set);
+struct lconv *localeconv(void)
+{
+  return __frama_c_locale;
+}
 
-/*@ requires valid_set: \valid(set);
-    requires initialization: set: \initialized(set);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *set, \result;
-    assigns *set \from (indirect: signum);
-    assigns \result \from signum;
+/*@ assigns \result;
+    assigns \result \from x;
+    
+    behavior nan:
+      assumes is_nan: \is_NaN(x);
+      ensures fp_nan: \result ≡ 0;
+    
+    behavior inf:
+      assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x);
+      ensures fp_infinite: \result ≡ 1;
+    
+    behavior zero:
+      assumes is_a_zero: x ≡ 0.0;
+      ensures fp_zero: \result ≡ 2;
+    
+    behavior subnormal:
+      assumes is_finite: \is_finite(x);
+      assumes
+        is_subnormal:
+          (x > 0.0 ∧ x < 0x1p-126) ∨ (x < 0.0 ∧ x > -0x1p-126);
+      ensures fp_subnormal: \result ≡ 3;
+    
+    behavior normal:
+      assumes is_finite: \is_finite(x);
+      assumes not_subnormal: x ≤ -0x1p-126 ∨ x ≥ 0x1p-126;
+      ensures fp_normal: \result ≡ 4;
+    
+    complete behaviors normal, subnormal, zero, inf, nan;
+    disjoint behaviors normal, subnormal, zero, inf, nan;
  */
-extern int sigaddset(sigset_t *set, int signum);
+int __fc_fpclassifyf(float x);
 
-/*@ requires valid_set: \valid(set);
-    requires initialization: set: \initialized(set);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *set, \result;
-    assigns *set \from (indirect: signum);
-    assigns \result \from signum;
+/*@ assigns \result;
+    assigns \result \from x;
+    
+    behavior nan:
+      assumes is_nan: \is_NaN(x);
+      ensures fp_nan: \result ≡ 0;
+    
+    behavior inf:
+      assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x);
+      ensures fp_infinite: \result ≡ 1;
+    
+    behavior zero:
+      assumes is_a_zero: x ≡ 0.0;
+      ensures fp_zero: \result ≡ 2;
+    
+    behavior subnormal:
+      assumes is_finite: \is_finite(x);
+      assumes
+        is_subnormal:
+          (x > 0.0 ∧ x < 0x1p-1022) ∨ (x < 0.0 ∧ x > -0x1p-1022);
+      ensures fp_subnormal: \result ≡ 3;
+    
+    behavior normal:
+      assumes is_finite: \is_finite(x);
+      assumes not_subnormal: x ≤ -0x1p-1022 ∨ x ≥ 0x1p-1022;
+      ensures fp_normal: \result ≡ 4;
+    
+    complete behaviors normal, subnormal, zero, inf, nan;
+    disjoint behaviors normal, subnormal, zero, inf, nan;
  */
-extern int sigdelset(sigset_t *set, int signum);
+int __fc_fpclassify(double x);
 
-/*@ requires valid_read_set: \valid_read(set);
-    requires initialization: set: \initialized(set);
-    ensures
-      result_found_not_found_or_error:
-        \result ≡ 0 ∨ \result ≡ 1 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from *set, signum;
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, normal;
  */
-extern int sigismember(sigset_t const *set, int signum);
+extern double acos(double x);
 
-struct sigaction __fc_sigaction[64 + 1];
-struct sigaction *__fc_p_sigaction = __fc_sigaction;
-/*@ requires valid_signal: 0 ≤ signum ≤ 64;
-    requires valid_oldact_or_null: oldact ≡ \null ∨ \valid(oldact);
-    requires valid_read_act_or_null: act ≡ \null ∨ \valid_read(act);
-    requires separation: separated_acts: \separated(act, oldact);
-    ensures
-      act_changed:
-        \old(act) ≡ \null ∨
-        \subset(*(__fc_p_sigaction + \old(signum)), *\old(act));
-    ensures
-      oldact_assigned:
-        \old(oldact) ≡ \null ∨
-        *\old(oldact) ∈ *(__fc_p_sigaction + \old(signum));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *oldact, *(__fc_p_sigaction + signum), \result;
-    assigns *oldact \from __fc_p_sigaction;
-    assigns *(__fc_p_sigaction + signum) \from *act;
-    assigns \result
-      \from (indirect: signum), (indirect: act), (indirect: *act),
-            (indirect: oldact), (indirect: *oldact);
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, normal;
  */
-extern int sigaction(int signum, struct sigaction const * __restrict act,
-                     struct sigaction * __restrict oldact);
+extern float acosf(float x);
 
-/*@ requires valid_set_or_null: set ≡ \null ∨ \valid_read(set);
-    requires valid_how: set ≢ \null ⇒ how ∈ {0, 2, 1};
-    requires valid_oldset_or_null: oldset ≡ \null ∨ \valid(oldset);
-    requires
-      separation: (set ≡ oldset ≡ \null) ∨ \separated(set, oldset);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    ensures
-      initialization: oldset_initialized:
-        \old(oldset) ≢ \null ∧ \result ≡ 0 ⇒
-        \initialized(\old(oldset));
-    assigns \result, *oldset;
-    assigns \result
-      \from (indirect: how), (indirect: set), (indirect: oldset);
-    assigns *oldset \from (indirect: how), (indirect: oldset);
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, normal;
  */
-extern int sigprocmask(int how, sigset_t const * __restrict set,
-                       sigset_t * __restrict oldset);
+extern long double acosl(long double x);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: pid), (indirect: sig);
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures finite_result: \is_finite(\result);
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, normal;
  */
-extern int kill(pid_t pid, int sig);
+extern double asin(double x);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: pgrp), (indirect: sig);
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures finite_result: \is_finite(\result);
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, normal;
  */
-extern int killpg(pid_t pgrp, int sig);
-
-/*@ ghost struct __fc_sockfds_type __fc_sockfds[1024]; */
-/*@ ghost extern int __fc_socket_counter __attribute__((__FRAMA_C_MODEL__));
-*/
+extern float asinf(float x);
 
-/*@ ghost int volatile __fc_open_sock_fds; */
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    ensures
-      result_error_or_valid_new_sockfd:
-        \result ≡ -1 ∨ (0 ≤ \result < 1024);
-    assigns \result, *((char *)addr + (0 .. *addrlen - 1)),
-            __fc_sockfds[sockfd];
-    assigns \result \from *addr, *addrlen, __fc_sockfds[sockfd];
-    assigns *((char *)addr + (0 .. *addrlen - 1))
-      \from *addr, *addrlen, __fc_sockfds[sockfd];
-    assigns __fc_sockfds[sockfd] \from *addr, *addrlen, __fc_sockfds[sockfd];
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
     
-    behavior addr_null:
-      assumes addr_is_null: addr ≡ \null;
-      requires addrlen_should_be_null: addrlen ≡ \null;
-      assigns \result, __fc_sockfds[sockfd];
-      assigns \result \from __fc_sockfds[sockfd];
-      assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd];
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1;
+      ensures finite_result: \is_finite(\result);
+      assigns \result;
+      assigns \result \from x;
     
-    behavior addr_not_null:
-      assumes addr_is_not_null: addr ≢ \null;
-      requires valid_addrlen: \valid(addrlen);
-      requires addr_has_room: \valid((char *)addr + (0 .. *addrlen - 1));
-      ensures
-        initialization: addr:
-          \initialized((char *)\old(addr) + (0 .. *\old(addrlen) - 1));
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
     
-    disjoint behaviors addr_not_null, addr_null;
+    disjoint behaviors domain_error, normal;
  */
-extern int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+extern long double asinl(long double x);
 
-/*@ requires valid_sockfd: sockfd: 0 ≤ sockfd < 1024;
-    requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns __fc_sockfds[sockfd], \result;
-    assigns __fc_sockfds[sockfd]
-      \from sockfd, *addr, addrlen, __fc_sockfds[sockfd];
-    assigns \result
-      \from (indirect: sockfd), (indirect: *addr), (indirect: addrlen),
-            (indirect: __fc_sockfds[sockfd]);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int bind(int sockfd, struct sockaddr const *addr, socklen_t addrlen);
+extern float atanf(float x);
 
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns __fc_sockfds[sockfd], \result;
-    assigns __fc_sockfds[sockfd]
-      \from __fc_sockfds[sockfd], (indirect: sockfd), (indirect: addr),
-            (indirect: *addr), (indirect: addrlen);
-    assigns \result
-      \from (indirect: __fc_sockfds[sockfd]), (indirect: sockfd),
-            (indirect: addr), (indirect: *addr), (indirect: addrlen);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int connect(int sockfd, struct sockaddr const *addr, socklen_t addrlen);
+extern double atan(double x);
 
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    requires valid_optlen: \valid(optlen);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *((char *)optval + (0 ..)), \result, *optlen;
-    assigns *((char *)optval + (0 ..))
-      \from (indirect: sockfd), (indirect: level), (indirect: optname),
-            (indirect: *optlen), (indirect: optval),
-            (indirect: __fc_sockfds[sockfd]);
-    assigns \result
-      \from (indirect: sockfd), (indirect: level), (indirect: optname),
-            (indirect: *optlen), (indirect: optval),
-            (indirect: __fc_sockfds[sockfd]);
-    assigns *optlen
-      \from (indirect: sockfd), (indirect: level), (indirect: optname),
-            *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]);
-    
-    behavior so_error:
-      assumes optname_is_error: level ≡ 1 ∧ optname ≡ 4;
-      requires valid_optlen: \valid(optlen);
-      requires optlen_value: *optlen ≡ sizeof(int);
-      requires valid_optval: \valid((int *)optval);
-      assigns *((int *)optval), \result;
-      assigns *((int *)optval)
-        \from (indirect: sockfd), (indirect: optlen),
-              (indirect: __fc_sockfds[sockfd]);
-      assigns \result
-        \from (indirect: sockfd), (indirect: optlen),
-              (indirect: __fc_sockfds[sockfd]);
-    
-    behavior other_options:
-      assumes optname_not_error: ¬(level ≡ 1 ∧ optname ≡ 4);
-      requires
-        optval_null_or_valid:
-          optval ≡ \null ∨ \valid((char *)optval + (0 ..));
-      assigns *((char *)optval + (0 ..)), \result, *optlen;
-      assigns *((char *)optval + (0 ..))
-        \from (indirect: sockfd), (indirect: level), (indirect: optname),
-              (indirect: *optlen), (indirect: optval),
-              (indirect: __fc_sockfds[sockfd]);
-      assigns \result
-        \from (indirect: sockfd), (indirect: level), (indirect: optname),
-              (indirect: *optlen), (indirect: optval),
-              (indirect: __fc_sockfds[sockfd]);
-      assigns *optlen
-        \from (indirect: sockfd), (indirect: level), (indirect: optname),
-              *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]);
-    
-    complete behaviors other_options, so_error;
-    disjoint behaviors other_options, so_error;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1.571 ≤ \result ≤ 1.571;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int getsockopt(int sockfd, int level, int optname, void *optval,
-                      socklen_t *optlen);
+extern long double atanl(long double x);
 
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_sockfds[sockfd];
-    assigns \result \from sockfd, __fc_sockfds[sockfd];
-    assigns __fc_sockfds[sockfd] \from sockfd, backlog, __fc_sockfds[sockfd];
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_result: \is_finite(atan2(x, y));
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x, y;
  */
-extern int listen(int sockfd, int backlog);
-
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    requires valid_buffer_length: \valid((char *)buf + (0 .. len - 1));
-    ensures
-      result_error_or_received_length:
-        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len));
-    ensures
-      initialization: \initialized((char *)\old(buf) + (0 .. \result - 1));
-    assigns *((char *)buf + (0 .. len - 1)), __fc_sockfds[sockfd], \result;
-    assigns *((char *)buf + (0 .. len - 1))
-      \from sockfd, len, flags, __fc_sockfds[sockfd];
-    assigns __fc_sockfds[sockfd]
-      \from sockfd, len, flags, __fc_sockfds[sockfd];
-    assigns \result \from sockfd, len, flags, __fc_sockfds[sockfd];
- */
-extern ssize_t recv(int sockfd, void *buf, size_t len, int flags);
-
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    requires
-      msg_control_has_room:
-        \valid((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1));
-    requires
-      msg_iov_has_room: \valid(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1));
-    requires
-      msg_name_null_or_has_room:
-        hdr->msg_name ≡ \null ∨
-        \valid((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1));
-    ensures
-      result_error_or_received_length:
-        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(hdr)->msg_iovlen);
-    assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)),
-            hdr->msg_namelen,
-            *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base +
-              (0 ..)),
-            *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)),
-            \result, hdr->msg_controllen, hdr->msg_flags,
-            __fc_sockfds[sockfd];
-    assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1))
-      \from __fc_sockfds[sockfd];
-    assigns hdr->msg_namelen \from __fc_sockfds[sockfd];
-    assigns
-    *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + (0 ..))
-      \from __fc_sockfds[sockfd];
-    assigns *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1))
-      \from __fc_sockfds[sockfd];
-    assigns \result \from __fc_sockfds[sockfd];
-    assigns hdr->msg_controllen \from __fc_sockfds[sockfd];
-    assigns hdr->msg_flags \from __fc_sockfds[sockfd];
-    assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd];
- */
-extern ssize_t recvmsg(int sockfd, struct msghdr *hdr, int flags);
+extern double atan2(double y, double x);
 
-/*@ requires available_sockfd: 0 ≤ sockfd < 1024;
-    requires buf_len_ok: \valid_read((char *)buf + (0 .. len - 1));
-    ensures
-      error_or_chars_sent: \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len));
-    assigns __fc_errno, __fc_sockfds[sockfd], \result;
-    assigns __fc_errno
-      \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]),
-            (indirect: *((char *)buf + (0 .. len))), flags;
-    assigns __fc_sockfds[sockfd]
-      \from __fc_sockfds[sockfd], *((char *)buf + (0 .. len)), flags;
-    assigns \result
-      \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]),
-            (indirect: *((char *)buf + (0 .. len))), (indirect: flags);
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_logic_result: \is_finite(atan2f(x, y));
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x, y;
  */
-extern ssize_t send(int sockfd, void const *buf, size_t len, int flags);
+extern float atan2f(float y, float x);
 
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    requires
-      optval_null_or_has_room:
-        optval ≡ \null ∨ \valid_read((char *)optval + (0 .. optlen - 1));
-    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_sockfds[sockfd];
-    assigns \result
-      \from __fc_sockfds[sockfd], level, optname,
-            *((char *)optval + (0 .. optlen - 1)), optlen;
-    assigns __fc_sockfds[sockfd]
-      \from __fc_sockfds[sockfd], level, optname,
-            *((char *)optval + (0 .. optlen - 1)), optlen;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int setsockopt(int sockfd, int level, int optname, void const *optval,
-                      socklen_t optlen);
+extern double cos(double x);
 
-/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
-    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_sockfds[sockfd];
-    assigns \result \from how, __fc_sockfds[sockfd];
-    assigns __fc_sockfds[sockfd] \from how, __fc_sockfds[sockfd];
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int shutdown(int sockfd, int how);
+extern float cosf(float x);
 
-/*@ ensures
-      result_error_or_valid_new_sockfd:
-        (0 ≤ \result < 1024) ∨ \result ≡ -1;
-    assigns \result, __fc_socket_counter;
-    assigns \result
-      \from (indirect: domain), (indirect: type), (indirect: protocol),
-            (indirect: __fc_socket_counter);
-    assigns __fc_socket_counter
-      \from (indirect: domain), (indirect: type), (indirect: protocol),
-            __fc_socket_counter;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int socket(int domain, int type, int protocol);
+extern long double cosl(long double x);
 
-/*@ requires valid_socket_sector: \valid(sv + (0 .. 1));
-    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
-    ensures initialization: sv: \initialized(\old(sv) + (0 .. 1));
-    ensures valid_new_sockfd: sv0: 0 ≤ *(\old(sv) + 0) < 1024;
-    ensures valid_new_sockfd: sv1: 0 ≤ *(\old(sv) + 1) < 1024;
-    assigns \result, __fc_socket_counter, *(sv + (0 .. 1));
-    assigns \result \from __fc_socket_counter;
-    assigns __fc_socket_counter \from __fc_socket_counter;
-    assigns *(sv + (0 .. 1)) \from __fc_socket_counter;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
+    assigns \result;
+    assigns \result \from x;
  */
-extern int socketpair(int domain, int type, int protocol, int * /*[2]*/ sv);
-
-struct in6_addr const in6addr_any = {.s6_addr = {(unsigned char)0}};
-struct in6_addr const in6addr_loopback =
-  {.s6_addr = {(unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF,
-               (unsigned char)0xFF}};
-/*@ assigns \result;
-    assigns \result \from arg; */
-extern uint32_t htonl(uint32_t arg);
-
-/*@ assigns \result;
-    assigns \result \from arg; */
-extern uint16_t htons(uint16_t arg);
-
-/*@ assigns \result;
-    assigns \result \from arg; */
-extern uint32_t ntohl(uint32_t arg);
-
-/*@ assigns \result;
-    assigns \result \from arg; */
-extern uint16_t ntohs(uint16_t arg);
+extern double sin(double x);
 
-/*@ requires valid_arg: valid_read_string(arg);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
     assigns \result;
-    assigns \result \from (indirect: *(arg + (0 ..)));
+    assigns \result \from x;
  */
-extern in_addr_t inet_addr(char const *arg);
+extern float sinf(float x);
 
-char volatile __fc_inet_ntoa_array[16];
-char *__fc_inet_ntoa = (char *)(__fc_inet_ntoa_array);
-/*@ ensures result_static_string: \result ≡ __fc_inet_ntoa;
-    ensures result_null_terminated: *(\result + 15) ≡ 0;
-    ensures result_valid_string: valid_read_string(\result);
-    assigns \result, *(__fc_inet_ntoa + (0 ..));
-    assigns \result \from (indirect: arg), __fc_inet_ntoa;
-    assigns *(__fc_inet_ntoa + (0 ..)) \from (indirect: arg);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    ensures result_domain: -1. ≤ \result ≤ 1.;
+    assigns \result;
+    assigns \result \from x;
  */
-extern char *inet_ntoa(struct in_addr arg);
+extern long double sinl(long double x);
 
-/*@ assigns \result, *(dst + (0 .. size - 1));
-    assigns \result \from dst, af, *((char *)src + (0 ..));
-    assigns *(dst + (0 .. size - 1)) \from af, *((char *)src + (0 ..));
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior infinite:
+      assumes is_plus_infinity: \is_plus_infinity(x);
+      ensures result_plus_infinity: \is_plus_infinity(\result);
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, infinite, normal;
  */
-extern char const *inet_ntop(int af, void const *src, char *dst,
-                             socklen_t size);
+extern double acosh(double x);
 
-/*@ assigns \result, *((char *)dst + (0 ..));
-    assigns \result \from af, *(src + (..));
-    assigns *((char *)dst + (0 ..)) \from af, *(src + (0 ..));
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior infinite:
+      assumes is_plus_infinity: \is_plus_infinity(x);
+      ensures result_plus_infinity: \is_plus_infinity(\result);
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, infinite, normal;
  */
-extern int inet_pton(int af, char const *src, void *dst);
+extern float acoshf(float x);
 
-int h_errno;
-/*@ requires addrinfo_valid: \valid(addrinfo);
-    ensures allocation: \allocable(\old(addrinfo));
-    assigns \nothing;
-    frees addrinfo;
+/*@ assigns __fc_errno, \result;
+    assigns __fc_errno \from x;
+    assigns \result \from x;
+    
+    behavior normal:
+      assumes in_domain: \is_finite(x) ∧ x ≥ 1;
+      ensures positive_result: \is_finite(\result) ∧ \result ≥ 0;
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior infinite:
+      assumes is_plus_infinity: \is_plus_infinity(x);
+      ensures result_plus_infinity: \is_plus_infinity(\result);
+      assigns \result;
+      assigns \result \from x;
+    
+    behavior domain_error:
+      assumes
+        out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1);
+      ensures errno_set: __fc_errno ≡ 1;
+      assigns __fc_errno, \result;
+      assigns __fc_errno \from x;
+      assigns \result \from x;
+    
+    disjoint behaviors domain_error, infinite, normal;
  */
-extern void freeaddrinfo(struct addrinfo *addrinfo);
+extern long double acoshl(long double x);
 
-char *__fc_gai_strerror = (char *)"<error message reported by gai_strerror>";
-/*@ ensures result_string: \result ≡ __fc_gai_strerror;
-    ensures result_valid_string: valid_read_string(\result);
+/*@ requires finite_arg: \is_finite(x);
+    requires finite_domain: x ≤ 0x1.62e42fefa39efp+9;
+    ensures res_finite: \is_finite(\result);
+    ensures positive_result: \result > 0.;
     assigns \result;
-    assigns \result \from (indirect: errcode), __fc_gai_strerror;
+    assigns \result \from x;
  */
-extern char const *gai_strerror(int errcode);
+extern double exp(double x);
 
-int getaddrinfo(char const * __restrict nodename,
-                char const * __restrict servname,
-                struct addrinfo const * __restrict hints,
-                struct addrinfo ** __restrict res);
+/*@ requires finite_arg: \is_finite(x);
+    requires res_finite: x ≤ 0x1.62e42ep+6;
+    ensures res_finite: \is_finite(\result);
+    ensures positive_result: \result > 0.;
+    assigns \result;
+    assigns \result \from x;
+ */
+extern float expf(float x);
 
-struct hostent *gethostbyname(char const *name);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern double log(double x);
 
-/*@
-predicate non_escaping{L}(void *s, size_t n) =
-  ∀ unsigned int i; 0 ≤ i < n ⇒ ¬\dangling((char *)s + i);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-/*@
-predicate empty_block{L}(void *s) =
-  \block_length((char *)s) ≡ 0 ∧ \offset((char *)s) ≡ 0;
+extern float logf(float x);
+
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_pos: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-/*@
-predicate valid_or_empty{L}(void *s, size_t n) =
-  (empty_block(s) ∨ \valid_read((char *)s)) ∧
-  \valid((char *)s + (0 .. n - 1));
+extern long double logl(long double x);
+
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-/*@
-predicate valid_read_or_empty{L}(void *s, size_t n) =
-  (empty_block(s) ∨ \valid_read((char *)s)) ∧
-  \valid_read((char *)s + (1 .. n - 1));
+extern double log10(double x);
 
-*/
-int memcmp(void const *s1, void const *s2, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern float log10f(float x);
 
-void *memchr(void const *s, int c, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_postive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern long double log10l(long double x);
 
-void *memcpy(void * __restrict dest, void const * __restrict src, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern double log2(double x);
 
-void *memmove(void *dest, void const *src, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern float log2f(float x);
 
-void *memset(void *s, int c, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x > 0;
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern long double log2l(long double x);
 
-size_t strlen(char const *s);
+double fabs(double x);
 
-size_t strnlen(char const *s, size_t maxlen);
+float fabsf(float x);
 
-int strcmp(char const *s1, char const *s2);
+/*@ requires finite_arg: \is_finite(x);
+    ensures res_finite: \is_finite(\result);
+    ensures positive_result: \result ≥ 0.;
+    ensures
+      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern long double fabsl(long double x);
 
-int strncmp(char const *s1, char const *s2, size_t n);
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_logic_res: \is_finite(pow(x, y));
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x, y;
+ */
+extern double pow(double x, double y);
 
-/*@ requires valid_string_s1: valid_read_string(s1);
-    requires valid_string_s2: valid_read_string(s2);
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_logic_res: \is_finite(powf(x, y));
+    ensures finite_result: \is_finite(\result);
     assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+    assigns \result \from x, y;
  */
-extern int strcoll(char const *s1, char const *s2);
+extern float powf(float x, float y);
 
-char *strchr(char const *s, int c);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x ≥ -0.;
+    ensures finite_result: \is_finite(\result);
+    ensures positive_result: \result ≥ -0.;
+    assigns \result;
+    assigns \result \from x;
+ */
+extern double sqrt(double x);
 
-char *strrchr(char const *s, int c);
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x ≥ -0.;
+    ensures finite_result: \is_finite(\result);
+    ensures positive_result: \result ≥ -0.;
+    assigns \result;
+    assigns \result \from x;
+ */
+extern float sqrtf(float x);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    requires valid_string_reject: valid_read_string(reject);
-    ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
+/*@ requires finite_arg: \is_finite(x);
+    requires arg_positive: x ≥ -0.;
+    ensures finite_result: \is_finite(\result);
+    ensures positive_result: \result ≥ -0.;
     assigns \result;
-    assigns \result
-      \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..)));
+    assigns \result \from x;
  */
-extern size_t strcspn(char const *s, char const *reject);
+extern long double sqrtl(long double x);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    requires valid_string_accept: valid_read_string(accept);
-    ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
-    assigns \result, \result;
-    assigns \result \from *(s + (0 ..)), *(accept + (0 ..));
-    assigns \result
-      \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..)));
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-extern size_t strspn(char const *s, char const *accept);
+extern double ceil(double x);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    requires valid_string_accept: valid_read_string(accept);
-    ensures
-      result_null_or_same_base:
-        \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
     assigns \result;
-    assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..));
+    assigns \result \from x;
  */
-extern char *strpbrk(char const *s, char const *accept);
+extern float ceilf(float x);
 
-char *strstr(char const *haystack, char const *needle);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern long double ceill(long double x);
 
-/*@ requires valid_string_haystack: valid_read_string(haystack);
-    requires valid_string_needle: valid_read_string(needle);
-    ensures
-      result_null_or_in_haystack:
-        \result ≡ \null ∨
-        (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result));
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
     assigns \result;
-    assigns \result
-      \from haystack, (indirect: *(haystack + (0 ..))),
-            (indirect: *(needle + (0 ..)));
+    assigns \result \from x;
  */
-extern char *strcasestr(char const *haystack, char const *needle);
+extern double floor(double x);
 
-char *__fc_strtok_ptr;
-/*@ requires valid_string_delim: valid_read_string(delim);
-    assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result,
-            __fc_strtok_ptr;
-    assigns *(s + (0 ..))
-      \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr),
-            (indirect: *(delim + (0 ..)));
-    assigns *(__fc_strtok_ptr + (0 ..))
-      \from *(__fc_strtok_ptr + (0 ..)), (indirect: s),
-            (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..)));
-    assigns \result
-      \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))),
-            (indirect: *(__fc_strtok_ptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
-    assigns __fc_strtok_ptr
-      \from \old(__fc_strtok_ptr), s,
-            (indirect: *(__fc_strtok_ptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
-    
-    behavior new_str:
-      assumes s_not_null: s ≢ \null;
-      requires
-        valid_string_s_or_delim_not_found:
-          valid_string(s) ∨
-          (valid_read_string(s) ∧
-           (∀ int i;
-              0 ≤ i < strlen(delim) ⇒
-              ¬(strchr(s, *(delim + i)) ≡ \true)));
-      ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
-      ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..));
-      assigns __fc_strtok_ptr, *(s + (0 ..)), \result;
-      assigns __fc_strtok_ptr
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
-      assigns *(s + (0 ..))
-        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
-      assigns \result
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
-    
-    behavior resume_str:
-      assumes s_null: s ≡ \null;
-      requires not_first_call: __fc_strtok_ptr ≢ \null;
-      ensures
-        result_subset:
-          \result ≡ \null ∨
-          \subset(\result, \old(__fc_strtok_ptr) + (0 ..));
-      ensures
-        ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..));
-      assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result;
-      assigns *(__fc_strtok_ptr + (0 ..))
-        \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr),
-              (indirect: *(delim + (0 ..)));
-      assigns __fc_strtok_ptr
-        \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
-      assigns \result
-        \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
-    
-    complete behaviors resume_str, new_str;
-    disjoint behaviors resume_str, new_str;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-extern char *strtok(char * __restrict s, char const * __restrict delim);
+extern float floorf(float x);
 
-/*@ requires valid_string_delim: valid_read_string(delim);
-    requires valid_saveptr: \valid(saveptr);
-    assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr;
-    assigns *(s + (0 ..))
-      \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr),
-            (indirect: *(delim + (0 ..)));
-    assigns *(*saveptr + (0 ..))
-      \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr),
-            (indirect: *(delim + (0 ..)));
-    assigns \result
-      \from s, *saveptr, (indirect: *(s + (0 ..))),
-            (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..)));
-    assigns *saveptr
-      \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
-    
-    behavior new_str:
-      assumes s_not_null: s ≢ \null;
-      requires
-        valid_string_s_or_delim_not_found:
-          valid_string(s) ∨
-          (valid_read_string(s) ∧
-           (∀ int i;
-              0 ≤ i < strlen(delim) ⇒
-              ¬(strchr(s, *(delim + i)) ≡ \true)));
-      ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
-      ensures initialization: \initialized(\old(saveptr));
-      ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..));
-      assigns *saveptr, *(s + (0 ..)), \result;
-      assigns *saveptr
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
-      assigns *(s + (0 ..))
-        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
-      assigns \result
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
-    
-    behavior resume_str:
-      assumes s_null: s ≡ \null;
-      requires not_first_call: *saveptr ≢ \null;
-      requires initialization: saveptr: \initialized(saveptr);
-      ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..));
-      ensures
-        saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..));
-      assigns *(*saveptr + (0 ..)), *saveptr, \result;
-      assigns *(*saveptr + (0 ..))
-        \from *(*saveptr + (0 ..)), (indirect: *saveptr),
-              (indirect: *(delim + (0 ..)));
-      assigns *saveptr
-        \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
-      assigns \result
-        \from *saveptr, (indirect: *(*saveptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
-    
-    complete behaviors resume_str, new_str;
-    disjoint behaviors resume_str, new_str;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-extern char *strtok_r(char * __restrict s, char const * __restrict delim,
-                      char ** __restrict saveptr);
+extern long double floorl(long double x);
 
-/*@ requires
-      valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp);
-    requires valid_string_delim: valid_read_string(delim);
-    assigns *stringp, \result;
-    assigns *stringp \from *(delim + (..)), *(*(stringp + (..)));
-    assigns \result \from *(delim + (..)), *(*(stringp + (..)));
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-extern char *strsep(char **stringp, char const *delim);
+extern double round(double x);
 
-char __fc_strerror[64];
-char * const __fc_p_strerror = __fc_strerror;
-char *strerror(int errnum);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern float roundf(float x);
 
-char *strcpy(char *dest, char const *src);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern long double roundl(long double x);
 
-char *strncpy(char *dest, char const *src, size_t n);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
+ */
+extern double trunc(double x);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_nstring: \valid(dest + (0 .. n - 1));
-    requires
-      separation:
-        \separated(
-          dest + (0 .. n - 1), src + (0 .. \max(n - 1, strlen(src)))
-          );
-    ensures
-      initialization:
-        \initialized(\old(dest) + (0 .. \min(strlen(\old(src)), \old(n) - 1)));
-    ensures bounded_result: \result ≡ strlen(\old(src));
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
-    assigns \result
-      \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n);
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-size_t strlcpy(char * __restrict dest, char const * __restrict src, size_t n);
+extern float truncf(float x);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_string: \valid(dest + (0 .. strlen(src)));
-    requires
-      separation:
-        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
-    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
-    ensures points_to_end: \result ≡ \old(dest) + strlen(\old(dest));
-    assigns *(dest + (0 .. strlen{Old}(src))), \result;
-    assigns *(dest + (0 .. strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
+/*@ requires finite_arg: \is_finite(x);
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x;
  */
-extern char *stpcpy(char * __restrict dest, char const * __restrict src);
+extern long double truncl(long double x);
 
-char *strcat(char *dest, char const *src);
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_logic_result: \is_finite(fmod(x, y));
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x, y;
+ */
+extern double fmod(double x, double y);
 
-char *strncat(char *dest, char const *src, size_t n);
+/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y);
+    requires finite_logic_result: \is_finite(fmodf(x, y));
+    ensures finite_result: \is_finite(\result);
+    assigns \result;
+    assigns \result \from x, y;
+ */
+extern float fmodf(float x, float y);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires valid_string_dest: valid_string(dest);
-    requires room_nstring: \valid(dest + (0 .. n - 1));
-    ensures
-      bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src));
-    assigns *(dest + (strlen{Old}(dest) .. n)), \result;
-    assigns *(dest + (strlen{Old}(dest) .. n))
-      \from (indirect: n), *(src + (0 .. strlen{Old}(src)));
-    assigns \result
-      \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n);
+/*@ requires tagp_valid_string: valid_read_string(tagp);
+    ensures result_is_nan: \is_NaN(\result);
+    assigns \result;
+    assigns \result \from (indirect: *(tagp + (0 ..)));
  */
-extern size_t strlcat(char * __restrict dest, char const * __restrict src,
-                      size_t n);
+extern double nan(char const *tagp);
 
-/*@ requires valid_dest: \valid(dest + (0 .. n - 1));
-    requires valid_string_src: valid_read_string(src);
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1))
-      \from (indirect: *(src + (0 ..))), (indirect: n);
-    assigns \result \from dest;
+/*@ requires tagp_valid_string: valid_read_string(tagp);
+    ensures result_is_nan: \is_NaN(\result);
+    assigns \result;
+    assigns \result \from (indirect: *(tagp + (0 ..)));
  */
-extern size_t strxfrm(char * __restrict dest, char const * __restrict src,
-                      size_t n);
+extern float nanf(char const *tagp);
 
-char *strdup(char const *s);
+/*@ requires tagp_valid_string: valid_read_string(tagp);
+    ensures result_is_nan: \is_NaN(\result);
+    assigns \result;
+    assigns \result \from (indirect: *(tagp + (0 ..)));
+ */
+extern long double nanl(char const *tagp);
 
-char *strndup(char const *s, size_t n);
+int __finitef(float f);
 
-char __fc_strsignal[64];
-char * const __fc_p_strsignal = __fc_strsignal;
-char *strsignal(int signum);
+int __finite(double d);
 
-/*@ requires valid_memory_area: \valid((char *)s + (0 .. n - 1));
-    ensures
-      s_initialized: initialization:
-        \initialized((char *)\old(s) + (0 .. \old(n) - 1));
+/*@ requires finite_arg: \is_finite(x);
+    ensures res_finite: \is_finite(\result);
+    ensures positive_result: \result ≥ 0.;
     ensures
-      zero_initialized: \subset(*((char *)\old(s) + (0 .. \old(n) - 1)), {0});
-    assigns *((char *)s + (0 .. n - 1));
-    assigns *((char *)s + (0 .. n - 1)) \from \nothing;
- */
-extern void bzero(void *s, size_t n);
-
-int strcasecmp(char const *s1, char const *s2);
-
-/*@ requires valid_string_s1: valid_read_nstring(s1, n);
-    requires valid_string_s2: valid_read_nstring(s2, n);
+      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
     assigns \result;
-    assigns \result
-      \from (indirect: n), (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1)));
- */
-extern int strncasecmp(char const *s1, char const *s2, size_t n);
-
-static unsigned int volatile getaddrinfo_net_state;
-/*@ requires
-      nodename_string: nodename ≡ \null ∨ valid_read_string(nodename);
-    requires
-      servname_string: servname ≡ \null ∨ valid_read_string(servname);
-    requires hints_option: hints ≡ \null ∨ \valid_read(hints);
-    requires valid_res: \valid(res);
-    assigns *res, \result, __fc_errno;
-    assigns *res
-      \from (indirect: nodename), (indirect: servname), (indirect: hints);
-    assigns \result
-      \from (indirect: nodename), (indirect: servname), (indirect: hints);
-    assigns __fc_errno
-      \from (indirect: nodename), (indirect: servname), (indirect: hints);
-    allocates *\old(res);
-    
-    behavior empty_request:
-      assumes empty: nodename ≡ \null ∧ servname ≡ \null;
-      ensures no_name: \result ≡ -2;
-      assigns \result;
-      assigns \result \from (indirect: nodename), (indirect: servname);
-    
-    behavior normal_request:
-      assumes has_name: nodename ≢ \null ∨ servname ≢ \null;
-      ensures
-        initialization: allocation: success_or_error:
-          (\result ≡ 0 ∧
-           \fresh{Old, Here}(*\old(res),sizeof(*\old(res))) ∧
-           \initialized(*\old(res))) ∨
-          \result ≡ -3 ∨ \result ≡ -1 ∨ \result ≡ -4 ∨
-          \result ≡ -6 ∨ \result ≡ -10 ∨ \result ≡ -8 ∨
-          \result ≡ -7 ∨ \result ≡ -11;
-    
-    complete behaviors normal_request, empty_request;
-    disjoint behaviors normal_request, empty_request;
+    assigns \result \from x;
  */
-int getaddrinfo(char const * __restrict nodename,
-                char const * __restrict servname,
-                struct addrinfo const * __restrict hints,
-                struct addrinfo ** __restrict res)
+double fabs(double x)
 {
-  int __retres;
-  if (nodename == (char const *)0) 
-    if (servname == (char const *)0) {
-      __retres = -2;
-      goto return_label;
-    }
-  switch (getaddrinfo_net_state) {
-    case (unsigned int)0: __retres = -1;
-    goto return_label;
-    case (unsigned int)1: __retres = -3;
-    goto return_label;
-    case (unsigned int)2: __retres = -4;
-    goto return_label;
-    case (unsigned int)3: __retres = -6;
+  double __retres;
+  if (x == 0.0) {
+    __retres = 0.0;
     goto return_label;
-    case (unsigned int)5: __retres = -8;
+  }
+  if (x > 0.0) {
+    __retres = x;
     goto return_label;
-    case (unsigned int)6: __retres = -7;
+  }
+  __retres = - x;
+  return_label: return __retres;
+}
+
+/*@ requires finite_arg: \is_finite(x);
+    ensures res_finite: \is_finite(\result);
+    ensures positive_result: \result ≥ 0.;
+    ensures
+      equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x);
+    assigns \result;
+    assigns \result \from x;
+ */
+float fabsf(float x)
+{
+  float __retres;
+  if (x == 0.0f) {
+    __retres = 0.0f;
     goto return_label;
-    case (unsigned int)7:
-    {
-      __fc_errno = 5;
-      __retres = -11;
+  }
+  else 
+    if (x > 0.0f) {
+      __retres = x;
       goto return_label;
     }
-    default:
-    {
-      struct addrinfo *tmp_0;
-      struct sockaddr *tmp_2;
-      int tmp_3;
-      struct addrinfo *ai = malloc(sizeof(*tmp_0));
-      if (! ai) {
-        __retres = -10;
-        goto return_label;
-      }
-      struct sockaddr *sa = malloc(sizeof(*tmp_2));
-      if (! sa) {
-        __retres = -10;
-        goto return_label;
-      }
-      tmp_3 = Frama_C_interval(0,43);
-      sa->sa_family = (unsigned short)tmp_3;
-      /*@ slevel 15; */
-      {
-        int i = 0;
-        while (i < 14) {
-          {
-            int tmp_4;
-            tmp_4 = Frama_C_interval(-128,127);
-            sa->sa_data[i] = (char)tmp_4;
-          }
-          i ++;
-        }
-      }
-      /*@ slevel default; */
-      ai->ai_flags = 0;
-      ai->ai_family = (int)sa->sa_family;
-      ai->ai_socktype = Frama_C_interval(0,5);
-      ai->ai_protocol = Frama_C_interval(0,IPPROTO_MAX);
-      ai->ai_addrlen = sizeof(*sa);
-      ai->ai_addr = sa;
-      ai->ai_canonname = (char *)"dummy";
-      ai->ai_next = (struct addrinfo *)0;
-      *res = ai;
-      __retres = 0;
+    else {
+      __retres = - x;
       goto return_label;
     }
-  }
   return_label: return __retres;
 }
 
-struct __fc_gethostbyname __fc_ghbn;
-int res_search(char const *dname, int class, int type, char *answer,
-               int anslen)
+int __finitef(float f)
 {
-  int tmp;
-  {
-    int i = 0;
-    while (i < anslen - 1) {
-      *(answer + i) = Frama_C_char_interval((char)(-128),(char)127);
-      i ++;
-    }
-  }
-  *(answer + (anslen - 1)) = (char)0;
-  tmp = Frama_C_interval(-1,anslen);
-  return tmp;
+  int __retres;
+  union __fc_u_finitef u;
+  unsigned short usExp;
+  u.f = f;
+  usExp = (unsigned short)((int)u.w[1] & 0x7F80);
+  usExp = (unsigned short)((int)usExp >> 7);
+  __retres = ! ((int)usExp == 0xff);
+  return __retres;
 }
 
-struct hostent *gethostbyname(char const *name)
+int __finite(double d)
 {
-  struct hostent *__retres;
-  char buf[128];
-  char const *cp;
-  int n;
-  int tmp;
-  __fc_ghbn.host.h_addrtype = 2;
-  __fc_ghbn.host.h_length = (int)sizeof(struct in_addr);
-  if ((int)*name >= '0') 
-    if ((int)*name <= '9') {
-      cp = name;
-      while (1) {
-        if (! *cp) {
-          struct in_addr addr;
-          cp --;
-          ;
-          if ((int)*cp == '.') break;
-          addr.s_addr = inet_addr(name);
-          if (addr.s_addr == 0xffffffff) {
-            __retres = (struct hostent *)0;
-            goto return_label;
-          }
-          memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr),
-                 (unsigned int)__fc_ghbn.host.h_length);
-          strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1));
-          __fc_ghbn.hostbuf[128 - 1] = (char)'\000';
-          __fc_ghbn.host.h_name = __fc_ghbn.hostbuf;
-          __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases;
-          __fc_ghbn.host_aliases[0] = (char *)0;
-          __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr);
-          __fc_ghbn.h_addr_ptrs[1] = (char *)0;
-          __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs;
-          __retres = & __fc_ghbn.host;
-          goto return_label;
-        }
-        if ((int)*cp < '0') 
-          if ((int)*cp > '9') 
-            if ((int)*cp != '.') break;
-        cp ++;
-      }
-    }
-  n = res_search(name,1,1,buf,(int)sizeof(buf));
-  if (n < 0) {
-    __retres = (struct hostent *)0;
-    goto return_label;
-  }
-  tmp = Frama_C_nondet(0,1);
-  if (tmp) {
-    __retres = (struct hostent *)0;
-    goto return_label;
-  }
-  else {
-    struct in_addr addr_0;
-    addr_0.s_addr = inet_addr(name);
-    memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr_0),
-           (unsigned int)__fc_ghbn.host.h_length);
-    strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1));
-    __fc_ghbn.hostbuf[128 - 1] = (char)'\000';
-    __fc_ghbn.host.h_name = __fc_ghbn.hostbuf;
-    __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases;
-    __fc_ghbn.host_aliases[0] = (char *)0;
-    __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr);
-    __fc_ghbn.h_addr_ptrs[1] = (char *)0;
-    __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs;
-    __retres = & __fc_ghbn.host;
-    goto return_label;
-  }
-  return_label: return __retres;
+  int __retres;
+  union __fc_u_finite u;
+  unsigned short usExp;
+  u.d = d;
+  usExp = (unsigned short)((int)u.w[3] & 0x7F80);
+  usExp = (unsigned short)((int)usExp >> 7);
+  __retres = ! ((int)usExp == 0xff);
+  return __retres;
 }
 
-FILE *__fc_stderr;
-
-FILE *__fc_stdin;
-
-FILE *__fc_stdout;
-
 /*@ assigns \nothing; */
-extern int remove(char const *filename);
+extern void (*signal(int sig, void (*func)(int )))(int );
 
-/*@ assigns \nothing; */
-extern int rename(char const *old_name, char const *new_name);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern int raise(int sig);
 
-FILE __fc_fopen[16];
-FILE * const __fc_p_fopen = __fc_fopen;
-/*@ ensures
-      result_null_or_valid_fd:
-        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
-    assigns \result;
-    assigns \result \from __fc_p_fopen;
+/*@ requires valid_set: \valid(set);
+    ensures initialization: set: \initialized(\old(set));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *set, \result;
+    assigns *set \from \nothing;
+    assigns \result \from \nothing;
  */
-extern FILE *tmpfile(void);
+extern int sigemptyset(sigset_t *set);
 
-/*@ assigns \result, *(s + (..));
-    assigns \result \from *(s + (..));
-    assigns *(s + (..)) \from \nothing;
+/*@ requires valid_set: \valid(set);
+    ensures initialization: set: \initialized(\old(set));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *set, \result;
+    assigns *set \from \nothing;
+    assigns \result \from \nothing;
  */
-extern char *tmpnam(char *s);
+extern int sigfillset(sigset_t *set);
 
-/*@ requires valid_stream: \valid(stream);
-    ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from stream, stream->__fc_FILE_id;
+/*@ requires valid_set: \valid(set);
+    requires initialization: set: \initialized(set);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *set, \result;
+    assigns *set \from (indirect: signum);
+    assigns \result \from signum;
  */
-extern int fclose(FILE *stream);
+extern int sigaddset(sigset_t *set, int signum);
 
-/*@ requires null_or_valid_stream: stream ≡ \null ∨ \valid_read(stream);
-    ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from stream, stream->__fc_FILE_id;
+/*@ requires valid_set: \valid(set);
+    requires initialization: set: \initialized(set);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *set, \result;
+    assigns *set \from (indirect: signum);
+    assigns \result \from signum;
  */
-extern int fflush(FILE *stream);
+extern int sigdelset(sigset_t *set, int signum);
 
-/*@ requires valid_filename: valid_read_string(filename);
-    requires valid_mode: valid_read_string(mode);
+/*@ requires valid_read_set: \valid_read(set);
+    requires initialization: set: \initialized(set);
     ensures
-      result_null_or_valid_fd:
-        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
+      result_found_not_found_or_error:
+        \result ≡ 0 ∨ \result ≡ 1 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result
-      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
-            __fc_p_fopen;
+    assigns \result \from *set, signum;
  */
-extern FILE *fopen(char const * __restrict filename,
-                   char const * __restrict mode);
+extern int sigismember(sigset_t const *set, int signum);
 
-/*@ requires valid_mode: valid_read_string(mode);
+struct sigaction __fc_sigaction[64 + 1];
+struct sigaction *__fc_p_sigaction = __fc_sigaction;
+/*@ requires valid_signal: 0 ≤ signum ≤ 64;
+    requires valid_oldact_or_null: oldact ≡ \null ∨ \valid(oldact);
+    requires valid_read_act_or_null: act ≡ \null ∨ \valid_read(act);
+    requires separation: separated_acts: \separated(act, oldact);
     ensures
-      result_null_or_valid_fd:
-        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
-    assigns \result, __fc_fopen[fd];
+      act_changed:
+        \old(act) ≡ \null ∨
+        \subset(*(__fc_p_sigaction + \old(signum)), *\old(act));
+    ensures
+      oldact_assigned:
+        \old(oldact) ≡ \null ∨
+        *\old(oldact) ∈ *(__fc_p_sigaction + \old(signum));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *oldact, *(__fc_p_sigaction + signum), \result;
+    assigns *oldact \from __fc_p_sigaction;
+    assigns *(__fc_p_sigaction + signum) \from *act;
     assigns \result
-      \from (indirect: fd), (indirect: *(mode + (0 ..))),
-            (indirect: __fc_fopen[fd]), __fc_p_fopen;
-    assigns __fc_fopen[fd]
-      \from (indirect: fd), (indirect: *(mode + (0 ..))),
-            (indirect: __fc_fopen[fd]), __fc_p_fopen;
+      \from (indirect: signum), (indirect: act), (indirect: *act),
+            (indirect: oldact), (indirect: *oldact);
  */
-extern FILE *fdopen(int fd, char const *mode);
+extern int sigaction(int signum, struct sigaction const * __restrict act,
+                     struct sigaction * __restrict oldact);
 
-/*@ requires valid_filename: valid_read_string(filename);
-    requires valid_mode: valid_read_string(mode);
-    requires valid_stream: \valid(stream);
+/*@ requires valid_set_or_null: set ≡ \null ∨ \valid_read(set);
+    requires valid_how: set ≢ \null ⇒ how ∈ {0, 2, 1};
+    requires valid_oldset_or_null: oldset ≡ \null ∨ \valid(oldset);
+    requires
+      separation: (set ≡ oldset ≡ \null) ∨ \separated(set, oldset);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     ensures
-      result_null_or_valid_fd:
-        \result ≡ \null ∨ \result ∈ &__fc_fopen[0 .. 16 - 1];
-    ensures stream_opened: *\old(stream) ∈ __fc_fopen[0 .. 16 - 1];
-    assigns \result, *stream;
+      initialization: oldset_initialized:
+        \old(oldset) ≢ \null ∧ \result ≡ 0 ⇒
+        \initialized(\old(oldset));
+    assigns \result, *oldset;
     assigns \result
-      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
-            __fc_p_fopen, (indirect: stream);
-    assigns *stream
-      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
-            __fc_p_fopen, (indirect: stream);
+      \from (indirect: how), (indirect: set), (indirect: oldset);
+    assigns *oldset \from (indirect: how), (indirect: oldset);
  */
-extern FILE *freopen(char const * __restrict filename,
-                     char const * __restrict mode, FILE * __restrict stream);
-
-/*@ assigns *stream;
-    assigns *stream \from buf; */
-extern void setbuf(FILE * __restrict stream, char * __restrict buf);
-
-/*@ assigns *stream;
-    assigns *stream \from buf, mode, size; */
-extern int setvbuf(FILE * __restrict stream, char * __restrict buf, int mode,
-                   size_t size);
-
-/*@ axiomatic format_length {
-      logic ℤ format_length{L}(char *format) ;
-      
-      }
-
-*/
-/*@ assigns *stream;
-    assigns *stream \from *(format + (..)), arg; */
-extern int vfprintf(FILE * __restrict stream, char const * __restrict format,
-                    va_list arg);
-
-/*@ assigns *stream;
-    assigns *stream \from *(format + (..)), *stream; */
-extern int vfscanf(FILE * __restrict stream, char const * __restrict format,
-                   va_list arg);
-
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from arg; */
-extern int vprintf(char const * __restrict format, va_list arg);
-
-/*@ assigns *__fc_stdin;
-    assigns *__fc_stdin \from *(format + (..)); */
-extern int vscanf(char const * __restrict format, va_list arg);
+extern int sigprocmask(int how, sigset_t const * __restrict set,
+                       sigset_t * __restrict oldset);
 
-/*@ assigns *(s + (0 .. n - 1));
-    assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: pid), (indirect: sig);
  */
-extern int vsnprintf(char * __restrict s, size_t n,
-                     char const * __restrict format, va_list arg);
+extern int kill(pid_t pid, int sig);
 
-/*@ assigns *(s + (0 ..));
-    assigns *(s + (0 ..)) \from *(format + (..)), arg;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: pgrp), (indirect: sig);
  */
-extern int vsprintf(char * __restrict s, char const * __restrict format,
-                    va_list arg);
+extern int killpg(pid_t pgrp, int sig);
 
-/*@ requires valid_stream: \valid(stream);
-    ensures result_uchar_or_eof: (0 ≤ \result ≤ 255) ∨ \result ≡ -1;
-    assigns *stream, \result;
-    assigns *stream \from *stream;
-    assigns \result \from (indirect: *stream);
+/*@ requires valid_read_iov: \valid_read(iov + (0 .. iovcnt - 1));
+    assigns *((char *)(iov + (0 .. iovcnt - 1))->iov_base + (0 ..));
  */
-extern int fgetc(FILE *stream);
+extern ssize_t readv(int fd, struct iovec const *iov, int iovcnt);
 
-/*@ requires valid_stream: \valid(stream);
-    ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s);
+/*@ ghost struct __fc_sockfds_type __fc_sockfds[1024]; */
+/*@ ghost extern int __fc_socket_counter __attribute__((__FRAMA_C_MODEL__));
+*/
+
+/*@ ghost int volatile __fc_open_sock_fds; */
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
     ensures
-      terminated_string_on_success:
-        \result ≢ \null ⇒ valid_string(\old(s));
-    assigns *(s + (0 .. size)), \result;
-    assigns *(s + (0 .. size)) \from (indirect: size), (indirect: *stream);
-    assigns \result \from s, (indirect: size), (indirect: *stream);
+      result_error_or_valid_new_sockfd:
+        \result ≡ -1 ∨ (0 ≤ \result < 1024);
+    assigns \result, *((char *)addr + (0 .. *addrlen - 1)),
+            __fc_sockfds[sockfd];
+    assigns \result \from *addr, *addrlen, __fc_sockfds[sockfd];
+    assigns *((char *)addr + (0 .. *addrlen - 1))
+      \from *addr, *addrlen, __fc_sockfds[sockfd];
+    assigns __fc_sockfds[sockfd] \from *addr, *addrlen, __fc_sockfds[sockfd];
+    
+    behavior addr_null:
+      assumes addr_is_null: addr ≡ \null;
+      requires addrlen_should_be_null: addrlen ≡ \null;
+      assigns \result, __fc_sockfds[sockfd];
+      assigns \result \from __fc_sockfds[sockfd];
+      assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd];
+    
+    behavior addr_not_null:
+      assumes addr_is_not_null: addr ≢ \null;
+      requires valid_addrlen: \valid(addrlen);
+      requires addr_has_room: \valid((char *)addr + (0 .. *addrlen - 1));
+      ensures
+        initialization: addr:
+          \initialized((char *)\old(addr) + (0 .. *\old(addrlen) - 1));
+    
+    disjoint behaviors addr_not_null, addr_null;
  */
-extern char *fgets(char * __restrict s, int size, FILE * __restrict stream);
-
-/*@ assigns *stream; */
-extern int fputc(int c, FILE *stream);
-
-/*@ assigns *stream;
-    assigns *stream \from *(s + (..)); */
-extern int fputs(char const * __restrict s, FILE * __restrict stream);
+extern int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
 
-/*@ assigns \result, *stream;
-    assigns \result \from *stream;
-    assigns *stream \from *stream;
+/*@ requires valid_sockfd: sockfd: 0 ≤ sockfd < 1024;
+    requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns __fc_sockfds[sockfd], \result;
+    assigns __fc_sockfds[sockfd]
+      \from sockfd, *addr, addrlen, __fc_sockfds[sockfd];
+    assigns \result
+      \from (indirect: sockfd), (indirect: *addr), (indirect: addrlen),
+            (indirect: __fc_sockfds[sockfd]);
  */
-extern int getc(FILE *stream);
+extern int bind(int sockfd, struct sockaddr const *addr, socklen_t addrlen);
 
-/*@ assigns \result;
-    assigns \result \from *__fc_stdin; */
-extern int getchar(void);
-
-/*@ ensures result_null_or_same: \result ≡ \old(s) ∨ \result ≡ \null;
-    assigns *(s + (..)), \result;
-    assigns *(s + (..)) \from *__fc_stdin;
-    assigns \result \from s, __fc_stdin;
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1));
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns __fc_sockfds[sockfd], \result;
+    assigns __fc_sockfds[sockfd]
+      \from __fc_sockfds[sockfd], (indirect: sockfd), (indirect: addr),
+            (indirect: *addr), (indirect: addrlen);
+    assigns \result
+      \from (indirect: __fc_sockfds[sockfd]), (indirect: sockfd),
+            (indirect: addr), (indirect: *addr), (indirect: addrlen);
  */
-extern char *gets(char *s);
-
-/*@ assigns *stream;
-    assigns *stream \from c; */
-extern int putc(int c, FILE *stream);
-
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from c; */
-extern int putchar(int c);
+extern int connect(int sockfd, struct sockaddr const *addr, socklen_t addrlen);
 
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from *(s + (..)); */
-extern int puts(char const *s);
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    requires valid_optlen: \valid(optlen);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *((char *)optval + (0 ..)), \result, *optlen;
+    assigns *((char *)optval + (0 ..))
+      \from (indirect: sockfd), (indirect: level), (indirect: optname),
+            (indirect: *optlen), (indirect: optval),
+            (indirect: __fc_sockfds[sockfd]);
+    assigns \result
+      \from (indirect: sockfd), (indirect: level), (indirect: optname),
+            (indirect: *optlen), (indirect: optval),
+            (indirect: __fc_sockfds[sockfd]);
+    assigns *optlen
+      \from (indirect: sockfd), (indirect: level), (indirect: optname),
+            *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]);
+    
+    behavior so_error:
+      assumes optname_is_error: level ≡ 1 ∧ optname ≡ 4;
+      requires valid_optlen: \valid(optlen);
+      requires optlen_value: *optlen ≡ sizeof(int);
+      requires valid_optval: \valid((int *)optval);
+      assigns *((int *)optval), \result;
+      assigns *((int *)optval)
+        \from (indirect: sockfd), (indirect: optlen),
+              (indirect: __fc_sockfds[sockfd]);
+      assigns \result
+        \from (indirect: sockfd), (indirect: optlen),
+              (indirect: __fc_sockfds[sockfd]);
+    
+    behavior other_options:
+      assumes optname_not_error: ¬(level ≡ 1 ∧ optname ≡ 4);
+      requires
+        optval_null_or_valid:
+          optval ≡ \null ∨ \valid((char *)optval + (0 ..));
+      assigns *((char *)optval + (0 ..)), \result, *optlen;
+      assigns *((char *)optval + (0 ..))
+        \from (indirect: sockfd), (indirect: level), (indirect: optname),
+              (indirect: *optlen), (indirect: optval),
+              (indirect: __fc_sockfds[sockfd]);
+      assigns \result
+        \from (indirect: sockfd), (indirect: level), (indirect: optname),
+              (indirect: *optlen), (indirect: optval),
+              (indirect: __fc_sockfds[sockfd]);
+      assigns *optlen
+        \from (indirect: sockfd), (indirect: level), (indirect: optname),
+              *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]);
+    
+    complete behaviors other_options, so_error;
+    disjoint behaviors other_options, so_error;
+ */
+extern int getsockopt(int sockfd, int level, int optname, void *optval,
+                      socklen_t *optlen);
 
-/*@ assigns *stream;
-    assigns *stream \from c; */
-extern int ungetc(int c, FILE *stream);
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, __fc_sockfds[sockfd];
+    assigns \result \from sockfd, __fc_sockfds[sockfd];
+    assigns __fc_sockfds[sockfd] \from sockfd, backlog, __fc_sockfds[sockfd];
+ */
+extern int listen(int sockfd, int backlog);
 
-/*@ requires valid_ptr_block: \valid((char *)ptr + (0 .. nmemb * size - 1));
-    requires valid_stream: \valid(stream);
-    ensures size_read: \result ≤ \old(nmemb);
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    requires valid_buffer_length: \valid((char *)buf + (0 .. len - 1));
     ensures
-      initialization:
-        \initialized((char *)\old(ptr) + (0 .. \result * \old(size) - 1));
-    assigns *((char *)ptr + (0 .. nmemb * size - 1)), \result;
-    assigns *((char *)ptr + (0 .. nmemb * size - 1))
-      \from size, nmemb, *stream;
-    assigns \result \from size, *stream;
+      result_error_or_received_length:
+        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len));
+    ensures
+      initialization: \initialized((char *)\old(buf) + (0 .. \result - 1));
+    assigns *((char *)buf + (0 .. len - 1)), __fc_sockfds[sockfd], \result;
+    assigns *((char *)buf + (0 .. len - 1))
+      \from sockfd, len, flags, __fc_sockfds[sockfd];
+    assigns __fc_sockfds[sockfd]
+      \from sockfd, len, flags, __fc_sockfds[sockfd];
+    assigns \result \from sockfd, len, flags, __fc_sockfds[sockfd];
  */
-extern size_t fread(void * __restrict ptr, size_t size, size_t nmemb,
-                    FILE * __restrict stream);
+extern ssize_t recv(int sockfd, void *buf, size_t len, int flags);
 
-/*@ requires
-      valid_ptr_block: \valid_read((char *)ptr + (0 .. nmemb * size - 1));
-    requires valid_stream: \valid(stream);
-    ensures size_written: \result ≤ \old(nmemb);
-    assigns *stream, \result;
-    assigns *stream \from *((char *)ptr + (0 .. nmemb * size - 1));
-    assigns \result \from *((char *)ptr + (0 .. nmemb * size - 1));
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    requires
+      msg_control_has_room:
+        \valid((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1));
+    requires
+      msg_iov_has_room: \valid(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1));
+    requires
+      msg_name_null_or_has_room:
+        hdr->msg_name ≡ \null ∨
+        \valid((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1));
+    ensures
+      result_error_or_received_length:
+        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(hdr)->msg_iovlen);
+    assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)),
+            hdr->msg_namelen,
+            *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base +
+              (0 ..)),
+            *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)),
+            \result, hdr->msg_controllen, hdr->msg_flags,
+            __fc_sockfds[sockfd];
+    assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1))
+      \from __fc_sockfds[sockfd];
+    assigns hdr->msg_namelen \from __fc_sockfds[sockfd];
+    assigns
+    *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + (0 ..))
+      \from __fc_sockfds[sockfd];
+    assigns *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1))
+      \from __fc_sockfds[sockfd];
+    assigns \result \from __fc_sockfds[sockfd];
+    assigns hdr->msg_controllen \from __fc_sockfds[sockfd];
+    assigns hdr->msg_flags \from __fc_sockfds[sockfd];
+    assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd];
  */
-extern size_t fwrite(void const * __restrict ptr, size_t size, size_t nmemb,
-                     FILE * __restrict stream);
-
-/*@ assigns *pos;
-    assigns *pos \from *stream; */
-extern int fgetpos(FILE * __restrict stream, fpos_t * __restrict pos);
+extern ssize_t recvmsg(int sockfd, struct msghdr *hdr, int flags);
 
-/*@ requires valid_stream: \valid(stream);
-    requires whence_enum: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2;
-    assigns *stream, \result, __fc_errno;
-    assigns *stream \from *stream, (indirect: offset), (indirect: whence);
-    assigns \result
-      \from (indirect: *stream), (indirect: offset), (indirect: whence);
+/*@ requires available_sockfd: 0 ≤ sockfd < 1024;
+    requires buf_len_ok: \valid_read((char *)buf + (0 .. len - 1));
+    ensures
+      error_or_chars_sent: \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len));
+    assigns __fc_errno, __fc_sockfds[sockfd], \result;
     assigns __fc_errno
-      \from (indirect: *stream), (indirect: offset), (indirect: whence);
+      \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]),
+            (indirect: *((char *)buf + (0 .. len))), flags;
+    assigns __fc_sockfds[sockfd]
+      \from __fc_sockfds[sockfd], *((char *)buf + (0 .. len)), flags;
+    assigns \result
+      \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]),
+            (indirect: *((char *)buf + (0 .. len))), (indirect: flags);
  */
-extern int fseek(FILE *stream, long offset, int whence);
-
-/*@ assigns *stream;
-    assigns *stream \from *pos; */
-extern int fsetpos(FILE *stream, fpos_t const *pos);
+extern ssize_t send(int sockfd, void const *buf, size_t len, int flags);
 
-/*@ requires valid_stream: \valid(stream);
-    ensures
-      success_or_error:
-        \result ≡ -1 ∨
-        (\result ≥ 0 ∧ __fc_errno ≡ \old(__fc_errno));
-    assigns \result, __fc_errno;
-    assigns \result \from (indirect: *stream);
-    assigns __fc_errno \from (indirect: *stream);
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    requires
+      optval_null_or_has_room:
+        optval ≡ \null ∨ \valid_read((char *)optval + (0 .. optlen - 1));
+    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, __fc_sockfds[sockfd];
+    assigns \result
+      \from __fc_sockfds[sockfd], level, optname,
+            *((char *)optval + (0 .. optlen - 1)), optlen;
+    assigns __fc_sockfds[sockfd]
+      \from __fc_sockfds[sockfd], level, optname,
+            *((char *)optval + (0 .. optlen - 1)), optlen;
  */
-extern long ftell(FILE *stream);
-
-/*@ assigns *stream;
-    assigns *stream \from \nothing; */
-extern void rewind(FILE *stream);
-
-/*@ assigns *stream;
-    assigns *stream \from \nothing; */
-extern void clearerr(FILE *stream);
-
-/*@ assigns \result;
-    assigns \result \from *stream; */
-extern int feof(FILE *stream);
-
-/*@ assigns \result;
-    assigns \result \from *stream; */
-extern int fileno(FILE *stream);
-
-/*@ assigns *stream;
-    assigns *stream \from \nothing; */
-extern void flockfile(FILE *stream);
+extern int setsockopt(int sockfd, int level, int optname, void const *optval,
+                      socklen_t optlen);
 
-/*@ assigns *stream;
-    assigns *stream \from \nothing; */
-extern void funlockfile(FILE *stream);
+/*@ requires valid_sockfd: 0 ≤ sockfd < 1024;
+    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, __fc_sockfds[sockfd];
+    assigns \result \from how, __fc_sockfds[sockfd];
+    assigns __fc_sockfds[sockfd] \from how, __fc_sockfds[sockfd];
+ */
+extern int shutdown(int sockfd, int how);
 
-/*@ assigns \result, *stream;
-    assigns \result \from \nothing;
-    assigns *stream \from \nothing;
+/*@ ensures
+      result_error_or_valid_new_sockfd:
+        (0 ≤ \result < 1024) ∨ \result ≡ -1;
+    assigns \result, __fc_socket_counter;
+    assigns \result
+      \from (indirect: domain), (indirect: type), (indirect: protocol),
+            (indirect: __fc_socket_counter);
+    assigns __fc_socket_counter
+      \from (indirect: domain), (indirect: type), (indirect: protocol),
+            __fc_socket_counter;
  */
-extern int ftrylockfile(FILE *stream);
+extern int socket(int domain, int type, int protocol);
 
-/*@ assigns \result;
-    assigns \result \from *stream; */
-extern int ferror(FILE *stream);
-
-/*@ assigns __fc_stdout;
-    assigns __fc_stdout \from __fc_errno, *(s + (..));
- */
-extern void perror(char const *s);
-
-/*@ assigns \result, *stream;
-    assigns \result \from *stream;
-    assigns *stream \from *stream;
+/*@ requires valid_socket_sector: \valid(sv + (0 .. 1));
+    ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1;
+    ensures initialization: sv: \initialized(\old(sv) + (0 .. 1));
+    ensures valid_new_sockfd: sv0: 0 ≤ *(\old(sv) + 0) < 1024;
+    ensures valid_new_sockfd: sv1: 0 ≤ *(\old(sv) + 1) < 1024;
+    assigns \result, __fc_socket_counter, *(sv + (0 .. 1));
+    assigns \result \from __fc_socket_counter;
+    assigns __fc_socket_counter \from __fc_socket_counter;
+    assigns *(sv + (0 .. 1)) \from __fc_socket_counter;
  */
-extern int getc_unlocked(FILE *stream);
+extern int socketpair(int domain, int type, int protocol, int * /*[2]*/ sv);
 
+struct in6_addr const in6addr_any = {.s6_addr = {(unsigned char)0}};
+struct in6_addr const in6addr_loopback =
+  {.s6_addr = {(unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF,
+               (unsigned char)0xFF}};
 /*@ assigns \result;
-    assigns \result \from *__fc_stdin; */
-extern int getchar_unlocked(void);
-
-/*@ assigns *stream;
-    assigns *stream \from c; */
-extern int putc_unlocked(int c, FILE *stream);
-
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from c; */
-extern int putchar_unlocked(int c);
-
-/*@ assigns *stream;
-    assigns *stream \from \nothing; */
-extern void clearerr_unlocked(FILE *stream);
+    assigns \result \from arg; */
+extern uint32_t htonl(uint32_t arg);
 
 /*@ assigns \result;
-    assigns \result \from *stream; */
-extern int feof_unlocked(FILE *stream);
+    assigns \result \from arg; */
+extern uint16_t htons(uint16_t arg);
 
 /*@ assigns \result;
-    assigns \result \from *stream; */
-extern int ferror_unlocked(FILE *stream);
+    assigns \result \from arg; */
+extern uint32_t ntohl(uint32_t arg);
 
 /*@ assigns \result;
-    assigns \result \from *stream; */
-extern int fileno_unlocked(FILE *stream);
+    assigns \result \from arg; */
+extern uint16_t ntohs(uint16_t arg);
 
-/*@ axiomatic pipe_streams {
-      predicate is_open_pipe{L}(FILE *stream) ;
-      
-      }
+/*@ requires valid_arg: valid_read_string(arg);
+    assigns \result;
+    assigns \result \from (indirect: *(arg + (0 ..)));
+ */
+extern in_addr_t inet_addr(char const *arg);
 
-*/
-/*@ requires valid_command: valid_read_string(command);
-    requires valid_type: valid_read_string(type);
-    ensures
-      result_error_or_valid_open_pipe:
-        \result ≡ \null ∨
-        (\subset(\result, &__fc_fopen[0 .. 16 - 1]) ∧ is_open_pipe(\result));
-    assigns \result, __fc_fopen[0 ..];
-    assigns \result
-      \from (indirect: *command), (indirect: *type), __fc_p_fopen;
-    assigns __fc_fopen[0 ..]
-      \from (indirect: *command), (indirect: *type), __fc_fopen[0 ..];
+char volatile __fc_inet_ntoa_array[16];
+char *__fc_inet_ntoa = (char *)(__fc_inet_ntoa_array);
+/*@ ensures result_static_string: \result ≡ __fc_inet_ntoa;
+    ensures result_null_terminated: *(\result + 15) ≡ 0;
+    ensures result_valid_string: valid_read_string(\result);
+    assigns \result, *(__fc_inet_ntoa + (0 ..));
+    assigns \result \from (indirect: arg), __fc_inet_ntoa;
+    assigns *(__fc_inet_ntoa + (0 ..)) \from (indirect: arg);
  */
-extern FILE *popen(char const *command, char const *type);
+extern char *inet_ntoa(struct in_addr arg);
 
-/*@ requires valid_stream: \valid(stream);
-    requires open_pipe: is_open_pipe(stream);
-    ensures closed_stream: ¬is_open_pipe(\old(stream));
-    assigns \result;
-    assigns \result \from (indirect: *stream);
+/*@ assigns \result, *(dst + (0 .. size - 1));
+    assigns \result \from dst, af, *((char *)src + (0 ..));
+    assigns *(dst + (0 .. size - 1)) \from af, *((char *)src + (0 ..));
  */
-extern int pclose(FILE *stream);
+extern char const *inet_ntop(int af, void const *src, char *dst,
+                             socklen_t size);
 
-ssize_t getline(char **lineptr, size_t *n, FILE *stream);
+/*@ assigns \result, *((char *)dst + (0 ..));
+    assigns \result \from af, *(src + (..));
+    assigns *((char *)dst + (0 ..)) \from af, *(src + (0 ..));
+ */
+extern int inet_pton(int af, char const *src, void *dst);
 
-FILE __fc_initial_stdout =
-  {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U};
-FILE *__fc_stdout = & __fc_initial_stdout;
-FILE __fc_initial_stderr =
-  {.__fc_FILE_id = (unsigned int)2, .__fc_FILE_data = 0U};
-FILE *__fc_stderr = & __fc_initial_stderr;
-FILE __fc_initial_stdin =
-  {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U};
-FILE *__fc_stdin = & __fc_initial_stdin;
-ssize_t getline(char **lineptr, size_t *n, FILE *stream)
-{
-  ssize_t __retres;
-  int tmp;
-  if (! lineptr) goto _LOR;
-  else 
-    if (! n) goto _LOR;
-    else 
-      if (! stream) {
-        _LOR: {
-                __fc_errno = 22;
-                __retres = -1;
-                goto return_label;
-              }
-      }
-  tmp = ferror(stream);
-  if (tmp) goto _LOR_0;
-  else {
-    int tmp_0;
-    tmp_0 = feof(stream);
-    if (tmp_0) {
-      _LOR_0: {
-                __retres = -1;
-                goto return_label;
-              }
-    }
-  }
-  if (! *lineptr) goto _LOR_1;
-  else 
-    if (*n == (size_t)0) {
-      _LOR_1:
-      {
-        *lineptr = (char *)malloc((unsigned int)2);
-        if (! lineptr) {
-          __fc_errno = 12;
-          __retres = -1;
-          goto return_label;
-        }
-        *n = (unsigned int)2;
-      }
-    }
-  size_t cur = (unsigned int)0;
-  while (1) {
-    int tmp_3;
-    tmp_3 = ferror(stream);
-    if (tmp_3) break;
-    else {
-      int tmp_4;
-      tmp_4 = feof(stream);
-      if (tmp_4) break;
-    }
-    {
-      while (cur < *n - (size_t)1) {
-        int tmp_1;
-        tmp_1 = fgetc(stream);
-        char c = (char)tmp_1;
-        if ((int)c == -1) 
-          if (cur == (size_t)0) {
-            __retres = -1;
-            goto return_label;
-          }
-        if ((int)c != -1) {
-          size_t tmp_2;
-          tmp_2 = cur;
-          cur += (size_t)1;
-          *(*lineptr + tmp_2) = c;
-        }
-        if ((int)c == '\n') goto _LOR_2;
-        else 
-          if ((int)c == -1) {
-            _LOR_2:
-            {
-              *(*lineptr + cur) = (char)'\000';
-              __retres = (int)cur;
-              goto return_label;
-            }
-          }
-      }
-      if (*n == (size_t)2147483647) {
-        __fc_errno = 75;
-        __retres = -1;
-        goto return_label;
-      }
-      size_t new_size = *n + (size_t)1;
-      *lineptr = (char *)realloc((void *)*lineptr,new_size);
-      if (! *lineptr) {
-        __fc_errno = 12;
-        __retres = -1;
-        goto return_label;
-      }
-      *n = new_size;
-    }
-  }
-  __retres = -1;
-  return_label: return __retres;
-}
+int h_errno;
+/*@ requires addrinfo_valid: \valid(addrinfo);
+    ensures allocation: \allocable(\old(addrinfo));
+    assigns \nothing;
+    frees addrinfo;
+ */
+extern void freeaddrinfo(struct addrinfo *addrinfo);
 
-/*@ requires abs_representable: i > -2147483647 - 1;
+char *__fc_gai_strerror = (char *)"<error message reported by gai_strerror>";
+/*@ ensures result_string: \result ≡ __fc_gai_strerror;
+    ensures result_valid_string: valid_read_string(\result);
     assigns \result;
-    assigns \result \from i;
-    
-    behavior negative:
-      assumes negative: i < 0;
-      ensures opposite_result: \result ≡ -\old(i);
-    
-    behavior nonnegative:
-      assumes nonnegative: i ≥ 0;
-      ensures same_result: \result ≡ \old(i);
-    
-    complete behaviors nonnegative, negative;
-    disjoint behaviors nonnegative, negative;
+    assigns \result \from (indirect: errcode), __fc_gai_strerror;
  */
-int abs(int i)
-{
-  int __retres;
-  if (i < 0) {
-    __retres = - i;
-    goto return_label;
-  }
-  __retres = i;
-  return_label: return __retres;
-}
+extern char const *gai_strerror(int errcode);
 
-/*@ requires valid_nptr: \valid_read(p);
-    assigns \result;
-    assigns \result \from (indirect: p), (indirect: *(p + (0 ..)));
+int getaddrinfo(char const * __restrict nodename,
+                char const * __restrict servname,
+                struct addrinfo const * __restrict hints,
+                struct addrinfo ** __restrict res);
+
+struct hostent *gethostbyname(char const *name);
+
+/*@
+predicate non_escaping{L}(void *s, size_t n) =
+  ∀ unsigned int i; 0 ≤ i < n ⇒ ¬\dangling((char *)s + i);
  */
-int atoi(char const *p)
-{
-  int __retres;
-  int n;
-  int c;
-  int tmp_1;
-  int tmp_3;
-  int neg = 0;
-  unsigned char *up = (unsigned char *)p;
-  c = (int)*up;
-  tmp_1 = isdigit(c);
-  if (! tmp_1) {
-    int tmp_0;
-    while (1) {
-      int tmp;
-      tmp = isspace(c);
-      if (! tmp) break;
-      up ++;
-      c = (int)*up;
-    }
-    switch (c) {
-      case '-': neg ++;
-      case '+': { /* sequence */
-                  up ++;
-                  c = (int)*up;
-                }
-    }
-    tmp_0 = isdigit(c);
-    if (! tmp_0) {
-      __retres = 0;
-      goto return_label;
-    }
-  }
-  n = '0' - c;
-  while (1) {
-    int tmp_2;
-    up ++;
-    c = (int)*up;
-    tmp_2 = isdigit(c);
-    if (! tmp_2) break;
-    n *= 10;
-    n += '0' - c;
-  }
-  if (neg) tmp_3 = n; else tmp_3 = - n;
-  __retres = tmp_3;
-  return_label: return __retres;
-}
+/*@
+predicate empty_block{L}(void *s) =
+  \block_length((char *)s) ≡ 0 ∧ \offset((char *)s) ≡ 0;
+ */
+/*@
+predicate valid_or_empty{L}(void *s, size_t n) =
+  (empty_block(s) ∨ \valid_read((char *)s)) ∧
+  \valid((char *)s + (0 .. n - 1));
+ */
+/*@
+predicate valid_read_or_empty{L}(void *s, size_t n) =
+  (empty_block(s) ∨ \valid_read((char *)s)) ∧
+  \valid_read((char *)s + (1 .. n - 1));
 
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status
-      \from (indirect: nmemb), (indirect: size), __fc_heap_status;
+*/
+int memcmp(void const *s1, void const *s2, size_t n);
+
+void *memchr(void const *s, int c, size_t n);
+
+void *memcpy(void * __restrict dest, void const * __restrict src, size_t n);
+
+void *memmove(void *dest, void const *src, size_t n);
+
+void *memset(void *s, int c, size_t n);
+
+size_t strlen(char const *s);
+
+size_t strnlen(char const *s, size_t maxlen);
+
+int strcmp(char const *s1, char const *s2);
+
+int strncmp(char const *s1, char const *s2, size_t n);
+
+/*@ requires valid_string_s1: valid_read_string(s1);
+    requires valid_string_s2: valid_read_string(s2);
+    assigns \result;
     assigns \result
-      \from (indirect: nmemb), (indirect: size), (indirect: __fc_heap_status);
-    allocates \result;
-    
-    behavior allocation:
-      assumes can_allocate: is_allocable(nmemb * size);
-      ensures
-        allocation: \fresh{Old, Here}(\result,\old(nmemb) * \old(size));
-      ensures
-        initialization:
-          \initialized((char *)\result + (0 .. \old(nmemb) * \old(size) - 1));
-      ensures
-        zero_initialization:
-          \subset(*((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)),
-                 {0});
-    
-    behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(nmemb * size);
-      ensures null_result: \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
+      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
  */
-void *calloc(size_t nmemb, size_t size)
-{
-  void *__retres;
-  size_t l = nmemb * size;
-  if (size != (size_t)0) 
-    if (l / size != nmemb) {
-      __retres = (void *)0;
-      goto return_label;
-    }
-  char *p = malloc(l);
-  if (p) memset((void *)p,0,l);
-  __retres = (void *)p;
-  return_label: return __retres;
-}
+extern int strcoll(char const *s1, char const *s2);
 
-static char __fc_env_strings[64];
-static char __fc_initenv_init;
-static void __fc_initenv(void)
-{
-  if (! __fc_initenv_init) {
-    Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1));
-    {
-      int i = 0;
-      while (i < 4096) {
-        {
-          int tmp;
-          tmp = Frama_C_interval(0,64 - 1);
-          __fc_env[i] = & __fc_env_strings[tmp];
-        }
-        i ++;
-      }
-    }
-    __fc_initenv_init = (char)1;
-  }
-  return;
-}
+char *strchr(char const *s, int c);
 
-/*@ requires valid_name: valid_read_string(name);
-    ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result);
+char *strrchr(char const *s, int c);
+
+/*@ requires valid_string_s: valid_read_string(s);
+    requires valid_string_reject: valid_read_string(reject);
+    ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
     assigns \result;
-    assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..));
+    assigns \result
+      \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..)));
  */
-char *getenv(char const *name)
-{
-  char *__retres;
-  int tmp_0;
-  /*@ assert ¬(strchr(name, '=') ≡ \true); */ ;
-  __fc_initenv();
-  tmp_0 = Frama_C_nondet(0,1);
-  if (tmp_0) {
-    int tmp;
-    tmp = Frama_C_interval(0,4096 - 1);
-    ;
-    __retres = __fc_env[tmp];
-    goto return_label;
-  }
-  else {
-    __retres = (char *)0;
-    goto return_label;
-  }
-  return_label: return __retres;
-}
+extern size_t strcspn(char const *s, char const *reject);
 
-/*@ requires valid_string: valid_read_string(string);
-    assigns __fc_env[0 ..], \result;
-    assigns __fc_env[0 ..] \from __fc_env[0 ..], string;
-    assigns \result \from (indirect: __fc_env[0 ..]), (indirect: string);
+/*@ requires valid_string_s: valid_read_string(s);
+    requires valid_string_accept: valid_read_string(accept);
+    ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
+    assigns \result, \result;
+    assigns \result \from *(s + (0 ..)), *(accept + (0 ..));
+    assigns \result
+      \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..)));
  */
-int putenv(char *string)
-{
-  int __retres;
-  int tmp_3;
-  char *separator = strchr((char const *)string,'=');
-  /*@ assert string_contains_separator: separator ≢ \null; */ ;
-  /*@ assert name_is_not_empty: separator ≢ string; */ ;
-  __fc_initenv();
-  tmp_3 = Frama_C_nondet(0,1);
-  if (tmp_3) {
-    int tmp_1;
-    int tmp_2;
-    tmp_1 = Frama_C_nondet(0,1);
-    if (tmp_1) {
-      int tmp_0;
-      tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647);
-      __retres = tmp_0;
-      goto return_label;
-    }
-    tmp_2 = Frama_C_interval(0,4096 - 1);
-    __fc_env[tmp_2] = string;
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
+extern size_t strspn(char const *s, char const *accept);
 
-/*@ requires valid_name: valid_read_string(name);
-    requires valid_value: valid_read_string(value);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_env[0 ..];
-    assigns \result
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
-            (indirect: value), (indirect: *(value + (0 ..))),
-            (indirect: overwrite);
-    assigns __fc_env[0 ..]
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
-            (indirect: value), (indirect: *(value + (0 ..))),
-            (indirect: overwrite);
+/*@ requires valid_string_s: valid_read_string(s);
+    requires valid_string_accept: valid_read_string(accept);
+    ensures
+      result_null_or_same_base:
+        \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+    assigns \result;
+    assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..));
  */
-int setenv(char const *name, char const *value, int overwrite)
-{
-  int __retres;
-  char *tmp;
-  int tmp_4;
-  tmp = strchr(name,'=');
-  if (tmp) {
-    __retres = -1;
-    goto return_label;
-  }
-  size_t namelen = strlen(name);
-  if (namelen == (size_t)0) {
-    __retres = -1;
-    goto return_label;
-  }
-  __fc_initenv();
-  tmp_4 = Frama_C_nondet(0,1);
-  if (tmp_4) {
-    __retres = -1;
-    goto return_label;
-  }
-  else {
-    int tmp_1;
-    int tmp_2;
-    int tmp_3;
-    tmp_1 = Frama_C_nondet(0,1);
-    if (tmp_1) Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1));
-    tmp_2 = Frama_C_interval(0,4096 - 1);
-    tmp_3 = Frama_C_interval(0,64 - 1);
-    __fc_env[tmp_2] = & __fc_env_strings[tmp_3];
-    __retres = 0;
-    goto return_label;
-  }
-  return_label: return __retres;
-}
+extern char *strpbrk(char const *s, char const *accept);
 
-/*@ requires valid_name: valid_read_string(name);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_env[0 ..];
+char *strstr(char const *haystack, char const *needle);
+
+/*@ requires valid_string_haystack: valid_read_string(haystack);
+    requires valid_string_needle: valid_read_string(needle);
+    ensures
+      result_null_or_in_haystack:
+        \result ≡ \null ∨
+        (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result));
+    assigns \result;
     assigns \result
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
-    assigns __fc_env[0 ..]
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
+      \from haystack, (indirect: *(haystack + (0 ..))),
+            (indirect: *(needle + (0 ..)));
  */
-int unsetenv(char const *name)
-{
-  int __retres;
-  char *tmp;
-  int tmp_2;
-  tmp = strchr(name,'=');
-  if (tmp) {
-    __retres = -1;
-    goto return_label;
-  }
-  size_t namelen = strlen(name);
-  if (namelen == (size_t)0) {
-    __retres = -1;
-    goto return_label;
-  }
-  __fc_initenv();
-  tmp_2 = Frama_C_nondet(0,1);
-  if (tmp_2) {
-    int tmp_1;
-    tmp_1 = Frama_C_interval(0,4096 - 1);
-    __fc_env[tmp_1] = (char *)0;
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
+extern char *strcasestr(char const *haystack, char const *needle);
 
-/*@ requires valid_memptr: \valid(memptr);
-    requires
-      alignment_is_a_suitable_power_of_two:
-        alignment ≥ sizeof(void *) ∧
-        ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0;
-    assigns __fc_heap_status, \result;
-    assigns __fc_heap_status
-      \from (indirect: alignment), size, __fc_heap_status;
+char *__fc_strtok_ptr;
+/*@ requires valid_string_delim: valid_read_string(delim);
+    assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result,
+            __fc_strtok_ptr;
+    assigns *(s + (0 ..))
+      \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr),
+            (indirect: *(delim + (0 ..)));
+    assigns *(__fc_strtok_ptr + (0 ..))
+      \from *(__fc_strtok_ptr + (0 ..)), (indirect: s),
+            (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..)));
     assigns \result
-      \from (indirect: alignment), (indirect: size),
-            (indirect: __fc_heap_status);
-    allocates *\old(memptr);
+      \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))),
+            (indirect: *(__fc_strtok_ptr + (0 ..))),
+            (indirect: *(delim + (0 ..)));
+    assigns __fc_strtok_ptr
+      \from \old(__fc_strtok_ptr), s,
+            (indirect: *(__fc_strtok_ptr + (0 ..))),
+            (indirect: *(delim + (0 ..)));
     
-    behavior allocation:
-      assumes can_allocate: is_allocable(size);
-      ensures allocation: \fresh{Old, Here}(*\old(memptr),\old(size));
-      ensures result_zero: \result ≡ 0;
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status
-        \from (indirect: alignment), size, __fc_heap_status;
+    behavior new_str:
+      assumes s_not_null: s ≢ \null;
+      requires
+        valid_string_s_or_delim_not_found:
+          valid_string(s) ∨
+          (valid_read_string(s) ∧
+           (∀ int i;
+              0 ≤ i < strlen(delim) ⇒
+              ¬(strchr(s, *(delim + i)) ≡ \true)));
+      ensures
+        result_subset:
+          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
+      ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..));
+      assigns __fc_strtok_ptr, *(s + (0 ..)), \result;
+      assigns __fc_strtok_ptr
+        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+      assigns *(s + (0 ..))
+        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
       assigns \result
-        \from (indirect: alignment), (indirect: size),
-              (indirect: __fc_heap_status);
+        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
     
-    behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(size);
-      ensures result_non_zero: \result < 0 ∨ \result > 0;
-      assigns \result;
-      assigns \result \from (indirect: alignment);
-      allocates \nothing;
+    behavior resume_str:
+      assumes s_null: s ≡ \null;
+      requires not_first_call: __fc_strtok_ptr ≢ \null;
+      ensures
+        result_subset:
+          \result ≡ \null ∨
+          \subset(\result, \old(__fc_strtok_ptr) + (0 ..));
+      ensures
+        ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..));
+      assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result;
+      assigns *(__fc_strtok_ptr + (0 ..))
+        \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr),
+              (indirect: *(delim + (0 ..)));
+      assigns __fc_strtok_ptr
+        \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))),
+              (indirect: *(delim + (0 ..)));
+      assigns \result
+        \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))),
+              (indirect: *(delim + (0 ..)));
     
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-int posix_memalign(void **memptr, size_t alignment, size_t size)
-{
-  int __retres;
-  /*@
-  assert
-  alignment_is_a_suitable_power_of_two:
-    alignment ≥ sizeof(void *) ∧
-    ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0;
-   */
-  ;
-  *memptr = malloc(size);
-  if (! *memptr) {
-    __retres = 12;
-    goto return_label;
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
-
-/*@ requires valid_dest: valid_or_empty(dest, n);
-    requires valid_src: valid_read_or_empty(src, n);
-    requires
-      separation:
-        \separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1));
-    ensures
-      copied_contents:
-        memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡
-        0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *((char *)dest + (0 .. n - 1)), \result;
-    assigns *((char *)dest + (0 .. n - 1))
-      \from *((char *)src + (0 .. n - 1));
-    assigns \result \from dest;
+    complete behaviors resume_str, new_str;
+    disjoint behaviors resume_str, new_str;
  */
-void *memcpy(void * __restrict dest, void const * __restrict src, size_t n)
-{
-  {
-    size_t i = (unsigned int)0;
-    /*@ loop invariant no_eva: 0 ≤ i ≤ n;
-        loop invariant
-          no_eva:
-            ∀ ℤ k;
-              0 ≤ k < i ⇒ *((char *)dest + k) ≡ *((char *)src + k);
-        loop assigns i, *((char *)dest + (0 .. n - 1));
-        loop variant n - i;
-    */
-    while (i < n) {
-      *((char *)dest + i) = *((char *)src + i);
-      i += (size_t)1;
-    }
-  }
-  return dest;
-}
+extern char *strtok(char * __restrict s, char const * __restrict delim);
 
-/*@ assigns \result;
-    assigns \result \from (indirect: p), (indirect: q), (indirect: n);
+/*@ requires valid_string_delim: valid_read_string(delim);
+    requires valid_saveptr: \valid(saveptr);
+    assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr;
+    assigns *(s + (0 ..))
+      \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr),
+            (indirect: *(delim + (0 ..)));
+    assigns *(*saveptr + (0 ..))
+      \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr),
+            (indirect: *(delim + (0 ..)));
+    assigns \result
+      \from s, *saveptr, (indirect: *(s + (0 ..))),
+            (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..)));
+    assigns *saveptr
+      \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))),
+            (indirect: *(delim + (0 ..)));
     
-    behavior separated:
-      assumes
-        separation: no_overlap:
-          \separated(p + (0 .. n - 1), q + (0 .. n - 1));
-      ensures result_no_overlap: \result ≡ 0;
+    behavior new_str:
+      assumes s_not_null: s ≢ \null;
+      requires
+        valid_string_s_or_delim_not_found:
+          valid_string(s) ∨
+          (valid_read_string(s) ∧
+           (∀ int i;
+              0 ≤ i < strlen(delim) ⇒
+              ¬(strchr(s, *(delim + i)) ≡ \true)));
+      ensures
+        result_subset:
+          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
+      ensures initialization: \initialized(\old(saveptr));
+      ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..));
+      assigns *saveptr, *(s + (0 ..)), \result;
+      assigns *saveptr
+        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+      assigns *(s + (0 ..))
+        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
+      assigns \result
+        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
     
-    behavior not_separated_lt:
-      assumes
-        separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1));
-      assumes p_before_q: p ≤ q < p + n;
-      ensures result_p_before_q: \result ≡ -1;
+    behavior resume_str:
+      assumes s_null: s ≡ \null;
+      requires not_first_call: *saveptr ≢ \null;
+      requires initialization: saveptr: \initialized(saveptr);
+      ensures
+        result_subset:
+          \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..));
+      ensures
+        saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..));
+      assigns *(*saveptr + (0 ..)), *saveptr, \result;
+      assigns *(*saveptr + (0 ..))
+        \from *(*saveptr + (0 ..)), (indirect: *saveptr),
+              (indirect: *(delim + (0 ..)));
+      assigns *saveptr
+        \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))),
+              (indirect: *(delim + (0 ..)));
+      assigns \result
+        \from *saveptr, (indirect: *(*saveptr + (0 ..))),
+              (indirect: *(delim + (0 ..)));
     
-    behavior not_separated_gt:
-      assumes
-        separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1));
-      assumes p_after_q: q < p ≤ q + n;
-      ensures result_p_after_q: \result ≡ 1;
+    complete behaviors resume_str, new_str;
+    disjoint behaviors resume_str, new_str;
+ */
+extern char *strtok_r(char * __restrict s, char const * __restrict delim,
+                      char ** __restrict saveptr);
+
+/*@ requires
+      valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp);
+    requires valid_string_delim: valid_read_string(delim);
+    assigns *stringp, \result;
+    assigns *stringp \from *(delim + (..)), *(*(stringp + (..)));
+    assigns \result \from *(delim + (..)), *(*(stringp + (..)));
+ */
+extern char *strsep(char **stringp, char const *delim);
+
+char __fc_strerror[64];
+char * const __fc_p_strerror = __fc_strerror;
+char *strerror(int errnum);
+
+char *strcpy(char *dest, char const *src);
+
+char *strncpy(char *dest, char const *src, size_t n);
+
+/*@ requires valid_string_src: valid_read_string(src);
+    requires room_nstring: \valid(dest + (0 .. n - 1));
+    requires
+      separation:
+        \separated(
+          dest + (0 .. n - 1), src + (0 .. \max(n - 1, strlen(src)))
+          );
+    ensures
+      initialization:
+        \initialized(\old(dest) + (0 .. \min(strlen(\old(src)), \old(n) - 1)));
+    ensures bounded_result: \result ≡ strlen(\old(src));
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
+    assigns \result
+      \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n);
+ */
+size_t strlcpy(char * __restrict dest, char const * __restrict src, size_t n);
+
+/*@ requires valid_string_src: valid_read_string(src);
+    requires room_string: \valid(dest + (0 .. strlen(src)));
+    requires
+      separation:
+        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
+    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
+    ensures points_to_end: \result ≡ \old(dest) + strlen(\old(dest));
+    assigns *(dest + (0 .. strlen{Old}(src))), \result;
+    assigns *(dest + (0 .. strlen{Old}(src)))
+      \from *(src + (0 .. strlen{Old}(src)));
+    assigns \result \from dest;
+ */
+extern char *stpcpy(char * __restrict dest, char const * __restrict src);
+
+char *strcat(char *dest, char const *src);
+
+char *strncat(char *dest, char const *src, size_t n);
+
+/*@ requires valid_string_src: valid_read_string(src);
+    requires valid_string_dest: valid_string(dest);
+    requires room_nstring: \valid(dest + (0 .. n - 1));
+    ensures
+      bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src));
+    assigns *(dest + (strlen{Old}(dest) .. n)), \result;
+    assigns *(dest + (strlen{Old}(dest) .. n))
+      \from (indirect: n), *(src + (0 .. strlen{Old}(src)));
+    assigns \result
+      \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n);
+ */
+extern size_t strlcat(char * __restrict dest, char const * __restrict src,
+                      size_t n);
+
+/*@ requires valid_dest: \valid(dest + (0 .. n - 1));
+    requires valid_string_src: valid_read_string(src);
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from (indirect: *(src + (0 ..))), (indirect: n);
+    assigns \result \from dest;
+ */
+extern size_t strxfrm(char * __restrict dest, char const * __restrict src,
+                      size_t n);
+
+char *strdup(char const *s);
+
+char *strndup(char const *s, size_t n);
+
+char __fc_strsignal[64];
+char * const __fc_p_strsignal = __fc_strsignal;
+char *strsignal(int signum);
+
+/*@ requires valid_memory_area: \valid((char *)s + (0 .. n - 1));
+    ensures
+      s_initialized: initialization:
+        \initialized((char *)\old(s) + (0 .. \old(n) - 1));
+    ensures
+      zero_initialized: \subset(*((char *)\old(s) + (0 .. \old(n) - 1)), {0});
+    assigns *((char *)s + (0 .. n - 1));
+    assigns *((char *)s + (0 .. n - 1)) \from \nothing;
+ */
+extern void bzero(void *s, size_t n);
+
+int strcasecmp(char const *s1, char const *s2);
+
+/*@ requires valid_string_s1: valid_read_nstring(s1, n);
+    requires valid_string_s2: valid_read_nstring(s2, n);
+    assigns \result;
+    assigns \result
+      \from (indirect: n), (indirect: *(s1 + (0 .. n - 1))),
+            (indirect: *(s2 + (0 .. n - 1)));
+ */
+extern int strncasecmp(char const *s1, char const *s2, size_t n);
+
+static unsigned int volatile getaddrinfo_net_state;
+/*@ requires
+      nodename_string: nodename ≡ \null ∨ valid_read_string(nodename);
+    requires
+      servname_string: servname ≡ \null ∨ valid_read_string(servname);
+    requires hints_option: hints ≡ \null ∨ \valid_read(hints);
+    requires valid_res: \valid(res);
+    assigns *res, \result, __fc_errno;
+    assigns *res
+      \from (indirect: nodename), (indirect: servname), (indirect: hints);
+    assigns \result
+      \from (indirect: nodename), (indirect: servname), (indirect: hints);
+    assigns __fc_errno
+      \from (indirect: nodename), (indirect: servname), (indirect: hints);
+    allocates *\old(res);
     
-    complete behaviors not_separated_gt, not_separated_lt, separated;
-    disjoint behaviors not_separated_gt, not_separated_lt, separated;
+    behavior empty_request:
+      assumes empty: nodename ≡ \null ∧ servname ≡ \null;
+      ensures no_name: \result ≡ -2;
+      assigns \result;
+      assigns \result \from (indirect: nodename), (indirect: servname);
+    
+    behavior normal_request:
+      assumes has_name: nodename ≢ \null ∨ servname ≢ \null;
+      ensures
+        initialization: allocation: success_or_error:
+          (\result ≡ 0 ∧
+           \fresh{Old, Here}(*\old(res),sizeof(*\old(res))) ∧
+           \initialized(*\old(res))) ∨
+          \result ≡ -3 ∨ \result ≡ -1 ∨ \result ≡ -4 ∨
+          \result ≡ -6 ∨ \result ≡ -10 ∨ \result ≡ -8 ∨
+          \result ≡ -7 ∨ \result ≡ -11;
+    
+    complete behaviors normal_request, empty_request;
+    disjoint behaviors normal_request, empty_request;
  */
-static int memoverlap(char const *p, char const *q, size_t n)
+int getaddrinfo(char const * __restrict nodename,
+                char const * __restrict servname,
+                struct addrinfo const * __restrict hints,
+                struct addrinfo ** __restrict res)
 {
   int __retres;
-  uintptr_t p1 = (unsigned int)p;
-  uintptr_t p2 = (unsigned int)(p + n);
-  uintptr_t q1 = (unsigned int)q;
-  uintptr_t q2 = (unsigned int)(q + n);
-  if (p1 <= q1) {
-    if (p2 > q1) {
-      __retres = -1;
+  if (nodename == (char const *)0) 
+    if (servname == (char const *)0) {
+      __retres = -2;
       goto return_label;
     }
-    else goto _LAND;
-  }
-  else {
-    _LAND: ;
-    if (q1 <= p1) 
-      if (q2 > p1) {
-        __retres = 1;
+  switch (getaddrinfo_net_state) {
+    case (unsigned int)0: __retres = -1;
+    goto return_label;
+    case (unsigned int)1: __retres = -3;
+    goto return_label;
+    case (unsigned int)2: __retres = -4;
+    goto return_label;
+    case (unsigned int)3: __retres = -6;
+    goto return_label;
+    case (unsigned int)5: __retres = -8;
+    goto return_label;
+    case (unsigned int)6: __retres = -7;
+    goto return_label;
+    case (unsigned int)7:
+    {
+      __fc_errno = 5;
+      __retres = -11;
+      goto return_label;
+    }
+    default:
+    {
+      struct addrinfo *tmp_0;
+      struct sockaddr *tmp_2;
+      int tmp_3;
+      struct addrinfo *ai = malloc(sizeof(*tmp_0));
+      if (! ai) {
+        __retres = -10;
         goto return_label;
       }
-      else {
-        __retres = 0;
+      struct sockaddr *sa = malloc(sizeof(*tmp_2));
+      if (! sa) {
+        __retres = -10;
         goto return_label;
       }
-    else {
+      tmp_3 = Frama_C_interval(0,43);
+      sa->sa_family = (unsigned short)tmp_3;
+      /*@ slevel 15; */
+      {
+        int i = 0;
+        while (i < 14) {
+          {
+            int tmp_4;
+            tmp_4 = Frama_C_interval(-128,127);
+            sa->sa_data[i] = (char)tmp_4;
+          }
+          i ++;
+        }
+      }
+      /*@ slevel default; */
+      ai->ai_flags = 0;
+      ai->ai_family = (int)sa->sa_family;
+      ai->ai_socktype = Frama_C_interval(0,5);
+      ai->ai_protocol = Frama_C_interval(0,IPPROTO_MAX);
+      ai->ai_addrlen = sizeof(*sa);
+      ai->ai_addr = sa;
+      ai->ai_canonname = (char *)"dummy";
+      ai->ai_next = (struct addrinfo *)0;
+      *res = ai;
       __retres = 0;
       goto return_label;
     }
@@ -4922,2762 +4331,3353 @@ static int memoverlap(char const *p, char const *q, size_t n)
   return_label: return __retres;
 }
 
-/*@ requires valid_dest: valid_or_empty(dest, n);
-    requires valid_src: valid_read_or_empty(src, n);
-    ensures
-      copied_contents:
-        memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡
-        0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *((char *)dest + (0 .. n - 1)), \result;
-    assigns *((char *)dest + (0 .. n - 1))
-      \from *((char *)src + (0 .. n - 1));
-    assigns \result \from dest;
- */
-void *memmove(void *dest, void const *src, size_t n)
+struct __fc_gethostbyname __fc_ghbn;
+int res_search(char const *dname, int class, int type, char *answer,
+               int anslen)
 {
-  void *__retres;
   int tmp;
-  if (n == (size_t)0) {
-    __retres = dest;
-    goto return_label;
-  }
-  char *s = (char *)src;
-  char *d = (char *)dest;
-  tmp = memoverlap((char const *)dest,(char const *)src,n);
-  if (tmp <= 0) {
-    size_t i = (unsigned int)0;
-    /*@ loop invariant no_eva: 0 ≤ i ≤ n;
-        loop invariant
-          no_eva:
-            ∀ ℤ k;
-              0 ≤ k < i ⇒
-              *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry);
-        loop invariant
-          no_eva:
-            ∀ ℤ k;
-              i ≤ k < n ⇒
-              *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry);
-        loop assigns i, *((char *)dest + (0 .. n - 1));
-        loop variant n - i;
-    */
-    while (i < n) {
-      *(d + i) = *(s + i);
-      i += (size_t)1;
+  {
+    int i = 0;
+    while (i < anslen - 1) {
+      *(answer + i) = Frama_C_char_interval((char)(-128),(char)127);
+      i ++;
     }
   }
-  else {
-    {
-      size_t i_0 = n - (size_t)1;
-      /*@ loop invariant no_eva: 0 ≤ i_0 < n;
-          loop invariant
-            no_eva:
-              ∀ ℤ k;
-                i_0 < k < n ⇒
-                *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry);
-          loop invariant
-            no_eva:
-              ∀ ℤ k;
-                0 ≤ k ≤ i_0 ⇒
-                *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry);
-          loop assigns i_0, *((char *)dest + (0 .. n - 1));
-          loop variant i_0;
-      */
-      while (i_0 > (size_t)0) {
-        *(d + i_0) = *(s + i_0);
-        i_0 -= (size_t)1;
+  *(answer + (anslen - 1)) = (char)0;
+  tmp = Frama_C_interval(-1,anslen);
+  return tmp;
+}
+
+struct hostent *gethostbyname(char const *name)
+{
+  struct hostent *__retres;
+  char buf[128];
+  char const *cp;
+  int n;
+  int tmp;
+  __fc_ghbn.host.h_addrtype = 2;
+  __fc_ghbn.host.h_length = (int)sizeof(struct in_addr);
+  if ((int)*name >= '0') 
+    if ((int)*name <= '9') {
+      cp = name;
+      while (1) {
+        if (! *cp) {
+          struct in_addr addr;
+          cp --;
+          ;
+          if ((int)*cp == '.') break;
+          addr.s_addr = inet_addr(name);
+          if (addr.s_addr == 0xffffffff) {
+            __retres = (struct hostent *)0;
+            goto return_label;
+          }
+          memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr),
+                 (unsigned int)__fc_ghbn.host.h_length);
+          strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1));
+          __fc_ghbn.hostbuf[128 - 1] = (char)'\000';
+          __fc_ghbn.host.h_name = __fc_ghbn.hostbuf;
+          __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases;
+          __fc_ghbn.host_aliases[0] = (char *)0;
+          __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr);
+          __fc_ghbn.h_addr_ptrs[1] = (char *)0;
+          __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs;
+          __retres = & __fc_ghbn.host;
+          goto return_label;
+        }
+        if ((int)*cp < '0') 
+          if ((int)*cp > '9') 
+            if ((int)*cp != '.') break;
+        cp ++;
       }
     }
-    *(d + 0) = *(s + 0);
+  n = res_search(name,1,1,buf,(int)sizeof(buf));
+  if (n < 0) {
+    __retres = (struct hostent *)0;
+    goto return_label;
+  }
+  tmp = Frama_C_nondet(0,1);
+  if (tmp) {
+    __retres = (struct hostent *)0;
+    goto return_label;
+  }
+  else {
+    struct in_addr addr_0;
+    addr_0.s_addr = inet_addr(name);
+    memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr_0),
+           (unsigned int)__fc_ghbn.host.h_length);
+    strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1));
+    __fc_ghbn.hostbuf[128 - 1] = (char)'\000';
+    __fc_ghbn.host.h_name = __fc_ghbn.hostbuf;
+    __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases;
+    __fc_ghbn.host_aliases[0] = (char *)0;
+    __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr);
+    __fc_ghbn.h_addr_ptrs[1] = (char *)0;
+    __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs;
+    __retres = & __fc_ghbn.host;
+    goto return_label;
   }
-  __retres = dest;
   return_label: return __retres;
 }
 
-/*@ requires valid_string_s: valid_read_string(s);
-    ensures acsl_c_equiv: \result ≡ strlen(\old(s));
+FILE *__fc_stderr;
+
+FILE *__fc_stdin;
+
+FILE *__fc_stdout;
+
+/*@ assigns \nothing; */
+extern int remove(char const *filename);
+
+/*@ assigns \nothing; */
+extern int rename(char const *old_name, char const *new_name);
+
+FILE __fc_fopen[16];
+FILE * const __fc_p_fopen = __fc_fopen;
+/*@ ensures
+      result_null_or_valid_fd:
+        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
     assigns \result;
-    assigns \result \from (indirect: *(s + (0 ..)));
+    assigns \result \from __fc_p_fopen;
  */
-size_t strlen(char const *s)
-{
-  size_t i;
-  i = (unsigned int)0;
-  while ((int)*(s + i) != 0) i += (size_t)1;
-  return i;
-}
+extern FILE *tmpfile(void);
 
-/*@ requires valid_string_s: valid_read_nstring(s, maxlen);
-    ensures
-      result_bounded:
-        \result ≡ strlen(\old(s)) ∨ \result ≡ \old(maxlen);
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s + (0 .. maxlen - 1))), (indirect: maxlen);
+/*@ assigns \result, *(s + (..));
+    assigns \result \from *(s + (..));
+    assigns *(s + (..)) \from \nothing;
  */
-size_t strnlen(char const *s, size_t maxlen)
-{
-  size_t i;
-  i = (unsigned int)0;
-  while (1) {
-    if (i < maxlen) {
-      if (! ((int)*(s + i) != 0)) break;
-    }
-    else break;
-    i += (size_t)1;
-  }
-  return i;
-}
+extern char *tmpnam(char *s);
 
-/*@ requires valid_s: valid_or_empty(s, n);
-    ensures
-      acsl_c_equiv: memset((char *)\old(s), \old(c), \old(n)) ≡ \true;
-    ensures result_ptr: \result ≡ \old(s);
-    assigns *((char *)s + (0 .. n - 1)), \result;
-    assigns *((char *)s + (0 .. n - 1)) \from c;
-    assigns \result \from s;
+/*@ requires valid_stream: \valid(stream);
+    ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from stream, stream->__fc_FILE_id;
  */
-void *memset(void *s, int c, size_t n)
-{
-  unsigned char *p = (unsigned char *)s;
-  {
-    size_t i = (unsigned int)0;
-    while (i < n) {
-      *(p + i) = (unsigned char)c;
-      i += (size_t)1;
-    }
-  }
-  return s;
-}
+extern int fclose(FILE *stream);
 
-/*@ requires valid_string_s1: valid_read_string(s1);
-    requires valid_string_s2: valid_read_string(s2);
-    ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2));
+/*@ requires null_or_valid_stream: stream ≡ \null ∨ \valid_read(stream);
+    ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+    assigns \result \from stream, stream->__fc_FILE_id;
  */
-int strcmp(char const *s1, char const *s2)
-{
-  int __retres;
-  size_t i;
-  i = (unsigned int)0;
-  while ((int)*(s1 + i) == (int)*(s2 + i)) {
-    if ((int)*(s1 + i) == 0) {
-      __retres = 0;
-      goto return_label;
-    }
-    i += (size_t)1;
-  }
-  __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i);
-  return_label: return __retres;
-}
+extern int fflush(FILE *stream);
 
-/*@ requires valid_string_s1: valid_read_nstring(s1, n);
-    requires valid_string_s2: valid_read_nstring(s2, n);
-    ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n));
+/*@ requires valid_filename: valid_read_string(filename);
+    requires valid_mode: valid_read_string(mode);
+    ensures
+      result_null_or_valid_fd:
+        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
     assigns \result;
     assigns \result
-      \from (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
+      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
+            __fc_p_fopen;
  */
-int strncmp(char const *s1, char const *s2, size_t n)
-{
-  int __retres;
-  {
-    size_t i = (unsigned int)0;
-    while (i < n) {
-      if ((int)*(s1 + i) != (int)*(s2 + i)) {
-        __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i);
-        goto return_label;
-      }
-      if ((int)*(s1 + i) == 0) {
-        __retres = 0;
-        goto return_label;
-      }
-      i += (size_t)1;
-    }
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
+extern FILE *fopen(char const * __restrict filename,
+                   char const * __restrict mode);
 
-/*@ requires valid_s1: valid_read_or_empty(s1, n);
-    requires valid_s2: valid_read_or_empty(s2, n);
-    requires initialization: s1: \initialized((char *)s1 + (0 .. n - 1));
-    requires initialization: s2: \initialized((char *)s2 + (0 .. n - 1));
-    requires danglingness: s1: non_escaping(s1, n);
-    requires danglingness: s2: non_escaping(s2, n);
+/*@ requires valid_mode: valid_read_string(mode);
     ensures
-      logic_spec:
-        \result ≡
-        memcmp{Pre, Pre}((char *)\old(s1), (char *)\old(s2), \old(n));
-    assigns \result;
+      result_null_or_valid_fd:
+        \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]);
+    assigns \result, __fc_fopen[fd];
     assigns \result
-      \from (indirect: *((char *)s1 + (0 .. n - 1))),
-            (indirect: *((char *)s2 + (0 .. n - 1)));
+      \from (indirect: fd), (indirect: *(mode + (0 ..))),
+            (indirect: __fc_fopen[fd]), __fc_p_fopen;
+    assigns __fc_fopen[fd]
+      \from (indirect: fd), (indirect: *(mode + (0 ..))),
+            (indirect: __fc_fopen[fd]), __fc_p_fopen;
  */
-int memcmp(void const *s1, void const *s2, size_t n)
-{
-  int __retres;
-  unsigned char const *p1;
-  unsigned char const *p2;
-  p1 = (unsigned char const *)s1;
-  p2 = (unsigned char const *)s2;
-  {
-    size_t i = (unsigned int)0;
-    while (i < n) {
-      if ((int)*(p1 + i) != (int)*(p2 + i)) {
-        __retres = (int)*(p1 + i) - (int)*(p2 + i);
-        goto return_label;
-      }
-      i += (size_t)1;
-    }
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
-
-static int char_equal_ignore_case(char c1, char c2)
-{
-  int __retres;
-  if ((int)c1 >= 'A') 
-    if ((int)c1 <= 'Z') c1 = (char)((int)c1 - ('A' - 'a'));
-  if ((int)c2 >= 'A') 
-    if ((int)c2 <= 'Z') c2 = (char)((int)c2 - ('A' - 'a'));
-  if ((int)c1 == (int)c2) {
-    __retres = 0;
-    goto return_label;
-  }
-  else {
-    __retres = (int)((unsigned char)c2) - (int)((unsigned char)c1);
-    goto return_label;
-  }
-  return_label: return __retres;
-}
+extern FILE *fdopen(int fd, char const *mode);
 
-/*@ requires valid_string_s1: valid_read_string(s1);
-    requires valid_string_s2: valid_read_string(s2);
-    assigns \result;
+/*@ requires valid_filename: valid_read_string(filename);
+    requires valid_mode: valid_read_string(mode);
+    requires valid_stream: \valid(stream);
+    ensures
+      result_null_or_valid_fd:
+        \result ≡ \null ∨ \result ∈ &__fc_fopen[0 .. 16 - 1];
+    ensures stream_opened: *\old(stream) ∈ __fc_fopen[0 .. 16 - 1];
+    assigns \result, *stream;
     assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
+            __fc_p_fopen, (indirect: stream);
+    assigns *stream
+      \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
+            __fc_p_fopen, (indirect: stream);
  */
-int strcasecmp(char const *s1, char const *s2)
-{
-  int __retres;
-  size_t i;
-  i = (unsigned int)0;
-  while (1) {
-    if ((int)*(s1 + i) != 0) {
-      if (! ((int)*(s2 + i) != 0)) break;
-    }
-    else break;
-    {
-      int res = char_equal_ignore_case(*(s1 + i),*(s2 + i));
-      if (res != 0) {
-        __retres = res;
-        goto return_label;
+extern FILE *freopen(char const * __restrict filename,
+                     char const * __restrict mode, FILE * __restrict stream);
+
+/*@ assigns *stream;
+    assigns *stream \from buf; */
+extern void setbuf(FILE * __restrict stream, char * __restrict buf);
+
+/*@ assigns *stream;
+    assigns *stream \from buf, mode, size; */
+extern int setvbuf(FILE * __restrict stream, char * __restrict buf, int mode,
+                   size_t size);
+
+/*@ axiomatic format_length {
+      logic ℤ format_length{L}(char *format) ;
+      
       }
-    }
-    i += (size_t)1;
-  }
-  if ((int)*(s1 + i) == 0) {
-    if ((int)*(s2 + i) == 0) {
-      __retres = 0;
-      goto return_label;
-    }
-    else goto _LAND;
-  }
-  else {
-    _LAND: ;
-    if ((int)*(s1 + i) == 0) {
-      __retres = -1;
-      goto return_label;
-    }
-    else {
-      __retres = 1;
-      goto return_label;
-    }
-  }
-  return_label: return __retres;
-}
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires valid_string_dest: valid_string(dest);
-    requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
-    ensures
-      sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-    ensures
-      initialization: dest:
-        \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src))));
-    ensures
-      dest_null_terminated:
-        *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest +
-              (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-            \result;
-    assigns
-    *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
+*/
+/*@ assigns *stream;
+    assigns *stream \from *(format + (..)), arg; */
+extern int vfprintf(FILE * __restrict stream, char const * __restrict format,
+                    va_list arg);
+
+/*@ assigns *stream;
+    assigns *stream \from *(format + (..)), *stream; */
+extern int vfscanf(FILE * __restrict stream, char const * __restrict format,
+                   va_list arg);
+
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from arg; */
+extern int vprintf(char const * __restrict format, va_list arg);
+
+/*@ assigns *__fc_stdin;
+    assigns *__fc_stdin \from *(format + (..)); */
+extern int vscanf(char const * __restrict format, va_list arg);
+
+/*@ assigns *(s + (0 .. n - 1));
+    assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg;
  */
-char *strcat(char *dest, char const *src)
-{
-  size_t i;
-  size_t n = strlen((char const *)dest);
-  i = (unsigned int)0;
-  while ((int)*(src + i) != 0) {
-    *(dest + (n + i)) = *(src + i);
-    i += (size_t)1;
-  }
-  *(dest + (n + i)) = (char)0;
-  return dest;
-}
+extern int vsnprintf(char * __restrict s, size_t n,
+                     char const * __restrict format, va_list arg);
 
-/*@ requires valid_nstring_src: valid_read_nstring(src, n);
-    requires valid_string_dest: valid_string(dest);
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n;
-      requires
-        room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
-      ensures
-        sum_of_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-      assigns *(dest +
-                (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-              \result;
-      assigns
-      *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
-    
-    behavior partial:
-      assumes
-        valid_string_src_too_large:
-          ¬(valid_read_string(src) ∧ strlen(src) ≤ n);
-      requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
-      ensures
-        sum_of_bounded_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n);
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
-              \result;
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
+/*@ assigns *(s + (0 ..));
+    assigns *(s + (0 ..)) \from *(format + (..)), arg;
  */
-char *strncat(char *dest, char const *src, size_t n)
-{
-  size_t i;
-  size_t dest_len = strlen((char const *)dest);
-  i = (unsigned int)0;
-  while (i < n) {
-    if ((int)*(src + i) == 0) break;
-    *(dest + (dest_len + i)) = *(src + i);
-    i += (size_t)1;
-  }
-  *(dest + (dest_len + i)) = (char)0;
-  return dest;
-}
+extern int vsprintf(char * __restrict s, char const * __restrict format,
+                    va_list arg);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_string: \valid(dest + (0 .. strlen(src)));
-    requires
-      separation:
-        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
-    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. strlen{Old}(src))), \result;
-    assigns *(dest + (0 .. strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
+/*@ requires valid_stream: \valid(stream);
+    ensures result_uchar_or_eof: (0 ≤ \result ≤ 255) ∨ \result ≡ -1;
+    assigns *stream, \result;
+    assigns *stream \from *stream;
+    assigns \result \from (indirect: *stream);
  */
-char *strcpy(char *dest, char const *src)
-{
-  size_t i;
-  i = (unsigned int)0;
-  while ((int)*(src + i) != 0) {
-    *(dest + i) = *(src + i);
-    i += (size_t)1;
-  }
-  *(dest + i) = (char)0;
-  return dest;
-}
+extern int fgetc(FILE *stream);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_nstring: \valid(dest + (0 .. n - 1));
-    requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    ensures result_ptr: \result ≡ \old(dest);
-    ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1));
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes src_fits: strlen(src) < n;
-      ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0;
-    
-    behavior partial:
-      assumes src_too_long: n ≤ strlen(src);
-      ensures
-        equal_prefix:
-          memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0;
+/*@ requires valid_stream: \valid(stream);
+    ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s);
+    ensures
+      terminated_string_on_success:
+        \result ≢ \null ⇒ valid_string(\old(s));
+    assigns *(s + (0 .. size)), \result;
+    assigns *(s + (0 .. size)) \from (indirect: size), (indirect: *stream);
+    assigns \result \from s, (indirect: size), (indirect: *stream);
  */
-char *strncpy(char *dest, char const *src, size_t n)
-{
-  size_t i;
-  i = (unsigned int)0;
-  while (i < n) {
-    *(dest + i) = *(src + i);
-    if ((int)*(src + i) == 0) break;
-    i += (size_t)1;
-  }
-  while (i < n) {
-    *(dest + i) = (char)0;
-    i += (size_t)1;
-  }
-  return dest;
-}
+extern char *fgets(char * __restrict s, int size, FILE * __restrict stream);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    assigns \result;
-    assigns \result \from s, *(s + (0 ..)), c;
-    
-    behavior found:
-      assumes char_found: strchr(s, c) ≡ \true;
-      ensures result_char: *\result ≡ (char)\old(c);
-      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
-      ensures
-        result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
-      ensures
-        result_first_occur:
-          ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c);
-    
-    behavior not_found:
-      assumes char_not_found: ¬(strchr(s, c) ≡ \true);
-      ensures result_null: \result ≡ \null;
-    
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
- */
-char *strchr(char const *s, int c)
-{
-  char *__retres;
-  size_t i;
-  char const ch = (char)c;
-  i = (unsigned int)0;
-  while ((int)*(s + i) != (int)ch) {
-    if ((int)*(s + i) == 0) {
-      __retres = (char *)0;
-      goto return_label;
-    }
-    i += (size_t)1;
-  }
-  __retres = (char *)(s + i);
-  return_label: return __retres;
-}
+/*@ assigns *stream; */
+extern int fputc(int c, FILE *stream);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    assigns \result;
-    assigns \result \from s, *(s + (0 ..)), c;
-    
-    behavior found:
-      assumes char_found: strchr(s, c) ≡ \true;
-      ensures result_char: (int)*\result ≡ \old(c);
-      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
-    
-    behavior not_found:
-      assumes char_not_found: ¬(strchr(s, c) ≡ \true);
-      ensures result_null: \result ≡ \null;
-    
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+/*@ assigns *stream;
+    assigns *stream \from *(s + (..)); */
+extern int fputs(char const * __restrict s, FILE * __restrict stream);
+
+/*@ assigns \result, *stream;
+    assigns \result \from *stream;
+    assigns *stream \from *stream;
  */
-char *strrchr(char const *s, int c)
-{
-  char *__retres;
-  char const ch = (char)c;
-  {
-    size_t tmp;
-    tmp = strlen(s);
-    size_t i = tmp + (size_t)1;
-    while (i > (size_t)0) {
-      if ((int)*(s + (i - (size_t)1)) == (int)ch) {
-        __retres = (char *)(s + (i - (size_t)1));
-        goto return_label;
-      }
-      i -= (size_t)1;
-    }
-  }
-  __retres = (char *)0;
-  return_label: return __retres;
-}
+extern int getc(FILE *stream);
 
-/*@ requires
-      valid:
-        valid_read_or_empty(s, n) ∨
-        \valid_read((unsigned char *)s + (0 .. memchr_off((char *)s, c, n)));
-    requires
-      initialization:
-        \initialized((unsigned char *)s + (0 .. n - 1)) ∨
-        \initialized((unsigned char *)s + (0 .. memchr_off((char *)s, c, n)));
-    requires
-      danglingness:
-        non_escaping(s, n) ∨
-        non_escaping(s, (unsigned int)(memchr_off((char *)s, c, n) + 1));
-    assigns \result;
-    assigns \result \from s, c, *((unsigned char *)s + (0 .. n - 1));
-    
-    behavior found:
-      assumes char_found: memchr((char *)s, c, n) ≡ \true;
-      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
-      ensures result_char: (int)*((char *)\result) ≡ \old(c);
-      ensures
-        result_in_str:
-          ∀ ℤ i;
-            0 ≤ i < \old(n) ⇒
-            *((unsigned char *)\old(s) + i) ≡ \old(c) ⇒
-            \result ≤ \old(s) + i;
-    
-    behavior not_found:
-      assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true);
-      ensures result_null: \result ≡ \null;
+/*@ assigns \result;
+    assigns \result \from *__fc_stdin; */
+extern int getchar(void);
+
+/*@ ensures result_null_or_same: \result ≡ \old(s) ∨ \result ≡ \null;
+    assigns *(s + (..)), \result;
+    assigns *(s + (..)) \from *__fc_stdin;
+    assigns \result \from s, __fc_stdin;
  */
-void *memchr(void const *s, int c, size_t n)
-{
-  void *__retres;
-  unsigned char const ch = (unsigned char)c;
-  unsigned char const *ss = (unsigned char const *)s;
-  {
-    size_t i = (unsigned int)0;
-    while (i < n) {
-      if ((int)*(ss + i) == (int)ch) {
-        __retres = (void *)(ss + i);
-        goto return_label;
-      }
-      i += (size_t)1;
-    }
-  }
-  __retres = (void *)0;
-  return_label: return __retres;
-}
+extern char *gets(char *s);
 
-void *memrchr(void const *s, int c, size_t n)
-{
-  void *__retres;
-  unsigned char const ch = (unsigned char)c;
-  unsigned char const *ss = (unsigned char const *)s;
-  {
-    size_t i = n;
-    while (i > (size_t)0) {
-      if ((int)*(ss + (i - (size_t)1)) == (int)ch) {
-        __retres = (void *)(ss + (i - (size_t)1));
-        goto return_label;
-      }
-      i -= (size_t)1;
-    }
-  }
-  __retres = (void *)0;
-  return_label: return __retres;
-}
+/*@ assigns *stream;
+    assigns *stream \from c; */
+extern int putc(int c, FILE *stream);
 
-/*@ requires valid_string_haystack: valid_read_string(haystack);
-    requires valid_string_needle: valid_read_string(needle);
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from c; */
+extern int putchar(int c);
+
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from *(s + (..)); */
+extern int puts(char const *s);
+
+/*@ assigns *stream;
+    assigns *stream \from c; */
+extern int ungetc(int c, FILE *stream);
+
+/*@ requires valid_ptr_block: \valid((char *)ptr + (0 .. nmemb * size - 1));
+    requires valid_stream: \valid(stream);
+    ensures size_read: \result ≤ \old(nmemb);
     ensures
-      result_null_or_in_haystack:
-        \result ≡ \null ∨
-        (\subset(\result, \old(haystack) + (0 ..)) ∧
-         \valid_read(\result) ∧
-         memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0);
-    assigns \result;
-    assigns \result
-      \from haystack, (indirect: *(haystack + (0 ..))),
-            (indirect: *(needle + (0 ..)));
+      initialization:
+        \initialized((char *)\old(ptr) + (0 .. \result * \old(size) - 1));
+    assigns *((char *)ptr + (0 .. nmemb * size - 1)), \result;
+    assigns *((char *)ptr + (0 .. nmemb * size - 1))
+      \from size, nmemb, *stream;
+    assigns \result \from size, *stream;
  */
-char *strstr(char const *haystack, char const *needle)
-{
-  char *__retres;
-  if ((int)*(needle + 0) == 0) {
-    __retres = (char *)haystack;
-    goto return_label;
-  }
-  {
-    size_t i = (unsigned int)0;
-    while ((int)*(haystack + i) != 0) {
-      {
-        size_t j;
-        j = (unsigned int)0;
-        while ((int)*(haystack + (i + j)) != 0) {
-          if ((int)*(haystack + (i + j)) != (int)*(needle + j)) break;
-          j += (size_t)1;
-        }
-        if ((int)*(needle + j) == 0) {
-          __retres = (char *)(haystack + i);
-          goto return_label;
-        }
-      }
-      i += (size_t)1;
-    }
-  }
-  __retres = (char *)0;
-  return_label: return __retres;
-}
+extern size_t fread(void * __restrict ptr, size_t size, size_t nmemb,
+                    FILE * __restrict stream);
 
-static int __fc_strerror_init;
-/*@ ensures result_internal_str: \result ≡ __fc_p_strerror;
-    ensures result_nul_terminated: *(\result + 63) ≡ 0;
-    ensures result_valid_string: valid_read_string(\result);
-    assigns \result;
-    assigns \result \from __fc_p_strerror, (indirect: errnum);
+/*@ requires
+      valid_ptr_block: \valid_read((char *)ptr + (0 .. nmemb * size - 1));
+    requires valid_stream: \valid(stream);
+    ensures size_written: \result ≤ \old(nmemb);
+    assigns *stream, \result;
+    assigns *stream \from *((char *)ptr + (0 .. nmemb * size - 1));
+    assigns \result \from *((char *)ptr + (0 .. nmemb * size - 1));
  */
-char *strerror(int errnum)
-{
-  char *__retres;
-  if (! __fc_strerror_init) {
-    Frama_C_make_unknown(__fc_strerror,(unsigned int)63);
-    __fc_strerror[63] = (char)0;
-    __fc_strerror_init = 1;
-  }
-  __retres = __fc_strerror;
-  return __retres;
-}
+extern size_t fwrite(void const * __restrict ptr, size_t size, size_t nmemb,
+                     FILE * __restrict stream);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s + (0 .. strlen{Old}(s)))),
-            (indirect: __fc_heap_status);
-    allocates \result;
-    
-    behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
-      ensures
-        result_valid_string_and_same_contents:
-          valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0;
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
-      assigns \result
-        \from (indirect: *(s + (0 .. strlen{Old}(s)))),
-              (indirect: __fc_heap_status);
-    
-    behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(strlen(s));
-      ensures result_null: \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
- */
-char *strdup(char const *s)
-{
-  char *__retres;
-  size_t tmp;
-  tmp = strlen(s);
-  size_t l = tmp + (size_t)1;
-  char *p = malloc(l);
-  if (! p) {
-    __fc_errno = 12;
-    __retres = (char *)0;
-    goto return_label;
-  }
-  memcpy((void *)p,(void const *)s,l);
-  __retres = p;
-  return_label: return __retres;
-}
+/*@ assigns *pos;
+    assigns *pos \from *stream; */
+extern int fgetpos(FILE * __restrict stream, fpos_t * __restrict pos);
 
-/*@ assigns \result;
+/*@ requires valid_stream: \valid(stream);
+    requires whence_enum: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2;
+    assigns *stream, \result, __fc_errno;
+    assigns *stream \from *stream, (indirect: offset), (indirect: whence);
     assigns \result
-      \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n),
-            (indirect: __fc_heap_status);
-    allocates \result;
-    
-    behavior allocation:
-      assumes can_allocate: is_allocable(\min(strlen(s), n + 1));
-      ensures
-        allocation:
-          \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1));
-      ensures
-        result_valid_string_bounded_and_same_prefix:
-          \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧
-          valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧
-          strncmp(\result, \old(s), \old(n)) ≡ 0;
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status
-        \from (indirect: s), (indirect: n), __fc_heap_status;
-      assigns \result
-        \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n),
-              (indirect: __fc_heap_status);
-    
-    behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1));
-      ensures result_null: \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
+      \from (indirect: *stream), (indirect: offset), (indirect: whence);
+    assigns __fc_errno
+      \from (indirect: *stream), (indirect: offset), (indirect: whence);
  */
-char *strndup(char const *s, size_t n)
-{
-  char *__retres;
-  size_t l;
-  l = (unsigned int)0;
-  while (l < n) {
-    if ((int)*(s + l) == 0) break;
-    l += (size_t)1;
-  }
-  char *p = malloc(l + (size_t)1);
-  if (! p) {
-    __fc_errno = 12;
-    __retres = (char *)0;
-    goto return_label;
-  }
-  memcpy((void *)p,(void const *)s,l);
-  *(p + l) = (char)0;
-  __retres = p;
-  return_label: return __retres;
-}
+extern int fseek(FILE *stream, long offset, int whence);
 
-static int __fc_strsignal_init;
-/*@ ensures result_internal_str: \result ≡ __fc_p_strsignal;
-    ensures result_nul_terminated: *(\result + 63) ≡ 0;
-    ensures result_valid_string: valid_read_string(\result);
-    assigns \result;
-    assigns \result \from __fc_p_strsignal, (indirect: signum);
+/*@ assigns *stream;
+    assigns *stream \from *pos; */
+extern int fsetpos(FILE *stream, fpos_t const *pos);
+
+/*@ requires valid_stream: \valid(stream);
+    ensures
+      success_or_error:
+        \result ≡ -1 ∨
+        (\result ≥ 0 ∧ __fc_errno ≡ \old(__fc_errno));
+    assigns \result, __fc_errno;
+    assigns \result \from (indirect: *stream);
+    assigns __fc_errno \from (indirect: *stream);
  */
-char *strsignal(int signum)
-{
-  char *__retres;
-  if (! __fc_strsignal_init) {
-    Frama_C_make_unknown(__fc_strsignal,(unsigned int)63);
-    __fc_strsignal[63] = (char)0;
-    __fc_strsignal_init = 1;
-  }
-  __retres = __fc_strsignal;
-  return __retres;
-}
+extern long ftell(FILE *stream);
+
+/*@ assigns *stream;
+    assigns *stream \from \nothing; */
+extern void rewind(FILE *stream);
+
+/*@ assigns *stream;
+    assigns *stream \from \nothing; */
+extern void clearerr(FILE *stream);
 
-/*@ ghost unsigned int volatile __fc_time __attribute__((__FRAMA_C_MODEL__));
-  */
 /*@ assigns \result;
-    assigns \result \from __fc_time; */
-extern clock_t clock(void);
+    assigns \result \from *stream; */
+extern int feof(FILE *stream);
 
 /*@ assigns \result;
-    assigns \result \from time1, time0; */
-extern double difftime(time_t time1, time_t time0);
+    assigns \result \from *stream; */
+extern int fileno(FILE *stream);
 
-/*@ assigns *timeptr, \result;
-    assigns *timeptr \from *timeptr;
-    assigns \result \from *timeptr;
+/*@ assigns *stream;
+    assigns *stream \from \nothing; */
+extern void flockfile(FILE *stream);
+
+/*@ assigns *stream;
+    assigns *stream \from \nothing; */
+extern void funlockfile(FILE *stream);
+
+/*@ assigns \result, *stream;
+    assigns \result \from \nothing;
+    assigns *stream \from \nothing;
  */
-extern time_t mktime(struct tm *timeptr);
+extern int ftrylockfile(FILE *stream);
 
-/*@ assigns *timer, \result;
-    assigns *timer \from __fc_time;
-    assigns \result \from __fc_time;
-    
-    behavior null:
-      assumes timer_null: timer ≡ \null;
-      assigns \result;
-      assigns \result \from __fc_time;
-    
-    behavior not_null:
-      assumes timer_non_null: timer ≢ \null;
-      requires valid_timer: \valid(timer);
-      ensures initialization: timer: \initialized(\old(timer));
-      assigns *timer, \result;
-      assigns *timer \from __fc_time;
-      assigns \result \from __fc_time;
-    
-    complete behaviors not_null, null;
-    disjoint behaviors not_null, null;
+/*@ assigns \result;
+    assigns \result \from *stream; */
+extern int ferror(FILE *stream);
+
+/*@ assigns __fc_stdout;
+    assigns __fc_stdout \from __fc_errno, *(s + (..));
  */
-extern time_t time(time_t *timer);
+extern void perror(char const *s);
 
-char __fc_ctime[26];
-char * const __fc_p_ctime = __fc_ctime;
-/*@ requires valid_timer: \valid_read(timer);
-    requires initialization: init_timer: \initialized(timer);
-    ensures result_points_to_ctime: \result ≡ __fc_p_ctime;
-    ensures result_valid_string: valid_read_string(__fc_p_ctime);
-    assigns __fc_ctime[0 .. 25], \result;
-    assigns __fc_ctime[0 .. 25]
-      \from (indirect: *timer), (indirect: __fc_time);
-    assigns \result
-      \from (indirect: *timer), (indirect: __fc_time), __fc_p_ctime;
- */
-extern char *ctime(time_t const *timer);
-
-struct tm __fc_time_tm;
-struct tm * const __fc_p_time_tm = & __fc_time_tm;
-/*@ ensures
-      result_null_or_internal_tm:
-        \result ≡ &__fc_time_tm ∨ \result ≡ \null;
-    assigns \result, __fc_time_tm;
-    assigns \result \from __fc_p_time_tm;
-    assigns __fc_time_tm \from *timer;
+/*@ assigns \result, *stream;
+    assigns \result \from *stream;
+    assigns *stream \from *stream;
  */
-extern struct tm *gmtime(time_t const *timer);
+extern int getc_unlocked(FILE *stream);
 
-/*@ ensures
-      result_null_or_internal_tm:
-        \result ≡ &__fc_time_tm ∨ \result ≡ \null;
-    assigns \result, __fc_time_tm;
-    assigns \result \from __fc_p_time_tm;
-    assigns __fc_time_tm \from *timer;
- */
-extern struct tm *localtime(time_t const *timer);
+/*@ assigns \result;
+    assigns \result \from *__fc_stdin; */
+extern int getchar_unlocked(void);
 
-/*@ requires dst_has_room: \valid(s + (0 .. max - 1));
-    requires valid_format: valid_read_string(format);
-    requires valid_tm: \valid_read(tm);
-    ensures result_bounded: \result ≤ \old(max);
-    assigns *(s + (0 .. max - 1)), \result;
-    assigns *(s + (0 .. max - 1))
-      \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm);
-    assigns \result
-      \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm);
- */
-extern size_t strftime(char * __restrict s, size_t max,
-                       char const * __restrict format,
-                       struct tm const * __restrict tm);
+/*@ assigns *stream;
+    assigns *stream \from c; */
+extern int putc_unlocked(int c, FILE *stream);
 
-/*@ requires tp: \valid(tp);
-    assigns \result, *tp, __fc_time;
-    assigns \result \from __fc_time;
-    assigns *tp \from __fc_time;
-    assigns __fc_time \from __fc_time;
-    
-    behavior realtime_clock:
-      assumes realtime: clk_id ≡ 666;
-      ensures success: \result ≡ 0;
-      ensures initialization: \initialized(\old(tp));
-    
-    behavior monotonic_clock:
-      assumes monotonic: clk_id ≡ 1;
-      ensures success: \result ≡ 0;
-      ensures initialization: \initialized(\old(tp));
-    
-    behavior bad_clock_id:
-      assumes bad_id: clk_id ≢ 666 ∧ clk_id ≢ 1;
-      ensures error: \result ≡ 22;
-      assigns \result;
-      assigns \result \from clk_id;
-    
-    complete behaviors bad_clock_id, monotonic_clock, realtime_clock;
-    disjoint behaviors bad_clock_id, monotonic_clock, realtime_clock;
- */
-extern int clock_gettime(clockid_t clk_id, struct timespec *tp);
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from c; */
+extern int putchar_unlocked(int c);
 
-/*@
-axiomatic nanosleep_predicates {
-  predicate abs_clock_in_range{L}(clockid_t id, struct timespec *tm) 
-    reads __fc_time;
-  
-  predicate valid_clock_id{L}(clockid_t id) 
-    reads __fc_time;
-  
-  }
+/*@ assigns *stream;
+    assigns *stream \from \nothing; */
+extern void clearerr_unlocked(FILE *stream);
 
-*/
-/*@ ghost int volatile __fc_interrupted __attribute__((__FRAMA_C_MODEL__));
-  */
-/*@ requires valid_request: \valid_read(rqtp);
-    requires
-      initialization: initialized_request:
-        \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec);
-    requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000;
-    requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp);
-    assigns \result;
-    assigns \result
-      \from (indirect: __fc_time), (indirect: __fc_interrupted),
-            (indirect: clock_id), (indirect: flags), (indirect: rqtp),
-            (indirect: *rqtp);
-    
-    behavior absolute:
-      assumes absolute_time: (flags & 1) ≢ 0;
-      assumes
-        no_einval:
-          abs_clock_in_range(clock_id, rqtp) ∧ valid_clock_id(clock_id);
-      ensures
-        result_ok_or_error:
-          \result ≡ 0 ∨ \result ≡ 4 ∨ \result ≡ 22 ∨
-          \result ≡ 95;
-      assigns \result;
-      assigns \result
-        \from (indirect: __fc_time), (indirect: __fc_interrupted),
-              (indirect: clock_id), (indirect: rqtp), (indirect: *rqtp);
-    
-    behavior relative_interrupted:
-      assumes relative_time: (flags & 1) ≡ 0;
-      assumes interrupted: __fc_interrupted ≢ 0;
-      assumes no_einval: valid_clock_id(clock_id);
-      ensures result_interrupted: \result ≡ 4;
-      ensures
-        initialization: interrupted_remaining:
-          \old(rmtp) ≢ \null ⇒
-          \initialized(&\old(rmtp)->tv_sec) ∧
-          \initialized(&\old(rmtp)->tv_nsec);
-      ensures
-        interrupted_remaining_decreases:
-          \old(rmtp) ≢ \null ⇒
-          \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥
-          \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec;
-      ensures
-        remaining_valid:
-          \old(rmtp) ≢ \null ⇒ 0 ≤ \old(rmtp)->tv_nsec < 1000000000;
-      assigns \result, *rmtp;
-      assigns \result
-        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
-              (indirect: *rqtp);
-      assigns *rmtp
-        \from __fc_time, (indirect: clock_id), (indirect: rqtp),
-              (indirect: *rqtp), (indirect: rmtp);
-    
-    behavior relative_no_error:
-      assumes relative_time: (flags & 1) ≡ 0;
-      assumes not_interrupted: __fc_interrupted ≡ 0;
-      assumes no_einval: valid_clock_id(clock_id);
-      ensures result_ok: \result ≡ 0;
-      assigns \result;
-      assigns \result
-        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
-              (indirect: *rqtp);
-    
-    behavior relative_invalid_clock_id:
-      assumes relative_time: (flags & 1) ≡ 0;
-      assumes not_interrupted: __fc_interrupted ≡ 0;
-      assumes einval: ¬valid_clock_id(clock_id);
-      ensures result_einval: \result ≡ 22;
-      assigns \result;
-      assigns \result
-        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
-              (indirect: *rqtp);
-    
-    complete behaviors relative_invalid_clock_id,
-                       relative_no_error,
-                       relative_interrupted,
-                       absolute;
-    disjoint behaviors relative_invalid_clock_id,
-                       relative_no_error,
-                       relative_interrupted,
-                       absolute;
- */
-extern int clock_nanosleep(clockid_t clock_id, int flags,
-                           struct timespec const *rqtp, struct timespec *rmtp);
+/*@ assigns \result;
+    assigns \result \from *stream; */
+extern int feof_unlocked(FILE *stream);
 
-/*@ requires valid_request: \valid_read(rqtp);
-    requires
-      initialization: initialized_request:
-        \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec);
-    requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000;
-    requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp);
-    ensures result_elapsed_or_interrupted: \result ≡ 0 ∨ \result ≡ -1;
-    ensures
-      initialization: interrupted_remaining:
-        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
-        \initialized(&\old(rmtp)->tv_sec) ∧
-        \initialized(&\old(rmtp)->tv_nsec);
-    ensures
-      interrupted_remaining_decreases:
-        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
-        \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥
-        \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec;
-    ensures
-      interrupted_remaining_valid:
-        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
-        0 ≤ \old(rmtp)->tv_nsec < 1000000000;
-    assigns \result, *rmtp;
-    assigns \result
-      \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp);
-    assigns *rmtp
-      \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp),
-            (indirect: rmtp);
- */
-extern int nanosleep(struct timespec const *rqtp, struct timespec *rmtp);
+/*@ assigns \result;
+    assigns \result \from *stream; */
+extern int ferror_unlocked(FILE *stream);
 
-extern void tzset(void);
+/*@ assigns \result;
+    assigns \result \from *stream; */
+extern int fileno_unlocked(FILE *stream);
 
-extern char *tzname[2];
+/*@ axiomatic pipe_streams {
+      predicate is_open_pipe{L}(FILE *stream) ;
+      
+      }
 
-/*@ assigns *(tzname[0 .. 1] + (0 ..));
-    assigns *(tzname[0 .. 1] + (0 ..)) \from \nothing;
+*/
+/*@ requires valid_command: valid_read_string(command);
+    requires valid_type: valid_read_string(type);
+    ensures
+      result_error_or_valid_open_pipe:
+        \result ≡ \null ∨
+        (\subset(\result, &__fc_fopen[0 .. 16 - 1]) ∧ is_open_pipe(\result));
+    assigns \result, __fc_fopen[0 ..];
+    assigns \result
+      \from (indirect: *command), (indirect: *type), __fc_p_fopen;
+    assigns __fc_fopen[0 ..]
+      \from (indirect: *command), (indirect: *type), __fc_fopen[0 ..];
  */
-extern void tzset(void);
+extern FILE *popen(char const *command, char const *type);
 
-/*@ ensures
-      result_null_or_inside_s:
-        \result ≡ \null ∨ \subset(\result, \old(s) + (0 .. \old(n) - 1));
+/*@ requires valid_stream: \valid(stream);
+    requires open_pipe: is_open_pipe(stream);
+    ensures closed_stream: ¬is_open_pipe(\old(stream));
     assigns \result;
-    assigns \result
-      \from s, (indirect: *(s + (0 .. n - 1))), (indirect: c), (indirect: n);
+    assigns \result \from (indirect: *stream);
  */
-extern wchar_t *wmemchr(wchar_t const *s, wchar_t c, size_t n);
+extern int pclose(FILE *stream);
 
-/*@ assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
- */
-extern int wmemcmp(wchar_t const *s1, wchar_t const *s2, size_t n);
-
-wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n);
-
-/*@ ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1))
-      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
-    assigns \result \from dest;
- */
-extern wchar_t *wmemmove(wchar_t *dest, wchar_t const *src, size_t n);
-
-wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len);
+ssize_t getline(char **lineptr, size_t *n, FILE *stream);
 
-wchar_t *wcscat(wchar_t *dest, wchar_t const *src);
+FILE __fc_initial_stdout =
+  {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U};
+FILE *__fc_stdout = & __fc_initial_stdout;
+FILE __fc_initial_stderr =
+  {.__fc_FILE_id = (unsigned int)2, .__fc_FILE_data = 0U};
+FILE *__fc_stderr = & __fc_initial_stderr;
+FILE __fc_initial_stdin =
+  {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U};
+FILE *__fc_stdin = & __fc_initial_stdin;
+ssize_t getline(char **lineptr, size_t *n, FILE *stream)
+{
+  ssize_t __retres;
+  int tmp;
+  if (! lineptr) goto _LOR;
+  else 
+    if (! n) goto _LOR;
+    else 
+      if (! stream) {
+        _LOR: {
+                __fc_errno = 22;
+                __retres = -1;
+                goto return_label;
+              }
+      }
+  tmp = ferror(stream);
+  if (tmp) goto _LOR_0;
+  else {
+    int tmp_0;
+    tmp_0 = feof(stream);
+    if (tmp_0) {
+      _LOR_0: {
+                __retres = -1;
+                goto return_label;
+              }
+    }
+  }
+  if (! *lineptr) goto _LOR_1;
+  else 
+    if (*n == (size_t)0) {
+      _LOR_1:
+      {
+        *lineptr = (char *)malloc((unsigned int)2);
+        if (! lineptr) {
+          __fc_errno = 12;
+          __retres = -1;
+          goto return_label;
+        }
+        *n = (unsigned int)2;
+      }
+    }
+  size_t cur = (unsigned int)0;
+  while (1) {
+    int tmp_3;
+    tmp_3 = ferror(stream);
+    if (tmp_3) break;
+    else {
+      int tmp_4;
+      tmp_4 = feof(stream);
+      if (tmp_4) break;
+    }
+    {
+      while (cur < *n - (size_t)1) {
+        int tmp_1;
+        tmp_1 = fgetc(stream);
+        char c = (char)tmp_1;
+        if ((int)c == -1) 
+          if (cur == (size_t)0) {
+            __retres = -1;
+            goto return_label;
+          }
+        if ((int)c != -1) {
+          size_t tmp_2;
+          tmp_2 = cur;
+          cur += (size_t)1;
+          *(*lineptr + tmp_2) = c;
+        }
+        if ((int)c == '\n') goto _LOR_2;
+        else 
+          if ((int)c == -1) {
+            _LOR_2:
+            {
+              *(*lineptr + cur) = (char)'\000';
+              __retres = (int)cur;
+              goto return_label;
+            }
+          }
+      }
+      if (*n == (size_t)2147483647) {
+        __fc_errno = 75;
+        __retres = -1;
+        goto return_label;
+      }
+      size_t new_size = *n + (size_t)1;
+      *lineptr = (char *)realloc((void *)*lineptr,new_size);
+      if (! *lineptr) {
+        __fc_errno = 12;
+        __retres = -1;
+        goto return_label;
+      }
+      *n = new_size;
+    }
+  }
+  __retres = -1;
+  return_label: return __retres;
+}
 
-/*@ requires valid_wstring_src: valid_read_wstring(wcs);
-    ensures
-      result_null_or_inside_wcs:
-        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
+/*@ requires abs_representable: i > -2147483647 - 1;
     assigns \result;
-    assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc);
+    assigns \result \from i;
+    
+    behavior negative:
+      assumes negative: i < 0;
+      ensures opposite_result: \result ≡ -\old(i);
+    
+    behavior nonnegative:
+      assumes nonnegative: i ≥ 0;
+      ensures same_result: \result ≡ \old(i);
+    
+    complete behaviors nonnegative, negative;
+    disjoint behaviors nonnegative, negative;
  */
-extern wchar_t *wcschr(wchar_t const *wcs, wchar_t wc);
+int abs(int i)
+{
+  int __retres;
+  if (i < 0) {
+    __retres = - i;
+    goto return_label;
+  }
+  __retres = i;
+  return_label: return __retres;
+}
 
-/*@ assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+/*@ requires valid_nptr: \valid_read(p);
+    assigns \result;
+    assigns \result \from (indirect: p), (indirect: *(p + (0 ..)));
  */
-extern int wcscmp(wchar_t const *s1, wchar_t const *s2);
-
-wchar_t *wcscpy(wchar_t *dest, wchar_t const *src);
+int atoi(char const *p)
+{
+  int __retres;
+  int n;
+  int c;
+  int tmp_1;
+  int tmp_3;
+  int neg = 0;
+  unsigned char *up = (unsigned char *)p;
+  c = (int)*up;
+  tmp_1 = isdigit(c);
+  if (! tmp_1) {
+    int tmp_0;
+    while (1) {
+      int tmp;
+      tmp = isspace(c);
+      if (! tmp) break;
+      up ++;
+      c = (int)*up;
+    }
+    switch (c) {
+      case '-': neg ++;
+      case '+': { /* sequence */
+                  up ++;
+                  c = (int)*up;
+                }
+    }
+    tmp_0 = isdigit(c);
+    if (! tmp_0) {
+      __retres = 0;
+      goto return_label;
+    }
+  }
+  n = '0' - c;
+  while (1) {
+    int tmp_2;
+    up ++;
+    c = (int)*up;
+    tmp_2 = isdigit(c);
+    if (! tmp_2) break;
+    n *= 10;
+    n += '0' - c;
+  }
+  if (neg) tmp_3 = n; else tmp_3 = - n;
+  __retres = tmp_3;
+  return_label: return __retres;
+}
 
-/*@ assigns \result;
+/*@ assigns __fc_heap_status, \result;
+    assigns __fc_heap_status
+      \from (indirect: nmemb), (indirect: size), __fc_heap_status;
     assigns \result
-      \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
+      \from (indirect: nmemb), (indirect: size), (indirect: __fc_heap_status);
+    allocates \result;
+    
+    behavior allocation:
+      assumes can_allocate: is_allocable(nmemb * size);
+      ensures
+        allocation: \fresh{Old, Here}(\result,\old(nmemb) * \old(size));
+      ensures
+        initialization:
+          \initialized((char *)\result + (0 .. \old(nmemb) * \old(size) - 1));
+      ensures
+        zero_initialization:
+          \subset(*((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)),
+                 {0});
+    
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(nmemb * size);
+      ensures null_result: \result ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+      allocates \nothing;
+    
+    complete behaviors no_allocation, allocation;
+    disjoint behaviors no_allocation, allocation;
  */
-extern size_t wcscspn(wchar_t const *wcs, wchar_t const *accept);
+void *calloc(size_t nmemb, size_t size)
+{
+  void *__retres;
+  size_t l = nmemb * size;
+  if (size != (size_t)0) 
+    if (l / size != nmemb) {
+      __retres = (void *)0;
+      goto return_label;
+    }
+  char *p = malloc(l);
+  if (p) memset((void *)p,0,l);
+  __retres = (void *)p;
+  return_label: return __retres;
+}
 
-/*@ assigns *(dest + (0 ..)), \result;
-    assigns *(dest + (0 ..))
-      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)),
-            (indirect: src), (indirect: n);
-    assigns \result
-      \from (indirect: *(dest + (0 ..))), (indirect: *(src + (0 .. n - 1))),
-            (indirect: n);
- */
-extern size_t wcslcat(wchar_t * __restrict dest,
-                      wchar_t const * __restrict src, size_t n);
-
-/*@ requires
-      separation: dest: src:
-        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1))
-      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
-    assigns \result
-      \from (indirect: *(dest + (0 .. n - 1))), (indirect: dest),
-            (indirect: *(src + (0 .. n - 1))), (indirect: src), (indirect: n);
- */
-extern size_t wcslcpy(wchar_t *dest, wchar_t const *src, size_t n);
-
-size_t wcslen(wchar_t const *str);
-
-wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n);
-
-/*@ assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
- */
-extern int wcsncmp(wchar_t const *s1, wchar_t const *s2, size_t n);
-
-wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n);
-
-/*@ ensures
-      result_null_or_inside_wcs:
-        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
-    assigns \result;
-    assigns \result
-      \from wcs, (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
- */
-extern wchar_t *wcspbrk(wchar_t const *wcs, wchar_t const *accept);
-
-/*@ ensures
-      result_null_or_inside_wcs:
-        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
-    assigns \result;
-    assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc);
- */
-extern wchar_t *wcsrchr(wchar_t const *wcs, wchar_t wc);
-
-/*@ assigns \result;
-    assigns \result
-      \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
- */
-extern size_t wcsspn(wchar_t const *wcs, wchar_t const *accept);
-
-/*@ ensures
-      result_null_or_inside_haystack:
-        \result ≡ \null ∨ \subset(\result, \old(haystack) + (0 ..));
-    assigns \result;
-    assigns \result
-      \from haystack, (indirect: *(haystack + (0 ..))),
-            (indirect: *(needle + (0 ..)));
- */
-extern wchar_t *wcsstr(wchar_t const *haystack, wchar_t const *needle);
-
-/*@ requires valid_stream: \valid(stream);
-    ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(ws);
-    ensures
-      terminated_string_on_success:
-        \result ≢ \null ⇒ valid_wstring(\old(ws));
-    assigns *(ws + (0 .. n)), \result;
-    assigns *(ws + (0 .. n)) \from (indirect: n), (indirect: *stream);
-    assigns \result \from ws, (indirect: n), (indirect: *stream);
- */
-extern wchar_t *fgetws(wchar_t * __restrict ws, int n,
-                       FILE * __restrict stream);
-
-/*@ axiomatic wformat_length {
-      logic ℤ wformat_length{L}(wchar_t *format) ;
-      
+static char __fc_env_strings[64];
+static char __fc_initenv_init;
+static void __fc_initenv(void)
+{
+  if (! __fc_initenv_init) {
+    Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1));
+    {
+      int i = 0;
+      while (i < 4096) {
+        {
+          int tmp;
+          tmp = Frama_C_interval(0,64 - 1);
+          __fc_env[i] = & __fc_env_strings[tmp];
+        }
+        i ++;
       }
+    }
+    __fc_initenv_init = (char)1;
+  }
+  return;
+}
 
-*/
-/*@ requires
-      separation: dest: src:
-        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1))
-      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
-    assigns \result \from dest;
+/*@ requires valid_name: valid_read_string(name);
+    ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result);
+    assigns \result;
+    assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..));
  */
-wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n)
+char *getenv(char const *name)
 {
-  {
-    size_t i = (unsigned int)0;
-    while (i < n) {
-      *(dest + i) = *(src + i);
-      i += (size_t)1;
-    }
+  char *__retres;
+  int tmp_0;
+  /*@ assert ¬(strchr(name, '=') ≡ \true); */ ;
+  __fc_initenv();
+  tmp_0 = Frama_C_nondet(0,1);
+  if (tmp_0) {
+    int tmp;
+    tmp = Frama_C_interval(0,4096 - 1);
+    ;
+    __retres = __fc_env[tmp];
+    goto return_label;
   }
-  return dest;
+  else {
+    __retres = (char *)0;
+    goto return_label;
+  }
+  return_label: return __retres;
 }
 
-/*@ ensures result_ptr: \result ≡ \old(dest);
-    ensures
-      initialization: wcs: \initialized(\old(dest) + (0 .. \old(len) - 1));
-    ensures
-      contents_equal_wc:
-        \subset(*(\old(dest) + (0 .. \old(len) - 1)), \old(val));
-    assigns *(dest + (0 .. len - 1)), \result;
-    assigns *(dest + (0 .. len - 1)) \from val, (indirect: len);
-    assigns \result \from dest;
+/*@ requires valid_string: valid_read_string(string);
+    assigns __fc_env[0 ..], \result;
+    assigns __fc_env[0 ..] \from __fc_env[0 ..], string;
+    assigns \result \from (indirect: __fc_env[0 ..]), (indirect: string);
  */
-wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len)
+int putenv(char *string)
 {
-  {
-    size_t i = (unsigned int)0;
-    while (i < len) {
-      *(dest + i) = val;
-      i += (size_t)1;
+  int __retres;
+  int tmp_3;
+  char *separator = strchr((char const *)string,'=');
+  /*@ assert string_contains_separator: separator ≢ \null; */ ;
+  /*@ assert name_is_not_empty: separator ≢ string; */ ;
+  __fc_initenv();
+  tmp_3 = Frama_C_nondet(0,1);
+  if (tmp_3) {
+    int tmp_1;
+    int tmp_2;
+    tmp_1 = Frama_C_nondet(0,1);
+    if (tmp_1) {
+      int tmp_0;
+      tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647);
+      __retres = tmp_0;
+      goto return_label;
     }
+    tmp_2 = Frama_C_interval(0,4096 - 1);
+    __fc_env[tmp_2] = string;
   }
-  return dest;
+  __retres = 0;
+  return_label: return __retres;
 }
 
-/*@ ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 ..)), \result;
-    assigns *(dest + (0 ..))
-      \from *(src + (0 ..)), (indirect: src), *(dest + (0 ..)),
-            (indirect: dest);
-    assigns \result \from dest;
+/*@ requires valid_name: valid_read_string(name);
+    requires valid_value: valid_read_string(value);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, __fc_env[0 ..];
+    assigns \result
+      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
+            (indirect: value), (indirect: *(value + (0 ..))),
+            (indirect: overwrite);
+    assigns __fc_env[0 ..]
+      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
+            (indirect: value), (indirect: *(value + (0 ..))),
+            (indirect: overwrite);
  */
-wchar_t *wcscpy(wchar_t *dest, wchar_t const *src)
+int setenv(char const *name, char const *value, int overwrite)
 {
-  size_t i;
-  i = (unsigned int)0;
-  while (*(src + i) != 0) {
-    *(dest + i) = *(src + i);
-    i += (size_t)1;
+  int __retres;
+  char *tmp;
+  int tmp_4;
+  tmp = strchr(name,'=');
+  if (tmp) {
+    __retres = -1;
+    goto return_label;
   }
-  *(dest + i) = 0;
-  return dest;
+  size_t namelen = strlen(name);
+  if (namelen == (size_t)0) {
+    __retres = -1;
+    goto return_label;
+  }
+  __fc_initenv();
+  tmp_4 = Frama_C_nondet(0,1);
+  if (tmp_4) {
+    __retres = -1;
+    goto return_label;
+  }
+  else {
+    int tmp_1;
+    int tmp_2;
+    int tmp_3;
+    tmp_1 = Frama_C_nondet(0,1);
+    if (tmp_1) Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1));
+    tmp_2 = Frama_C_interval(0,4096 - 1);
+    tmp_3 = Frama_C_interval(0,64 - 1);
+    __fc_env[tmp_2] = & __fc_env_strings[tmp_3];
+    __retres = 0;
+    goto return_label;
+  }
+  return_label: return __retres;
 }
 
-/*@ requires valid_string_s: valid_read_wstring(str);
-    assigns \result;
-    assigns \result \from (indirect: *(str + (0 ..)));
+/*@ requires valid_name: valid_read_string(name);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result, __fc_env[0 ..];
+    assigns \result
+      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
+    assigns __fc_env[0 ..]
+      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
  */
-size_t wcslen(wchar_t const *str)
+int unsetenv(char const *name)
 {
-  size_t i;
-  i = (unsigned int)0;
-  while (*(str + i) != 0) i += (size_t)1;
-  return i;
-}
-
-/*@ requires
-      separation: dest: src:
-        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1))
-      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
-    assigns \result \from dest;
- */
-wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n)
-{
-  size_t i;
-  i = (unsigned int)0;
-  while (i < n) {
-    *(dest + i) = *(src + i);
-    if (*(src + i) == 0) break;
-    i += (size_t)1;
+  int __retres;
+  char *tmp;
+  int tmp_2;
+  tmp = strchr(name,'=');
+  if (tmp) {
+    __retres = -1;
+    goto return_label;
   }
-  while (i < n) {
-    *(dest + i) = 0;
-    i += (size_t)1;
+  size_t namelen = strlen(name);
+  if (namelen == (size_t)0) {
+    __retres = -1;
+    goto return_label;
   }
-  return dest;
+  __fc_initenv();
+  tmp_2 = Frama_C_nondet(0,1);
+  if (tmp_2) {
+    int tmp_1;
+    tmp_1 = Frama_C_interval(0,4096 - 1);
+    __fc_env[tmp_1] = (char *)0;
+  }
+  __retres = 0;
+  return_label: return __retres;
 }
 
-/*@ ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 ..)), \result;
-    assigns *(dest + (0 ..))
-      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 ..)),
-            (indirect: src);
-    assigns \result \from dest;
+/*@ requires valid_memptr: \valid(memptr);
+    requires
+      alignment_is_a_suitable_power_of_two:
+        alignment ≥ sizeof(void *) ∧
+        ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0;
+    assigns __fc_heap_status, \result;
+    assigns __fc_heap_status
+      \from (indirect: alignment), size, __fc_heap_status;
+    assigns \result
+      \from (indirect: alignment), (indirect: size),
+            (indirect: __fc_heap_status);
+    allocates *\old(memptr);
+    
+    behavior allocation:
+      assumes can_allocate: is_allocable(size);
+      ensures allocation: \fresh{Old, Here}(*\old(memptr),\old(size));
+      ensures result_zero: \result ≡ 0;
+      assigns __fc_heap_status, \result;
+      assigns __fc_heap_status
+        \from (indirect: alignment), size, __fc_heap_status;
+      assigns \result
+        \from (indirect: alignment), (indirect: size),
+              (indirect: __fc_heap_status);
+    
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(size);
+      ensures result_non_zero: \result < 0 ∨ \result > 0;
+      assigns \result;
+      assigns \result \from (indirect: alignment);
+      allocates \nothing;
+    
+    complete behaviors no_allocation, allocation;
+    disjoint behaviors no_allocation, allocation;
  */
-wchar_t *wcscat(wchar_t *dest, wchar_t const *src)
+int posix_memalign(void **memptr, size_t alignment, size_t size)
 {
-  size_t i;
-  size_t n = wcslen((wchar_t const *)dest);
-  i = (unsigned int)0;
-  while (*(src + i) != 0) {
-    *(dest + (n + i)) = *(src + i);
-    i += (size_t)1;
+  int __retres;
+  /*@
+  assert
+  alignment_is_a_suitable_power_of_two:
+    alignment ≥ sizeof(void *) ∧
+    ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0;
+   */
+  ;
+  *memptr = malloc(size);
+  if (! *memptr) {
+    __retres = 12;
+    goto return_label;
   }
-  *(dest + (n + i)) = 0;
-  return dest;
+  __retres = 0;
+  return_label: return __retres;
 }
 
-/*@ ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 ..)), \result;
-    assigns *(dest + (0 ..))
-      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)),
-            (indirect: src), (indirect: n);
+/*@ requires valid_dest: valid_or_empty(dest, n);
+    requires valid_src: valid_read_or_empty(src, n);
+    requires
+      separation:
+        \separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1));
+    ensures
+      copied_contents:
+        memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡
+        0;
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *((char *)dest + (0 .. n - 1)), \result;
+    assigns *((char *)dest + (0 .. n - 1))
+      \from *((char *)src + (0 .. n - 1));
     assigns \result \from dest;
  */
-wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n)
+void *memcpy(void * __restrict dest, void const * __restrict src, size_t n)
 {
-  size_t i;
-  size_t dest_len = wcslen((wchar_t const *)dest);
-  i = (unsigned int)0;
-  while (1) {
-    if (i < n) {
-      if (! (*(src + i) != 0)) break;
+  {
+    size_t i = (unsigned int)0;
+    /*@ loop invariant no_eva: 0 ≤ i ≤ n;
+        loop invariant
+          no_eva:
+            ∀ ℤ k;
+              0 ≤ k < i ⇒ *((char *)dest + k) ≡ *((char *)src + k);
+        loop assigns i, *((char *)dest + (0 .. n - 1));
+        loop variant n - i;
+    */
+    while (i < n) {
+      *((char *)dest + i) = *((char *)src + i);
+      i += (size_t)1;
     }
-    else break;
-    *(dest + (dest_len + i)) = *(src + i);
-    i += (size_t)1;
   }
-  *(dest + (dest_len + i)) = 0;
   return dest;
 }
 
-/*@ ghost extern int __fc_stack_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@ ensures allocation: \fresh{Old, Here}(\result,\old(size));
-    assigns __fc_stack_status, \result;
-    assigns __fc_stack_status \from size, __fc_stack_status;
-    assigns \result \from (indirect: size), (indirect: __fc_stack_status);
-    allocates \result;
- */
-extern void *alloca(size_t size);
-
-DIR __fc_opendir[16];
-DIR * const __fc_p_opendir = __fc_opendir;
-/*@ requires
-      dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]);
-    ensures
-      err_or_closed_on_success:
-        (\result ≡ 0 ∧ \old(dirp)->__fc_dir_inode ≡ \null) ∨
-        \result ≡ -1;
-    assigns \result, __fc_errno, *dirp;
-    assigns \result \from dirp, *dirp, __fc_p_opendir;
-    assigns __fc_errno \from dirp, *dirp, __fc_p_opendir;
-    assigns *dirp \from dirp, *dirp, __fc_p_opendir;
+/*@ assigns \result;
+    assigns \result \from (indirect: p), (indirect: q), (indirect: n);
+    
+    behavior separated:
+      assumes
+        separation: no_overlap:
+          \separated(p + (0 .. n - 1), q + (0 .. n - 1));
+      ensures result_no_overlap: \result ≡ 0;
+    
+    behavior not_separated_lt:
+      assumes
+        separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1));
+      assumes p_before_q: p ≤ q < p + n;
+      ensures result_p_before_q: \result ≡ -1;
+    
+    behavior not_separated_gt:
+      assumes
+        separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1));
+      assumes p_after_q: q < p ≤ q + n;
+      ensures result_p_after_q: \result ≡ 1;
+    
+    complete behaviors not_separated_gt, not_separated_lt, separated;
+    disjoint behaviors not_separated_gt, not_separated_lt, separated;
  */
-extern int closedir(DIR *dirp);
+static int memoverlap(char const *p, char const *q, size_t n)
+{
+  int __retres;
+  uintptr_t p1 = (unsigned int)p;
+  uintptr_t p2 = (unsigned int)(p + n);
+  uintptr_t q1 = (unsigned int)q;
+  uintptr_t q2 = (unsigned int)(q + n);
+  if (p1 <= q1) {
+    if (p2 > q1) {
+      __retres = -1;
+      goto return_label;
+    }
+    else goto _LAND;
+  }
+  else {
+    _LAND: ;
+    if (q1 <= p1) 
+      if (q2 > p1) {
+        __retres = 1;
+        goto return_label;
+      }
+      else {
+        __retres = 0;
+        goto return_label;
+      }
+    else {
+      __retres = 0;
+      goto return_label;
+    }
+  }
+  return_label: return __retres;
+}
 
-/*@ ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result);
-    ensures
-      valid_dir_stream_on_success:
-        \result ≢ \null ⇒ \result ≡ &__fc_opendir[\result->__fc_dir_id];
+/*@ requires valid_dest: valid_or_empty(dest, n);
+    requires valid_src: valid_read_or_empty(src, n);
     ensures
-      stream_positioned_on_success:
-        \result ≢ \null ⇒ \result->__fc_dir_inode ≢ \null;
-    assigns \result, __fc_errno;
-    assigns \result \from *(path + (0 ..)), __fc_p_opendir;
-    assigns __fc_errno \from *(path + (0 ..)), __fc_p_opendir;
- */
-extern DIR *opendir(char const *path);
-
-/*@ requires
-      dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]);
-    ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result);
-    assigns \result, dirp->__fc_dir_position, __fc_errno;
-    assigns \result \from *dirp, __fc_p_opendir;
-    assigns dirp->__fc_dir_position \from dirp->__fc_dir_position;
-    assigns __fc_errno \from dirp, *dirp, __fc_p_opendir;
+      copied_contents:
+        memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡
+        0;
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *((char *)dest + (0 .. n - 1)), \result;
+    assigns *((char *)dest + (0 .. n - 1))
+      \from *((char *)src + (0 .. n - 1));
+    assigns \result \from dest;
  */
-extern struct dirent *readdir(DIR *dirp);
-
-/*@ requires valid_fdset: \valid(fdset);
-    requires initialization: \initialized(fdset);
-    assigns *fdset;
-    assigns *fdset \from *fdset, (indirect: fd);
- */
-extern void FD_CLR(int fd, fd_set *fdset);
+void *memmove(void *dest, void const *src, size_t n)
+{
+  void *__retres;
+  int tmp;
+  if (n == (size_t)0) {
+    __retres = dest;
+    goto return_label;
+  }
+  char *s = (char *)src;
+  char *d = (char *)dest;
+  tmp = memoverlap((char const *)dest,(char const *)src,n);
+  if (tmp <= 0) {
+    size_t i = (unsigned int)0;
+    /*@ loop invariant no_eva: 0 ≤ i ≤ n;
+        loop invariant
+          no_eva:
+            ∀ ℤ k;
+              0 ≤ k < i ⇒
+              *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry);
+        loop invariant
+          no_eva:
+            ∀ ℤ k;
+              i ≤ k < n ⇒
+              *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry);
+        loop assigns i, *((char *)dest + (0 .. n - 1));
+        loop variant n - i;
+    */
+    while (i < n) {
+      *(d + i) = *(s + i);
+      i += (size_t)1;
+    }
+  }
+  else {
+    {
+      size_t i_0 = n - (size_t)1;
+      /*@ loop invariant no_eva: 0 ≤ i_0 < n;
+          loop invariant
+            no_eva:
+              ∀ ℤ k;
+                i_0 < k < n ⇒
+                *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry);
+          loop invariant
+            no_eva:
+              ∀ ℤ k;
+                0 ≤ k ≤ i_0 ⇒
+                *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry);
+          loop assigns i_0, *((char *)dest + (0 .. n - 1));
+          loop variant i_0;
+      */
+      while (i_0 > (size_t)0) {
+        *(d + i_0) = *(s + i_0);
+        i_0 -= (size_t)1;
+      }
+    }
+    *(d + 0) = *(s + 0);
+  }
+  __retres = dest;
+  return_label: return __retres;
+}
 
-/*@ requires valid_fdset: \valid_read(fdset);
-    requires initialization: \initialized(fdset);
+/*@ requires valid_string_s: valid_read_string(s);
+    ensures acsl_c_equiv: \result ≡ strlen(\old(s));
     assigns \result;
-    assigns \result \from (indirect: *fdset), (indirect: fd);
- */
-extern int FD_ISSET(int fd, fd_set const *fdset);
-
-/*@ requires valid_fdset: \valid(fdset);
-    requires initialization: \initialized(fdset);
-    assigns *fdset;
-    assigns *fdset \from *fdset, (indirect: fd);
- */
-extern void FD_SET(int fd, fd_set *fdset);
-
-/*@ requires valid_fdset: \valid(fdset);
-    ensures initialization: \initialized(\old(fdset));
-    assigns *fdset;
-    assigns *fdset \from \nothing;
+    assigns \result \from (indirect: *(s + (0 ..)));
  */
-extern void FD_ZERO(fd_set *fdset);
+size_t strlen(char const *s)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while ((int)*(s + i) != 0) i += (size_t)1;
+  return i;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) + \old(b));
+/*@ requires valid_string_s: valid_read_nstring(s, maxlen);
     ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (int)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+      result_bounded:
+        \result ≡ strlen(\old(s)) ∨ \result ≡ \old(maxlen);
+    assigns \result;
+    assigns \result
+      \from (indirect: *(s + (0 .. maxlen - 1))), (indirect: maxlen);
  */
-_Bool __builtin_sadd_overflow(int a, int b, int *res);
+size_t strnlen(char const *s, size_t maxlen)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while (1) {
+    if (i < maxlen) {
+      if (! ((int)*(s + i) != 0)) break;
+    }
+    else break;
+    i += (size_t)1;
+  }
+  return i;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) + \old(b));
+/*@ requires valid_s: valid_or_empty(s, n);
     ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (long)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+      acsl_c_equiv: memset((char *)\old(s), \old(c), \old(n)) ≡ \true;
+    ensures result_ptr: \result ≡ \old(s);
+    assigns *((char *)s + (0 .. n - 1)), \result;
+    assigns *((char *)s + (0 .. n - 1)) \from c;
+    assigns \result \from s;
  */
-_Bool __builtin_saddl_overflow(long a, long b, long *res);
+void *memset(void *s, int c, size_t n)
+{
+  unsigned char *p = (unsigned char *)s;
+  {
+    size_t i = (unsigned int)0;
+    while (i < n) {
+      *(p + i) = (unsigned char)c;
+      i += (size_t)1;
+    }
+  }
+  return s;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) + \old(b));
-    ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (long long)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+/*@ requires valid_string_s1: valid_read_string(s1);
+    requires valid_string_s2: valid_read_string(s2);
+    ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2));
+    assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
  */
-_Bool __builtin_saddll_overflow(long long a, long long b, long long *res);
+int strcmp(char const *s1, char const *s2)
+{
+  int __retres;
+  size_t i;
+  i = (unsigned int)0;
+  while ((int)*(s1 + i) == (int)*(s2 + i)) {
+    if ((int)*(s1 + i) == 0) {
+      __retres = 0;
+      goto return_label;
+    }
+    i += (size_t)1;
+  }
+  __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i);
+  return_label: return __retres;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) + \old(b));
-    ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (unsigned int)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+/*@ requires valid_string_s1: valid_read_nstring(s1, n);
+    requires valid_string_s2: valid_read_nstring(s2, n);
+    ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n));
+    assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 .. n - 1))),
+            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
  */
-_Bool __builtin_uadd_overflow(unsigned int a, unsigned int b,
-                              unsigned int *res);
+int strncmp(char const *s1, char const *s2, size_t n)
+{
+  int __retres;
+  {
+    size_t i = (unsigned int)0;
+    while (i < n) {
+      if ((int)*(s1 + i) != (int)*(s2 + i)) {
+        __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i);
+        goto return_label;
+      }
+      if ((int)*(s1 + i) == 0) {
+        __retres = 0;
+        goto return_label;
+      }
+      i += (size_t)1;
+    }
+  }
+  __retres = 0;
+  return_label: return __retres;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) + \old(b));
+/*@ requires valid_s1: valid_read_or_empty(s1, n);
+    requires valid_s2: valid_read_or_empty(s2, n);
+    requires initialization: s1: \initialized((char *)s1 + (0 .. n - 1));
+    requires initialization: s2: \initialized((char *)s2 + (0 .. n - 1));
+    requires danglingness: s1: non_escaping(s1, n);
+    requires danglingness: s2: non_escaping(s2, n);
     ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (unsigned long)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+      logic_spec:
+        \result ≡
+        memcmp{Pre, Pre}((char *)\old(s1), (char *)\old(s2), \old(n));
+    assigns \result;
+    assigns \result
+      \from (indirect: *((char *)s1 + (0 .. n - 1))),
+            (indirect: *((char *)s2 + (0 .. n - 1)));
  */
-_Bool __builtin_uaddl_overflow(unsigned long a, unsigned long b,
-                               unsigned long *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures
-      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) + \old(b));
-    ensures
-      result_overflow:
-        \old(a) + \old(b) ≡ (unsigned long long)(\old(a) + \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_uaddll_overflow(unsigned long long a, unsigned long long b,
-                                unsigned long long *res);
+int memcmp(void const *s1, void const *s2, size_t n)
+{
+  int __retres;
+  unsigned char const *p1;
+  unsigned char const *p2;
+  p1 = (unsigned char const *)s1;
+  p2 = (unsigned char const *)s2;
+  {
+    size_t i = (unsigned int)0;
+    while (i < n) {
+      if ((int)*(p1 + i) != (int)*(p2 + i)) {
+        __retres = (int)*(p1 + i) - (int)*(p2 + i);
+        goto return_label;
+      }
+      i += (size_t)1;
+    }
+  }
+  __retres = 0;
+  return_label: return __retres;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) - \old(b));
-    ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (int)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_ssub_overflow(int a, int b, int *res);
+static int char_equal_ignore_case(char c1, char c2)
+{
+  int __retres;
+  if ((int)c1 >= 'A') 
+    if ((int)c1 <= 'Z') c1 = (char)((int)c1 - ('A' - 'a'));
+  if ((int)c2 >= 'A') 
+    if ((int)c2 <= 'Z') c2 = (char)((int)c2 - ('A' - 'a'));
+  if ((int)c1 == (int)c2) {
+    __retres = 0;
+    goto return_label;
+  }
+  else {
+    __retres = (int)((unsigned char)c2) - (int)((unsigned char)c1);
+    goto return_label;
+  }
+  return_label: return __retres;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) - \old(b));
-    ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (long)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+/*@ requires valid_string_s1: valid_read_string(s1);
+    requires valid_string_s2: valid_read_string(s2);
+    assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
  */
-_Bool __builtin_ssubl_overflow(long a, long b, long *res);
+int strcasecmp(char const *s1, char const *s2)
+{
+  int __retres;
+  size_t i;
+  i = (unsigned int)0;
+  while (1) {
+    if ((int)*(s1 + i) != 0) {
+      if (! ((int)*(s2 + i) != 0)) break;
+    }
+    else break;
+    {
+      int res = char_equal_ignore_case(*(s1 + i),*(s2 + i));
+      if (res != 0) {
+        __retres = res;
+        goto return_label;
+      }
+    }
+    i += (size_t)1;
+  }
+  if ((int)*(s1 + i) == 0) {
+    if ((int)*(s2 + i) == 0) {
+      __retres = 0;
+      goto return_label;
+    }
+    else goto _LAND;
+  }
+  else {
+    _LAND: ;
+    if ((int)*(s1 + i) == 0) {
+      __retres = -1;
+      goto return_label;
+    }
+    else {
+      __retres = 1;
+      goto return_label;
+    }
+  }
+  return_label: return __retres;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) - \old(b));
+/*@ requires valid_string_src: valid_read_string(src);
+    requires valid_string_dest: valid_string(dest);
+    requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
     ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (long long)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_ssubll_overflow(long long a, long long b, long long *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) - \old(b));
+      sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
     ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (unsigned int)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_usub_overflow(unsigned int a, unsigned int b,
-                              unsigned int *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) - \old(b));
+      initialization: dest:
+        \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src))));
     ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (unsigned long)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+      dest_null_terminated:
+        *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0;
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest +
+              (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
+            \result;
+    assigns
+    *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
+      \from *(src + (0 .. strlen{Old}(src)));
+    assigns \result \from dest;
  */
-_Bool __builtin_usubl_overflow(unsigned long a, unsigned long b,
-                               unsigned long *res);
+char *strcat(char *dest, char const *src)
+{
+  size_t i;
+  size_t n = strlen((char const *)dest);
+  i = (unsigned int)0;
+  while ((int)*(src + i) != 0) {
+    *(dest + (n + i)) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + (n + i)) = (char)0;
+  return dest;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures
-      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) - \old(b));
-    ensures
-      result_overflow:
-        \old(a) - \old(b) ≡ (unsigned long long)(\old(a) - \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
+/*@ requires valid_nstring_src: valid_read_nstring(src, n);
+    requires valid_string_dest: valid_string(dest);
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
+    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
+      \from *(src + (0 .. n));
+    assigns \result \from dest;
+    
+    behavior complete:
+      assumes
+        valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n;
+      requires
+        room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
+      ensures
+        sum_of_lengths:
+          strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
+      assigns *(dest +
+                (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
+              \result;
+      assigns
+      *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
+        \from *(src + (0 .. strlen{Old}(src)));
+      assigns \result \from dest;
+    
+    behavior partial:
+      assumes
+        valid_string_src_too_large:
+          ¬(valid_read_string(src) ∧ strlen(src) ≤ n);
+      requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
+      ensures
+        sum_of_bounded_lengths:
+          strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n);
+      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
+              \result;
+      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
+        \from *(src + (0 .. strlen{Old}(src)));
+      assigns \result \from dest;
  */
-_Bool __builtin_usubll_overflow(unsigned long long a, unsigned long long b,
-                                unsigned long long *res);
+char *strncat(char *dest, char const *src, size_t n)
+{
+  size_t i;
+  size_t dest_len = strlen((char const *)dest);
+  i = (unsigned int)0;
+  while (i < n) {
+    if ((int)*(src + i) == 0) break;
+    *(dest + (dest_len + i)) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + (dest_len + i)) = (char)0;
+  return dest;
+}
 
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (int)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_smul_overflow(int a, int b, int *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (long)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_smull_overflow(long a, long b, long *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (long long)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_smulll_overflow(long long a, long long b, long long *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (unsigned int)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_umul_overflow(unsigned int a, unsigned int b,
-                              unsigned int *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (unsigned long)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_umull_overflow(unsigned long a, unsigned long b,
-                               unsigned long *res);
-
-/*@ requires valid_res: \valid(res);
-    ensures initialization: res: \initialized(\old(res));
-    ensures
-      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) * \old(b));
-    ensures
-      result_overflow:
-        \old(a) * \old(b) ≡ (unsigned long long)(\old(a) * \old(b))?
-          \result ≡ 0:
-          \result ≡ 1;
-    assigns \result, *res;
-    assigns \result \from a, b;
-    assigns *res \from a, b;
- */
-_Bool __builtin_umulll_overflow(unsigned long long a, unsigned long long b,
-                                unsigned long long *res);
-
-/*@ requires valid_filename: valid_read_string(filename);
-    assigns \result;
-    assigns \result \from (indirect: *(filename + (0 ..))), (indirect: mode);
+/*@ requires valid_string_src: valid_read_string(src);
+    requires room_string: \valid(dest + (0 .. strlen(src)));
+    requires
+      separation:
+        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
+    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 .. strlen{Old}(src))), \result;
+    assigns *(dest + (0 .. strlen{Old}(src)))
+      \from *(src + (0 .. strlen{Old}(src)));
+    assigns \result \from dest;
  */
-extern int creat(char const *filename, mode_t mode);
-
-/*@ assigns \result;
-    assigns \result \from fd, cmd; */
-extern int fcntl(int fd, int cmd, void * const *__va_params);
+char *strcpy(char *dest, char const *src)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while ((int)*(src + i) != 0) {
+    *(dest + i) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + i) = (char)0;
+  return dest;
+}
 
-/*@ requires valid_filename: valid_read_string(filename);
-    assigns \result;
-    assigns \result
-      \from (indirect: *(filename + (0 ..))), (indirect: flags);
+/*@ requires valid_string_src: valid_read_string(src);
+    requires room_nstring: \valid(dest + (0 .. n - 1));
+    requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
+    ensures result_ptr: \result ≡ \old(dest);
+    ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1));
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
+    assigns \result \from dest;
+    
+    behavior complete:
+      assumes src_fits: strlen(src) < n;
+      ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0;
+    
+    behavior partial:
+      assumes src_too_long: n ≤ strlen(src);
+      ensures
+        equal_prefix:
+          memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0;
  */
-extern int open(char const *filename, int flags, void * const *__va_params);
+char *strncpy(char *dest, char const *src, size_t n)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while (i < n) {
+    *(dest + i) = *(src + i);
+    if ((int)*(src + i) == 0) break;
+    i += (size_t)1;
+  }
+  while (i < n) {
+    *(dest + i) = (char)0;
+    i += (size_t)1;
+  }
+  return dest;
+}
 
-/*@ requires valid_filename: valid_read_string(filename);
+/*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
-    assigns \result
-      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
-            (indirect: flags);
+    assigns \result \from s, *(s + (0 ..)), c;
+    
+    behavior found:
+      assumes char_found: strchr(s, c) ≡ \true;
+      ensures result_char: *\result ≡ (char)\old(c);
+      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
+      ensures
+        result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s));
+      ensures result_valid_string: valid_read_string(\result);
+      ensures
+        result_first_occur:
+          ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c);
+    
+    behavior not_found:
+      assumes char_not_found: ¬(strchr(s, c) ≡ \true);
+      ensures result_null: \result ≡ \null;
+    
+    behavior default:
+      ensures
+        result_null_or_same_base:
+          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
  */
-extern int openat(int dirfd, char const *filename, int flags,
-                  void * const *__va_params);
+char *strchr(char const *s, int c)
+{
+  char *__retres;
+  size_t i;
+  char const ch = (char)c;
+  i = (unsigned int)0;
+  while ((int)*(s + i) != (int)ch) {
+    if ((int)*(s + i) == 0) {
+      __retres = (char *)0;
+      goto return_label;
+    }
+    i += (size_t)1;
+  }
+  __retres = (char *)(s + i);
+  return_label: return __retres;
+}
 
-/*@ requires cmd_has_void_arg: cmd ≡ 1 ∨ cmd ≡ 3 ∨ cmd ≡ 9;
+/*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
-    assigns \result \from fd, cmd;
+    assigns \result \from s, *(s + (0 ..)), c;
+    
+    behavior found:
+      assumes char_found: strchr(s, c) ≡ \true;
+      ensures result_char: (int)*\result ≡ \old(c);
+      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
+      ensures result_valid_string: valid_read_string(\result);
+    
+    behavior not_found:
+      assumes char_not_found: ¬(strchr(s, c) ≡ \true);
+      ensures result_null: \result ≡ \null;
+    
+    behavior default:
+      ensures
+        result_null_or_same_base:
+          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
  */
-extern int __va_fcntl_void(int fd, int cmd);
+char *strrchr(char const *s, int c)
+{
+  char *__retres;
+  char const ch = (char)c;
+  {
+    size_t tmp;
+    tmp = strlen(s);
+    size_t i = tmp + (size_t)1;
+    while (i > (size_t)0) {
+      if ((int)*(s + (i - (size_t)1)) == (int)ch) {
+        __retres = (char *)(s + (i - (size_t)1));
+        goto return_label;
+      }
+      i -= (size_t)1;
+    }
+  }
+  __retres = (char *)0;
+  return_label: return __retres;
+}
 
 /*@ requires
-      cmd_has_int_arg:
-        cmd ≡ 0 ∨ cmd ≡ 0x406 ∨ cmd ≡ 4 ∨ cmd ≡ 8 ∨ cmd ≡ 2;
-    assigns \result;
-    assigns \result \from fd, cmd, arg;
- */
-extern int __va_fcntl_int(int fd, int cmd, int arg);
-
-/*@ requires cmd_as_flock_arg: cmd ≡ 5 ∨ cmd ≡ 6 ∨ cmd ≡ 7;
-    requires valid_arg: \valid(arg);
-    assigns \result, *arg;
-    assigns \result \from fd, cmd, *arg;
-    assigns *arg \from fd, cmd, *arg;
- */
-extern int __va_fcntl_flock(int fd, int cmd, struct flock *arg);
-
-/*@ requires valid_filename: valid_read_string(filename);
-    requires flag_not_CREAT: (flags & 0x40) ≡ 0;
+      valid:
+        valid_read_or_empty(s, n) ∨
+        \valid_read((unsigned char *)s + (0 .. memchr_off((char *)s, c, n)));
+    requires
+      initialization:
+        \initialized((unsigned char *)s + (0 .. n - 1)) ∨
+        \initialized((unsigned char *)s + (0 .. memchr_off((char *)s, c, n)));
+    requires
+      danglingness:
+        non_escaping(s, n) ∨
+        non_escaping(s, (unsigned int)(memchr_off((char *)s, c, n) + 1));
     assigns \result;
-    assigns \result
-      \from (indirect: *(filename + (0 ..))), (indirect: flags);
+    assigns \result \from s, c, *((unsigned char *)s + (0 .. n - 1));
+    
+    behavior found:
+      assumes char_found: memchr((char *)s, c, n) ≡ \true;
+      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
+      ensures result_char: (int)*((char *)\result) ≡ \old(c);
+      ensures
+        result_in_str:
+          ∀ ℤ i;
+            0 ≤ i < \old(n) ⇒
+            *((unsigned char *)\old(s) + i) ≡ \old(c) ⇒
+            \result ≤ \old(s) + i;
+    
+    behavior not_found:
+      assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true);
+      ensures result_null: \result ≡ \null;
  */
-extern int __va_open_void(char const *filename, int flags);
+void *memchr(void const *s, int c, size_t n)
+{
+  void *__retres;
+  unsigned char const ch = (unsigned char)c;
+  unsigned char const *ss = (unsigned char const *)s;
+  {
+    size_t i = (unsigned int)0;
+    while (i < n) {
+      if ((int)*(ss + i) == (int)ch) {
+        __retres = (void *)(ss + i);
+        goto return_label;
+      }
+      i += (size_t)1;
+    }
+  }
+  __retres = (void *)0;
+  return_label: return __retres;
+}
 
-/*@ requires valid_filename: valid_read_string(filename);
+void *memrchr(void const *s, int c, size_t n)
+{
+  void *__retres;
+  unsigned char const ch = (unsigned char)c;
+  unsigned char const *ss = (unsigned char const *)s;
+  {
+    size_t i = n;
+    while (i > (size_t)0) {
+      if ((int)*(ss + (i - (size_t)1)) == (int)ch) {
+        __retres = (void *)(ss + (i - (size_t)1));
+        goto return_label;
+      }
+      i -= (size_t)1;
+    }
+  }
+  __retres = (void *)0;
+  return_label: return __retres;
+}
+
+/*@ requires valid_string_haystack: valid_read_string(haystack);
+    requires valid_string_needle: valid_read_string(needle);
+    ensures
+      result_null_or_in_haystack:
+        \result ≡ \null ∨
+        (\subset(\result, \old(haystack) + (0 ..)) ∧
+         \valid_read(\result) ∧
+         memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0);
     assigns \result;
     assigns \result
-      \from (indirect: *(filename + (0 ..))), (indirect: flags),
-            (indirect: mode);
+      \from haystack, (indirect: *(haystack + (0 ..))),
+            (indirect: *(needle + (0 ..)));
  */
-extern int __va_open_mode_t(char const *filename, int flags, mode_t mode);
+char *strstr(char const *haystack, char const *needle)
+{
+  char *__retres;
+  if ((int)*(needle + 0) == 0) {
+    __retres = (char *)haystack;
+    goto return_label;
+  }
+  {
+    size_t i = (unsigned int)0;
+    while ((int)*(haystack + i) != 0) {
+      {
+        size_t j;
+        j = (unsigned int)0;
+        while ((int)*(haystack + (i + j)) != 0) {
+          if ((int)*(haystack + (i + j)) != (int)*(needle + j)) break;
+          j += (size_t)1;
+        }
+        if ((int)*(needle + j) == 0) {
+          __retres = (char *)(haystack + i);
+          goto return_label;
+        }
+      }
+      i += (size_t)1;
+    }
+  }
+  __retres = (char *)0;
+  return_label: return __retres;
+}
 
-/*@ requires valid_filename: valid_read_string(filename);
-    requires flag_not_CREAT: (flags & 0x40) ≡ 0;
+static int __fc_strerror_init;
+/*@ ensures result_internal_str: \result ≡ __fc_p_strerror;
+    ensures result_nul_terminated: *(\result + 63) ≡ 0;
+    ensures result_valid_string: valid_read_string(\result);
     assigns \result;
-    assigns \result
-      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
-            (indirect: flags);
+    assigns \result \from __fc_p_strerror, (indirect: errnum);
  */
-extern int __va_openat_void(int dirfd, char const *filename, int flags);
+char *strerror(int errnum)
+{
+  char *__retres;
+  if (! __fc_strerror_init) {
+    Frama_C_make_unknown(__fc_strerror,(unsigned int)63);
+    __fc_strerror[63] = (char)0;
+    __fc_strerror_init = 1;
+  }
+  __retres = __fc_strerror;
+  return __retres;
+}
 
-/*@ requires valid_filename: valid_read_string(filename);
+/*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
     assigns \result
-      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
-            (indirect: flags), (indirect: mode);
+      \from (indirect: *(s + (0 .. strlen{Old}(s)))),
+            (indirect: __fc_heap_status);
+    allocates \result;
+    
+    behavior allocation:
+      assumes can_allocate: is_allocable(strlen(s));
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      ensures
+        result_valid_string_and_same_contents:
+          valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0;
+      assigns __fc_heap_status, \result;
+      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns \result
+        \from (indirect: *(s + (0 .. strlen{Old}(s)))),
+              (indirect: __fc_heap_status);
+    
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(strlen(s));
+      ensures result_null: \result ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+      allocates \nothing;
  */
-extern int __va_openat_mode_t(int dirfd, char const *filename, int flags,
-                              mode_t mode);
-
-/*@ ghost extern int __fc_tz __attribute__((__FRAMA_C_MODEL__)); */
+char *strdup(char const *s)
+{
+  char *__retres;
+  size_t tmp;
+  tmp = strlen(s);
+  size_t l = tmp + (size_t)1;
+  char *p = malloc(l);
+  if (! p) {
+    __fc_errno = 12;
+    __retres = (char *)0;
+    goto return_label;
+  }
+  memcpy((void *)p,(void const *)s,l);
+  __retres = p;
+  return_label: return __retres;
+}
 
 /*@ assigns \result;
-    assigns \result \from *(path + (0 ..)), *(times + (0 .. 1));
- */
-extern int utimes(char const *path, struct timeval const * /*[2]*/ times);
-
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result;
-    assigns tv->tv_sec \from __fc_time;
-    assigns tv->tv_usec \from __fc_time;
-    assigns *((struct timezone *)tz) \from __fc_tz;
     assigns \result
-      \from (indirect: tv), (indirect: tz), *tv, *((struct timezone *)tz),
-            __fc_tz;
-    
-    behavior tv_and_tz_null:
-      assumes null_tv_tz: tv ≡ \null ∧ tz ≡ \null;
-      assigns \result;
-      assigns \result \from (indirect: __fc_tz);
+      \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n),
+            (indirect: __fc_heap_status);
+    allocates \result;
     
-    behavior tv_not_null:
-      assumes non_null_tv_null_tz: tv ≢ \null ∧ tz ≡ \null;
+    behavior allocation:
+      assumes can_allocate: is_allocable(\min(strlen(s), n + 1));
       ensures
-        initialization: tv_sec: tv_usec:
-          \initialized(&\old(tv)->tv_sec) ∧
-          \initialized(&\old(tv)->tv_usec);
-      ensures tv_usec_bounded: 0 ≤ \old(tv)->tv_usec ≤ 999999;
-      assigns tv->tv_sec, tv->tv_usec, \result;
-      assigns tv->tv_sec \from (indirect: __fc_time);
-      assigns tv->tv_usec \from (indirect: __fc_time);
-      assigns \result \from (indirect: *tv), (indirect: __fc_tz);
-    
-    behavior tz_not_null:
-      assumes null_tv_non_null_tz: tv ≡ \null ∧ tz ≢ \null;
-      ensures initialization: tz: \initialized((struct timezone *)\old(tz));
-      assigns *((struct timezone *)tz), \result;
-      assigns *((struct timezone *)tz) \from __fc_tz;
-      assigns \result
-        \from (indirect: *((struct timezone *)tz)), (indirect: __fc_tz);
-    
-    behavior tv_and_tz_not_null:
-      assumes non_null_tv_tz: tv ≢ \null ∧ tz ≢ \null;
+        allocation:
+          \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1));
       ensures
-        initialization: tv_sec: tv_usec:
-          \initialized(&\old(tv)->tv_sec) ∧
-          \initialized(&\old(tv)->tv_usec);
-      ensures initialization: tz: \initialized((struct timezone *)\old(tz));
-      assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result;
-      assigns tv->tv_sec \from (indirect: __fc_time);
-      assigns tv->tv_usec \from (indirect: __fc_time);
-      assigns *((struct timezone *)tz) \from __fc_tz;
+        result_valid_string_bounded_and_same_prefix:
+          \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧
+          valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧
+          strncmp(\result, \old(s), \old(n)) ≡ 0;
+      assigns __fc_heap_status, \result;
+      assigns __fc_heap_status
+        \from (indirect: s), (indirect: n), __fc_heap_status;
       assigns \result
-        \from (indirect: *tv), (indirect: *((struct timezone *)tz)),
-              (indirect: __fc_tz);
+        \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n),
+              (indirect: __fc_heap_status);
     
-    complete behaviors tv_and_tz_not_null,
-                       tz_not_null,
-                       tv_not_null,
-                       tv_and_tz_null;
-    disjoint behaviors tv_and_tz_not_null,
-                       tz_not_null,
-                       tv_not_null,
-                       tv_and_tz_null;
- */
-extern int gettimeofday(struct timeval * __restrict tv, void * __restrict tz);
-
-/*@ assigns \result, __fc_time, __fc_tz;
-    assigns \result
-      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
-    assigns __fc_time
-      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
-    assigns __fc_tz
-      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1));
+      ensures result_null: \result ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+      allocates \nothing;
  */
-extern int settimeofday(struct timeval const *tv, struct timezone const *tz);
-
-/*@ ghost
-  struct itimerval volatile __fc_itimer_real __attribute__((__FRAMA_C_MODEL__));
-  */
-/*@ ghost
-  struct itimerval volatile __fc_itimer_virtual __attribute__((__FRAMA_C_MODEL__));
-  */
-/*@ ghost
-  struct itimerval volatile __fc_itimer_prof __attribute__((__FRAMA_C_MODEL__));
+char *strndup(char const *s, size_t n)
+{
+  char *__retres;
+  size_t l;
+  l = (unsigned int)0;
+  while (l < n) {
+    if ((int)*(s + l) == 0) break;
+    l += (size_t)1;
+  }
+  char *p = malloc(l + (size_t)1);
+  if (! p) {
+    __fc_errno = 12;
+    __retres = (char *)0;
+    goto return_label;
+  }
+  memcpy((void *)p,(void const *)s,l);
+  *(p + l) = (char)0;
+  __retres = p;
+  return_label: return __retres;
+}
+
+static int __fc_strsignal_init;
+/*@ ensures result_internal_str: \result ≡ __fc_p_strsignal;
+    ensures result_nul_terminated: *(\result + 63) ≡ 0;
+    ensures result_valid_string: valid_read_string(\result);
+    assigns \result;
+    assigns \result \from __fc_p_strsignal, (indirect: signum);
+ */
+char *strsignal(int signum)
+{
+  char *__retres;
+  if (! __fc_strsignal_init) {
+    Frama_C_make_unknown(__fc_strsignal,(unsigned int)63);
+    __fc_strsignal[63] = (char)0;
+    __fc_strsignal_init = 1;
+  }
+  __retres = __fc_strsignal;
+  return __retres;
+}
+
+/*@ ghost unsigned int volatile __fc_time __attribute__((__FRAMA_C_MODEL__));
   */
-/*@ requires valid_curr_value: \valid(curr_value);
-    ensures initialization: curr_value: \initialized(\old(curr_value));
-    assigns \result, *curr_value;
-    assigns \result \from (indirect: which);
-    assigns *curr_value
-      \from __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof;
-    
-    behavior real:
-      assumes itimer_real: which ≡ 0;
-      ensures result_ok: \result ≡ 0;
-      assigns \result, *curr_value;
-      assigns \result \from \nothing;
-      assigns *curr_value \from __fc_itimer_real;
-    
-    behavior virtual:
-      assumes itimer_virtual: which ≡ 1;
-      ensures result_ok: \result ≡ 0;
-      assigns \result, *curr_value;
-      assigns \result \from \nothing;
-      assigns *curr_value \from __fc_itimer_virtual;
-    
-    behavior prof:
-      assumes itimer_prof: which ≡ 2;
-      ensures result_ok: \result ≡ 0;
-      assigns \result, *curr_value;
-      assigns \result \from \nothing;
-      assigns *curr_value \from __fc_itimer_prof;
+/*@ assigns \result;
+    assigns \result \from __fc_time; */
+extern clock_t clock(void);
+
+/*@ assigns \result;
+    assigns \result \from time1, time0; */
+extern double difftime(time_t time1, time_t time0);
+
+/*@ assigns *timeptr, \result;
+    assigns *timeptr \from *timeptr;
+    assigns \result \from *timeptr;
+ */
+extern time_t mktime(struct tm *timeptr);
+
+/*@ assigns *timer, \result;
+    assigns *timer \from __fc_time;
+    assigns \result \from __fc_time;
     
-    behavior invalid:
-      assumes invalid_which: which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2;
-      ensures result_error: \result ≡ -1;
+    behavior null:
+      assumes timer_null: timer ≡ \null;
       assigns \result;
-      assigns \result \from \nothing;
+      assigns \result \from __fc_time;
     
-    complete behaviors invalid, prof, virtual, real;
-    disjoint behaviors invalid, prof, virtual, real;
+    behavior not_null:
+      assumes timer_non_null: timer ≢ \null;
+      requires valid_timer: \valid(timer);
+      ensures initialization: timer: \initialized(\old(timer));
+      assigns *timer, \result;
+      assigns *timer \from __fc_time;
+      assigns \result \from __fc_time;
+    
+    complete behaviors not_null, null;
+    disjoint behaviors not_null, null;
  */
-extern int getitimer(int which, struct itimerval *curr_value);
+extern time_t time(time_t *timer);
 
-/*@ requires valid_new_value: \valid_read(new_value);
-    requires
-      old_value_null_or_valid: old_value ≡ \null ∨ \valid(old_value);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *old_value, \result;
-    assigns *old_value
-      \from (indirect: which), (indirect: old_value), (indirect: new_value),
-            __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof;
+char __fc_ctime[26];
+char * const __fc_p_ctime = __fc_ctime;
+/*@ requires valid_timer: \valid_read(timer);
+    requires initialization: init_timer: \initialized(timer);
+    ensures result_points_to_ctime: \result ≡ __fc_p_ctime;
+    ensures result_valid_string: valid_read_string(__fc_p_ctime);
+    assigns __fc_ctime[0 .. 25], \result;
+    assigns __fc_ctime[0 .. 25]
+      \from (indirect: *timer), (indirect: __fc_time);
     assigns \result
-      \from (indirect: which), (indirect: new_value), (indirect: *new_value);
-    
-    behavior real:
-      assumes
-        itimer_real_and_valid:
-          which ≡ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
-          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
-      ensures result_ok: \result ≡ 0;
-      ensures initialization: old_value: \initialized(\old(old_value));
-      assigns \result, *old_value, __fc_itimer_real;
-      assigns \result \from \nothing;
-      assigns *old_value \from __fc_itimer_real;
-      assigns __fc_itimer_real \from *new_value;
+      \from (indirect: *timer), (indirect: __fc_time), __fc_p_ctime;
+ */
+extern char *ctime(time_t const *timer);
+
+struct tm __fc_time_tm;
+struct tm * const __fc_p_time_tm = & __fc_time_tm;
+/*@ ensures
+      result_null_or_internal_tm:
+        \result ≡ &__fc_time_tm ∨ \result ≡ \null;
+    assigns \result, __fc_time_tm;
+    assigns \result \from __fc_p_time_tm;
+    assigns __fc_time_tm \from *timer;
+ */
+extern struct tm *gmtime(time_t const *timer);
+
+/*@ ensures
+      result_null_or_internal_tm:
+        \result ≡ &__fc_time_tm ∨ \result ≡ \null;
+    assigns \result, __fc_time_tm;
+    assigns \result \from __fc_p_time_tm;
+    assigns __fc_time_tm \from *timer;
+ */
+extern struct tm *localtime(time_t const *timer);
+
+/*@ requires dst_has_room: \valid(s + (0 .. max - 1));
+    requires valid_format: valid_read_string(format);
+    requires valid_tm: \valid_read(tm);
+    ensures result_bounded: \result ≤ \old(max);
+    assigns *(s + (0 .. max - 1)), \result;
+    assigns *(s + (0 .. max - 1))
+      \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm);
+    assigns \result
+      \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm);
+ */
+extern size_t strftime(char * __restrict s, size_t max,
+                       char const * __restrict format,
+                       struct tm const * __restrict tm);
+
+/*@ requires tp: \valid(tp);
+    assigns \result, *tp, __fc_time;
+    assigns \result \from __fc_time;
+    assigns *tp \from __fc_time;
+    assigns __fc_time \from __fc_time;
     
-    behavior virtual:
-      assumes
-        itimer_virtual_and_valid:
-          which ≡ 1 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
-          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
-      ensures result_ok: \result ≡ 0;
-      ensures initialization: old_value: \initialized(\old(old_value));
-      assigns \result, *old_value;
-      assigns \result \from \nothing;
-      assigns *old_value \from __fc_itimer_virtual;
+    behavior realtime_clock:
+      assumes realtime: clk_id ≡ 666;
+      ensures success: \result ≡ 0;
+      ensures initialization: \initialized(\old(tp));
     
-    behavior prof:
-      assumes
-        itimer_prof_and_valid:
-          which ≡ 2 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
-          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
-      ensures result_ok: \result ≡ 0;
-      ensures initialization: old_value: \initialized(\old(old_value));
-      assigns \result, *old_value;
-      assigns \result \from \nothing;
-      assigns *old_value \from __fc_itimer_prof;
+    behavior monotonic_clock:
+      assumes monotonic: clk_id ≡ 1;
+      ensures success: \result ≡ 0;
+      ensures initialization: \initialized(\old(tp));
     
-    behavior invalid:
-      assumes
-        invalid_itimer_or_new_value:
-          (which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2) ∨
-          ¬(0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
-             0 ≤ new_value->it_interval.tv_usec ≤ 999999);
-      ensures result_error: \result ≡ -1;
+    behavior bad_clock_id:
+      assumes bad_id: clk_id ≢ 666 ∧ clk_id ≢ 1;
+      ensures error: \result ≡ 22;
       assigns \result;
-      assigns \result \from \nothing;
+      assigns \result \from clk_id;
     
-    disjoint behaviors invalid, prof, virtual, real;
+    complete behaviors bad_clock_id, monotonic_clock, realtime_clock;
+    disjoint behaviors bad_clock_id, monotonic_clock, realtime_clock;
  */
-extern int setitimer(int which,
-                     struct itimerval const * __restrict new_value,
-                     struct itimerval * __restrict old_value);
+extern int clock_gettime(clockid_t clk_id, struct timespec *tp);
 
-/*@ ghost int volatile __fc_fds_state; */
-/*@ requires nfds: nfds ≥ 0;
-    requires readfs: readfds ≡ \null ∨ \valid(readfds);
-    requires writefds: writefds ≡ \null ∨ \valid(writefds);
-    requires errorfds: errorfds ≡ \null ∨ \valid(errorfds);
-    requires timeout: timeout ≡ \null ∨ \valid(timeout);
-    assigns __fc_fds_state, *readfds, *writefds, *errorfds, *timeout,
-            \result;
-    assigns __fc_fds_state \from __fc_fds_state;
-    assigns *readfds
-      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
-            (indirect: writefds), (indirect: *writefds),
-            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
-            (indirect: *timeout), __fc_fds_state;
-    assigns *writefds
-      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
-            (indirect: writefds), (indirect: *writefds),
-            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
-            (indirect: *timeout), __fc_fds_state;
-    assigns *errorfds
-      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
-            (indirect: writefds), (indirect: *writefds),
-            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
-            (indirect: *timeout), __fc_fds_state;
-    assigns *timeout
-      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
-            (indirect: writefds), (indirect: *writefds),
-            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
-            (indirect: *timeout), __fc_fds_state;
+/*@
+axiomatic nanosleep_predicates {
+  predicate abs_clock_in_range{L}(clockid_t id, struct timespec *tm) 
+    reads __fc_time;
+  
+  predicate valid_clock_id{L}(clockid_t id) 
+    reads __fc_time;
+  
+  }
+
+*/
+/*@ ghost int volatile __fc_interrupted __attribute__((__FRAMA_C_MODEL__));
+  */
+/*@ requires valid_request: \valid_read(rqtp);
+    requires
+      initialization: initialized_request:
+        \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec);
+    requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000;
+    requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp);
+    assigns \result;
     assigns \result
-      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
-            (indirect: writefds), (indirect: *writefds),
-            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
-            (indirect: *timeout), __fc_fds_state;
+      \from (indirect: __fc_time), (indirect: __fc_interrupted),
+            (indirect: clock_id), (indirect: flags), (indirect: rqtp),
+            (indirect: *rqtp);
     
-    behavior read_notnull:
-      assumes readfds_is_not_null: readfds ≢ \null;
-      ensures initialization: readfds: \initialized(\old(readfds));
+    behavior absolute:
+      assumes absolute_time: (flags & 1) ≢ 0;
+      assumes
+        no_einval:
+          abs_clock_in_range(clock_id, rqtp) ∧ valid_clock_id(clock_id);
+      ensures
+        result_ok_or_error:
+          \result ≡ 0 ∨ \result ≡ 4 ∨ \result ≡ 22 ∨
+          \result ≡ 95;
+      assigns \result;
+      assigns \result
+        \from (indirect: __fc_time), (indirect: __fc_interrupted),
+              (indirect: clock_id), (indirect: rqtp), (indirect: *rqtp);
     
-    behavior write_notnull:
-      assumes writefds_is_not_null: writefds ≢ \null;
-      ensures initialization: writefds: \initialized(\old(writefds));
+    behavior relative_interrupted:
+      assumes relative_time: (flags & 1) ≡ 0;
+      assumes interrupted: __fc_interrupted ≢ 0;
+      assumes no_einval: valid_clock_id(clock_id);
+      ensures result_interrupted: \result ≡ 4;
+      ensures
+        initialization: interrupted_remaining:
+          \old(rmtp) ≢ \null ⇒
+          \initialized(&\old(rmtp)->tv_sec) ∧
+          \initialized(&\old(rmtp)->tv_nsec);
+      ensures
+        interrupted_remaining_decreases:
+          \old(rmtp) ≢ \null ⇒
+          \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥
+          \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec;
+      ensures
+        remaining_valid:
+          \old(rmtp) ≢ \null ⇒ 0 ≤ \old(rmtp)->tv_nsec < 1000000000;
+      assigns \result, *rmtp;
+      assigns \result
+        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
+              (indirect: *rqtp);
+      assigns *rmtp
+        \from __fc_time, (indirect: clock_id), (indirect: rqtp),
+              (indirect: *rqtp), (indirect: rmtp);
     
-    behavior error_notnull:
-      assumes errorfds_is_not_null: errorfds ≢ \null;
-      ensures initialization: errorfds: \initialized(\old(errorfds));
+    behavior relative_no_error:
+      assumes relative_time: (flags & 1) ≡ 0;
+      assumes not_interrupted: __fc_interrupted ≡ 0;
+      assumes no_einval: valid_clock_id(clock_id);
+      ensures result_ok: \result ≡ 0;
+      assigns \result;
+      assigns \result
+        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
+              (indirect: *rqtp);
     
-    behavior timeout_notnull:
-      assumes timeout_is_not_null: timeout ≢ \null;
-      ensures initialization: timeout: \initialized(\old(timeout));
+    behavior relative_invalid_clock_id:
+      assumes relative_time: (flags & 1) ≡ 0;
+      assumes not_interrupted: __fc_interrupted ≡ 0;
+      assumes einval: ¬valid_clock_id(clock_id);
+      ensures result_einval: \result ≡ 22;
+      assigns \result;
+      assigns \result
+        \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp),
+              (indirect: *rqtp);
+    
+    complete behaviors relative_invalid_clock_id,
+                       relative_no_error,
+                       relative_interrupted,
+                       absolute;
+    disjoint behaviors relative_invalid_clock_id,
+                       relative_no_error,
+                       relative_interrupted,
+                       absolute;
+ */
+extern int clock_nanosleep(clockid_t clock_id, int flags,
+                           struct timespec const *rqtp, struct timespec *rmtp);
+
+/*@ requires valid_request: \valid_read(rqtp);
+    requires
+      initialization: initialized_request:
+        \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec);
+    requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000;
+    requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp);
+    ensures result_elapsed_or_interrupted: \result ≡ 0 ∨ \result ≡ -1;
+    ensures
+      initialization: interrupted_remaining:
+        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
+        \initialized(&\old(rmtp)->tv_sec) ∧
+        \initialized(&\old(rmtp)->tv_nsec);
+    ensures
+      interrupted_remaining_decreases:
+        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
+        \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥
+        \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec;
+    ensures
+      interrupted_remaining_valid:
+        \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒
+        0 ≤ \old(rmtp)->tv_nsec < 1000000000;
+    assigns \result, *rmtp;
+    assigns \result
+      \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp);
+    assigns *rmtp
+      \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp),
+            (indirect: rmtp);
+ */
+extern int nanosleep(struct timespec const *rqtp, struct timespec *rmtp);
+
+extern void tzset(void);
+
+extern char *tzname[2];
+
+/*@ assigns *(tzname[0 .. 1] + (0 ..));
+    assigns *(tzname[0 .. 1] + (0 ..)) \from \nothing;
+ */
+extern void tzset(void);
+
+/*@ ensures
+      result_null_or_inside_s:
+        \result ≡ \null ∨ \subset(\result, \old(s) + (0 .. \old(n) - 1));
+    assigns \result;
+    assigns \result
+      \from s, (indirect: *(s + (0 .. n - 1))), (indirect: c), (indirect: n);
+ */
+extern wchar_t *wmemchr(wchar_t const *s, wchar_t c, size_t n);
+
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 .. n - 1))),
+            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
+ */
+extern int wmemcmp(wchar_t const *s1, wchar_t const *s2, size_t n);
+
+wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n);
+
+/*@ ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
+    assigns \result \from dest;
+ */
+extern wchar_t *wmemmove(wchar_t *dest, wchar_t const *src, size_t n);
+
+wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len);
+
+wchar_t *wcscat(wchar_t *dest, wchar_t const *src);
+
+/*@ requires valid_wstring_src: valid_read_wstring(wcs);
+    ensures
+      result_null_or_inside_wcs:
+        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
+    assigns \result;
+    assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc);
+ */
+extern wchar_t *wcschr(wchar_t const *wcs, wchar_t wc);
+
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+ */
+extern int wcscmp(wchar_t const *s1, wchar_t const *s2);
+
+wchar_t *wcscpy(wchar_t *dest, wchar_t const *src);
+
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
+ */
+extern size_t wcscspn(wchar_t const *wcs, wchar_t const *accept);
+
+/*@ assigns *(dest + (0 ..)), \result;
+    assigns *(dest + (0 ..))
+      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)),
+            (indirect: src), (indirect: n);
+    assigns \result
+      \from (indirect: *(dest + (0 ..))), (indirect: *(src + (0 .. n - 1))),
+            (indirect: n);
+ */
+extern size_t wcslcat(wchar_t * __restrict dest,
+                      wchar_t const * __restrict src, size_t n);
+
+/*@ requires
+      separation: dest: src:
+        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
+    assigns \result
+      \from (indirect: *(dest + (0 .. n - 1))), (indirect: dest),
+            (indirect: *(src + (0 .. n - 1))), (indirect: src), (indirect: n);
+ */
+extern size_t wcslcpy(wchar_t *dest, wchar_t const *src, size_t n);
+
+size_t wcslen(wchar_t const *str);
+
+wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n);
+
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(s1 + (0 .. n - 1))),
+            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
+ */
+extern int wcsncmp(wchar_t const *s1, wchar_t const *s2, size_t n);
+
+wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n);
+
+/*@ ensures
+      result_null_or_inside_wcs:
+        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
+    assigns \result;
+    assigns \result
+      \from wcs, (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
+ */
+extern wchar_t *wcspbrk(wchar_t const *wcs, wchar_t const *accept);
+
+/*@ ensures
+      result_null_or_inside_wcs:
+        \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..));
+    assigns \result;
+    assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc);
+ */
+extern wchar_t *wcsrchr(wchar_t const *wcs, wchar_t wc);
+
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..)));
+ */
+extern size_t wcsspn(wchar_t const *wcs, wchar_t const *accept);
+
+/*@ ensures
+      result_null_or_inside_haystack:
+        \result ≡ \null ∨ \subset(\result, \old(haystack) + (0 ..));
+    assigns \result;
+    assigns \result
+      \from haystack, (indirect: *(haystack + (0 ..))),
+            (indirect: *(needle + (0 ..)));
+ */
+extern wchar_t *wcsstr(wchar_t const *haystack, wchar_t const *needle);
+
+/*@ requires valid_stream: \valid(stream);
+    ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(ws);
+    ensures
+      terminated_string_on_success:
+        \result ≢ \null ⇒ valid_wstring(\old(ws));
+    assigns *(ws + (0 .. n)), \result;
+    assigns *(ws + (0 .. n)) \from (indirect: n), (indirect: *stream);
+    assigns \result \from ws, (indirect: n), (indirect: *stream);
+ */
+extern wchar_t *fgetws(wchar_t * __restrict ws, int n,
+                       FILE * __restrict stream);
+
+/*@ axiomatic wformat_length {
+      logic ℤ wformat_length{L}(wchar_t *format) ;
+      
+      }
+
+*/
+/*@ requires
+      separation: dest: src:
+        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
+    assigns \result \from dest;
+ */
+wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n)
+{
+  {
+    size_t i = (unsigned int)0;
+    while (i < n) {
+      *(dest + i) = *(src + i);
+      i += (size_t)1;
+    }
+  }
+  return dest;
+}
+
+/*@ ensures result_ptr: \result ≡ \old(dest);
+    ensures
+      initialization: wcs: \initialized(\old(dest) + (0 .. \old(len) - 1));
+    ensures
+      contents_equal_wc:
+        \subset(*(\old(dest) + (0 .. \old(len) - 1)), \old(val));
+    assigns *(dest + (0 .. len - 1)), \result;
+    assigns *(dest + (0 .. len - 1)) \from val, (indirect: len);
+    assigns \result \from dest;
+ */
+wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len)
+{
+  {
+    size_t i = (unsigned int)0;
+    while (i < len) {
+      *(dest + i) = val;
+      i += (size_t)1;
+    }
+  }
+  return dest;
+}
+
+/*@ ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 ..)), \result;
+    assigns *(dest + (0 ..))
+      \from *(src + (0 ..)), (indirect: src), *(dest + (0 ..)),
+            (indirect: dest);
+    assigns \result \from dest;
+ */
+wchar_t *wcscpy(wchar_t *dest, wchar_t const *src)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while (*(src + i) != 0) {
+    *(dest + i) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + i) = 0;
+  return dest;
+}
+
+/*@ requires valid_string_s: valid_read_wstring(str);
+    assigns \result;
+    assigns \result \from (indirect: *(str + (0 ..)));
+ */
+size_t wcslen(wchar_t const *str)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while (*(str + i) != 0) i += (size_t)1;
+  return i;
+}
+
+/*@ requires
+      separation: dest: src:
+        \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
+    ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n);
+    assigns \result \from dest;
+ */
+wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n)
+{
+  size_t i;
+  i = (unsigned int)0;
+  while (i < n) {
+    *(dest + i) = *(src + i);
+    if (*(src + i) == 0) break;
+    i += (size_t)1;
+  }
+  while (i < n) {
+    *(dest + i) = 0;
+    i += (size_t)1;
+  }
+  return dest;
+}
+
+/*@ ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 ..)), \result;
+    assigns *(dest + (0 ..))
+      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 ..)),
+            (indirect: src);
+    assigns \result \from dest;
+ */
+wchar_t *wcscat(wchar_t *dest, wchar_t const *src)
+{
+  size_t i;
+  size_t n = wcslen((wchar_t const *)dest);
+  i = (unsigned int)0;
+  while (*(src + i) != 0) {
+    *(dest + (n + i)) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + (n + i)) = 0;
+  return dest;
+}
+
+/*@ ensures result_ptr: \result ≡ \old(dest);
+    assigns *(dest + (0 ..)), \result;
+    assigns *(dest + (0 ..))
+      \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)),
+            (indirect: src), (indirect: n);
+    assigns \result \from dest;
+ */
+wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n)
+{
+  size_t i;
+  size_t dest_len = wcslen((wchar_t const *)dest);
+  i = (unsigned int)0;
+  while (1) {
+    if (i < n) {
+      if (! (*(src + i) != 0)) break;
+    }
+    else break;
+    *(dest + (dest_len + i)) = *(src + i);
+    i += (size_t)1;
+  }
+  *(dest + (dest_len + i)) = 0;
+  return dest;
+}
+
+/*@ ghost extern int __fc_stack_status __attribute__((__FRAMA_C_MODEL__)); */
+
+/*@ ensures allocation: \fresh{Old, Here}(\result,\old(size));
+    assigns __fc_stack_status, \result;
+    assigns __fc_stack_status \from size, __fc_stack_status;
+    assigns \result \from (indirect: size), (indirect: __fc_stack_status);
+    allocates \result;
  */
-extern int select(int nfds, fd_set *readfds, fd_set *writefds,
-                  fd_set *errorfds, struct timeval *timeout);
+extern void *alloca(size_t size);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result
-      \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: mode);
+DIR __fc_opendir[16];
+DIR * const __fc_p_opendir = __fc_opendir;
+/*@ requires
+      dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]);
+    ensures
+      err_or_closed_on_success:
+        (\result ≡ 0 ∧ \old(dirp)->__fc_dir_inode ≡ \null) ∨
+        \result ≡ -1;
+    assigns \result, __fc_errno, *dirp;
+    assigns \result \from dirp, *dirp, __fc_p_opendir;
+    assigns __fc_errno \from dirp, *dirp, __fc_p_opendir;
+    assigns *dirp \from dirp, *dirp, __fc_p_opendir;
  */
-extern int mkdir(char const *path, mode_t mode);
+extern int closedir(DIR *dirp);
 
-/*@ requires valid_pathname: valid_read_string(pathname);
-    requires valid_buf: \valid(buf);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+/*@ ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result);
     ensures
-      init_on_success: initialization: buf:
-        \result ≡ 0 ⇒ \initialized(\old(buf));
-    assigns \result, *buf;
-    assigns \result \from *(pathname + (0 ..));
-    assigns *buf \from *(pathname + (0 ..));
+      valid_dir_stream_on_success:
+        \result ≢ \null ⇒ \result ≡ &__fc_opendir[\result->__fc_dir_id];
+    ensures
+      stream_positioned_on_success:
+        \result ≢ \null ⇒ \result->__fc_dir_inode ≢ \null;
+    assigns \result, __fc_errno;
+    assigns \result \from *(path + (0 ..)), __fc_p_opendir;
+    assigns __fc_errno \from *(path + (0 ..)), __fc_p_opendir;
  */
-extern int stat(char const *pathname, struct stat *buf);
+extern DIR *opendir(char const *path);
 
-/*@ assigns \result;
-    assigns \result \from (indirect: cmask); */
-extern mode_t umask(mode_t cmask);
+/*@ requires
+      dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]);
+    ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result);
+    assigns \result, dirp->__fc_dir_position, __fc_errno;
+    assigns \result \from *dirp, __fc_p_opendir;
+    assigns dirp->__fc_dir_position \from dirp->__fc_dir_position;
+    assigns __fc_errno \from dirp, *dirp, __fc_p_opendir;
+ */
+extern struct dirent *readdir(DIR *dirp);
 
-/*@ assigns *(*(outbuf + (0 .. *outbytesleft - 1))), __fc_errno;
-    assigns *(*(outbuf + (0 .. *outbytesleft - 1)))
-      \from *(*(inbuf + (0 .. *inbytesleft - 1)));
+/*@ requires valid_fdset: \valid(fdset);
+    requires initialization: \initialized(fdset);
+    assigns *fdset;
+    assigns *fdset \from *fdset, (indirect: fd);
  */
-extern size_t iconv(iconv_t cd, char ** __restrict inbuf,
-                    size_t * __restrict inbytesleft,
-                    char ** __restrict outbuf,
-                    size_t * __restrict outbytesleft);
+extern void FD_CLR(int fd, fd_set *fdset);
 
-/*@ ensures result_zero_or_neg: \result ≡ 0 ∨ \result ≡ -1;
-    assigns __fc_errno;
+/*@ requires valid_fdset: \valid_read(fdset);
+    requires initialization: \initialized(fdset);
+    assigns \result;
+    assigns \result \from (indirect: *fdset), (indirect: fd);
  */
-extern int iconv_close(iconv_t);
+extern int FD_ISSET(int fd, fd_set const *fdset);
 
-/*@ assigns \result, __fc_errno;
-    assigns \result \from *(tocode + (..)), *(fromcode + (..));
+/*@ requires valid_fdset: \valid(fdset);
+    requires initialization: \initialized(fdset);
+    assigns *fdset;
+    assigns *fdset \from *fdset, (indirect: fd);
  */
-extern iconv_t iconv_open(char const *tocode, char const *fromcode);
+extern void FD_SET(int fd, fd_set *fdset);
 
-extern char __fc_basename[256];
+/*@ requires valid_fdset: \valid(fdset);
+    ensures initialization: \initialized(\old(fdset));
+    assigns *fdset;
+    assigns *fdset \from \nothing;
+ */
+extern void FD_ZERO(fd_set *fdset);
 
-char *__fc_p_basename = __fc_basename;
-/*@ requires
-      null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) + \old(b));
     ensures
-      result_points_to_internal_storage_or_path:
-        \subset(\result, {__fc_p_basename, \old(path)});
-    assigns *(path + (0 ..)), __fc_basename[0 ..], \result;
-    assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_basename[0 ..];
-    assigns __fc_basename[0 ..] \from *(path + (0 ..)), __fc_basename[0 ..];
-    assigns \result \from __fc_p_basename, path;
+      result_overflow:
+        \old(a) + \old(b) ≡ (int)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern char *basename(char *path);
+_Bool __builtin_sadd_overflow(int a, int b, int *res);
 
-extern char __fc_dirname[256];
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_saddl_overflow(long a, long b, long *res);
 
-char *__fc_p_dirname = __fc_dirname;
-/*@ requires
-      null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) + \old(b));
     ensures
-      result_points_to_internal_storage_or_path:
-        \subset(\result, {__fc_p_dirname, \old(path)});
-    assigns *(path + (0 ..)), __fc_dirname[0 ..], \result;
-    assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_dirname[0 ..];
-    assigns __fc_dirname[0 ..] \from *(path + (0 ..)), __fc_dirname[0 ..];
-    assigns \result \from __fc_p_dirname, path;
+      result_overflow:
+        \old(a) + \old(b) ≡ (long long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern char *dirname(char *path);
+_Bool __builtin_saddll_overflow(long long a, long long b, long long *res);
 
-/*@ requires valid_file_descriptors: \valid(fds + (0 .. nfds - 1));
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) + \old(b));
     ensures
-      error_timeout_or_bounded:
-        \result ≡ -1 ∨ \result ≡ 0 ∨ (1 ≤ \result ≤ \old(nfds));
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned int)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_uadd_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) + \old(b));
     ensures
-      initialization: revents:
-        \initialized(&(\old(fds) + (0 .. \old(nfds) - 1))->revents);
-    assigns (fds + (0 .. nfds - 1))->revents, \result;
-    assigns (fds + (0 .. nfds - 1))->revents
-      \from (indirect: (fds + (0 .. nfds - 1))->fd),
-            (fds + (0 .. nfds - 1))->events, (indirect: nfds),
-            (indirect: timeout), (indirect: Frama_C_entropy_source);
-    assigns \result
-      \from (indirect: (fds + (0 .. nfds - 1))->fd),
-            (indirect: (fds + (0 .. nfds - 1))->events), (indirect: nfds),
-            (indirect: timeout), (indirect: Frama_C_entropy_source);
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int poll(struct pollfd *fds, nfds_t nfds, int timeout);
+_Bool __builtin_uaddl_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
 
-/*@ requires valid_cond: \valid(cond);
-    ensures sucess: \result ≡ 0;
-    assigns \result;
-    assigns \result \from \nothing;
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned long long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_uaddll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (int)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssub_overflow(int a, int b, int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssubl_overflow(long a, long b, long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (long long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssubll_overflow(long long a, long long b, long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned int)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_cond_broadcast(pthread_cond_t *cond);
+_Bool __builtin_usub_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
 
-/*@ requires valid_cond: \valid(cond);
-    ensures success_or_error: \result ≡ 0 ∨ \result ≡ 16;
-    assigns \result;
-    assigns \result \from (indirect: *cond);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_cond_destroy(pthread_cond_t *cond);
+_Bool __builtin_usubl_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
 
-/*@ requires valid_cond: \valid(cond);
-    requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr);
-    ensures initialization: cond: \initialized(\old(cond));
-    ensures success: \result ≡ 0;
-    assigns *cond, \result;
-    assigns *cond \from *attr;
-    assigns \result \from \nothing;
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned long long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_cond_init(pthread_cond_t * __restrict cond,
-                             pthread_condattr_t const * __restrict attr);
+_Bool __builtin_usubll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
 
-/*@ requires valid_cond: \valid(cond);
-    requires valid_mutex: \valid(mutex);
-    ensures success: \result ≡ 0;
-    assigns \result;
-    assigns \result \from \nothing;
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (int)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_cond_wait(pthread_cond_t * __restrict cond,
-                             pthread_mutex_t * __restrict mutex);
+_Bool __builtin_smul_overflow(int a, int b, int *res);
 
-/*@ requires valid_thread: \valid(thread);
-    requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr);
-    requires valid_routine: \valid_function(start_routine);
-    requires valid_null_arg: arg ≡ \null ∨ \valid((char *)arg);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) * \old(b));
     ensures
-      success_or_error:
-        \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ \result ≡ 1;
-    assigns *thread, \result;
-    assigns *thread \from *attr;
-    assigns \result \from (indirect: *attr);
+      result_overflow:
+        \old(a) * \old(b) ≡ (long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_create(pthread_t * __restrict thread,
-                          pthread_attr_t const * __restrict attr,
-                          void *(*start_routine)(void *),
-                          void * __restrict arg);
+_Bool __builtin_smull_overflow(long a, long b, long *res);
 
-/*@ requires valid_or_null_retval: retval ≡ \null ∨ \valid(retval);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) * \old(b));
     ensures
-      success_or_error:
-        \result ≡ 0 ∨ \result ≡ 35 ∨ \result ≡ 22 ∨ \result ≡ 3;
-    assigns *retval, \result;
-    assigns *retval \from thread;
-    assigns \result \from (indirect: thread);
-    
-    behavior ignore_retval:
-      assumes null_retval: retval ≡ \null;
-      assigns \result;
-      assigns \result \from (indirect: thread);
-    
-    behavior use_retval:
-      assumes valid_retval: \valid(retval);
-      assigns *retval, \result;
-      assigns *retval \from thread;
-      assigns \result \from (indirect: thread);
+      result_overflow:
+        \old(a) * \old(b) ≡ (long long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_join(pthread_t thread, void **retval);
+_Bool __builtin_smulll_overflow(long long a, long long b, long long *res);
 
-/*@ requires mutex_valid: \valid(mutex);
-    ensures init_or_busy: \result ≡ 0 ∨ \result ≡ 16;
-    assigns *mutex, \result;
-    assigns *mutex \from *mutex;
-    assigns \result \from (indirect: *mutex);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned int)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_mutex_destroy(pthread_mutex_t *mutex);
+_Bool __builtin_umul_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
 
-/*@ requires mutex_valid: \valid(mutex);
-    requires attrs_valid_or_null: attrs ≡ \null ∨ \valid_read(attrs);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) * \old(b));
     ensures
-      initialization: success_or_error:
-        (\result ≡ 0 ∧ \initialized(\old(mutex))) ∨ \result ≡ 11 ∨
-        \result ≡ 12 ∨ \result ≡ 1 ∨ \result ≡ 22;
-    assigns *mutex, \result;
-    assigns *mutex \from *mutex, *attrs;
-    assigns \result \from (indirect: *mutex), (indirect: *attrs);
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_mutex_init(pthread_mutex_t * __restrict mutex,
-                              pthread_mutexattr_t const * __restrict attrs);
+_Bool __builtin_umull_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
 
-/*@ requires mutex_valid: \valid(mutex);
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
     ensures
-      success_or_error:
-        \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨
-        \result ≡ 35;
-    assigns *mutex, \result;
-    assigns *mutex \from *mutex;
-    assigns \result \from (indirect: *mutex);
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned long long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
  */
-extern int pthread_mutex_lock(pthread_mutex_t *mutex);
+_Bool __builtin_umulll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
 
-/*@ requires mutex_valid: \valid(mutex);
-    ensures success_or_error: \result ≡ 0 ∨ \result ≡ 1;
-    assigns *mutex, \result;
-    assigns *mutex \from *mutex;
-    assigns \result \from (indirect: *mutex);
+/*@ requires valid_filename: valid_read_string(filename);
+    assigns \result;
+    assigns \result \from (indirect: *(filename + (0 ..))), (indirect: mode);
  */
-extern int pthread_mutex_unlock(pthread_mutex_t *mutex);
-
-extern char __fc_getpwuid_pw_name[64];
-
-extern char __fc_getpwuid_pw_passwd[64];
-
-extern char __fc_getpwuid_pw_dir[64];
+extern int creat(char const *filename, mode_t mode);
 
-extern char __fc_getpwuid_pw_shell[64];
+/*@ assigns \result;
+    assigns \result \from fd, cmd; */
+extern int fcntl(int fd, int cmd, void * const *__va_params);
 
-struct passwd __fc_pwd =
-  {.pw_name = __fc_getpwuid_pw_name,
-   .pw_passwd = __fc_getpwuid_pw_passwd,
-   .pw_uid = 0U,
-   .pw_gid = 0U,
-   .pw_gecos = (char *)0,
-   .pw_dir = __fc_getpwuid_pw_dir,
-   .pw_shell = __fc_getpwuid_pw_shell};
-struct passwd *__fc_p_pwd = & __fc_pwd;
-/*@ requires valid_name: valid_read_string(name);
-    ensures
-      result_null_or_internal_struct:
-        \result ≡ \null ∨ \result ≡ __fc_p_pwd;
-    assigns \result, __fc_pwd;
-    assigns \result \from __fc_p_pwd, (indirect: *(name + (0 ..)));
-    assigns __fc_pwd \from (indirect: *(name + (0 ..)));
+/*@ requires valid_filename: valid_read_string(filename);
+    assigns \result;
+    assigns \result
+      \from (indirect: *(filename + (0 ..))), (indirect: flags);
  */
-extern struct passwd *getpwnam(char const *name);
+extern int open(char const *filename, int flags, void * const *__va_params);
 
-/*@ ensures
-      result_null_or_internal_struct:
-        \result ≡ \null ∨ \result ≡ __fc_p_pwd;
-    assigns \result, __fc_pwd;
-    assigns \result \from __fc_p_pwd, (indirect: uid);
-    assigns __fc_pwd \from (indirect: uid);
+/*@ requires valid_filename: valid_read_string(filename);
+    assigns \result;
+    assigns \result
+      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
+            (indirect: flags);
  */
-extern struct passwd *getpwuid(uid_t uid);
-
-/*@ assigns *(env + (0 .. 4)); */
-extern int setjmp(int * /*[5]*/ env);
+extern int openat(int dirfd, char const *filename, int flags,
+                  void * const *__va_params);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern void longjmp(int * /*[5]*/ env, int val);
+/*@ requires cmd_has_void_arg: cmd ≡ 1 ∨ cmd ≡ 3 ∨ cmd ≡ 9;
+    assigns \result;
+    assigns \result \from fd, cmd;
+ */
+extern int __va_fcntl_void(int fd, int cmd);
 
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern void siglongjmp(sigjmp_buf env, int val);
+/*@ requires
+      cmd_has_int_arg:
+        cmd ≡ 0 ∨ cmd ≡ 0x406 ∨ cmd ≡ 4 ∨ cmd ≡ 8 ∨ cmd ≡ 2;
+    assigns \result;
+    assigns \result \from fd, cmd, arg;
+ */
+extern int __va_fcntl_int(int fd, int cmd, int arg);
 
-/*@ assigns \result;
-    assigns \result \from (indirect: fd), (indirect: request);
+/*@ requires cmd_as_flock_arg: cmd ≡ 5 ∨ cmd ≡ 6 ∨ cmd ≡ 7;
+    requires valid_arg: \valid(arg);
+    assigns \result, *arg;
+    assigns \result \from fd, cmd, *arg;
+    assigns *arg \from fd, cmd, *arg;
  */
-extern int __va_ioctl_void(int fd, int request);
+extern int __va_fcntl_flock(int fd, int cmd, struct flock *arg);
 
-/*@ assigns \result;
+/*@ requires valid_filename: valid_read_string(filename);
+    requires flag_not_CREAT: (flags & 0x40) ≡ 0;
+    assigns \result;
     assigns \result
-      \from (indirect: fd), (indirect: request), (indirect: arg);
+      \from (indirect: *(filename + (0 ..))), (indirect: flags);
  */
-extern int __va_ioctl_int(int fd, int request, int arg);
+extern int __va_open_void(char const *filename, int flags);
 
-/*@ assigns \result, *((char *)argp + (0 ..));
+/*@ requires valid_filename: valid_read_string(filename);
+    assigns \result;
     assigns \result
-      \from (indirect: fd), (indirect: request),
-            (indirect: *((char *)argp + (0 ..)));
-    assigns *((char *)argp + (0 ..))
-      \from (indirect: fd), (indirect: request), *((char *)argp + (0 ..));
+      \from (indirect: *(filename + (0 ..))), (indirect: flags),
+            (indirect: mode);
  */
-extern int __va_ioctl_ptr(int fd, int request, void *argp);
+extern int __va_open_mode_t(char const *filename, int flags, mode_t mode);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+/*@ requires valid_filename: valid_read_string(filename);
+    requires flag_not_CREAT: (flags & 0x40) ≡ 0;
     assigns \result;
-    assigns \result \from (indirect: fd), (indirect: operation);
+    assigns \result
+      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
+            (indirect: flags);
  */
-extern int flock(int fd, int operation);
-
-CODE facilitynames[23] =
-  {{.c_name = "auth", .c_val = 4 << 3},
-   {.c_name = "authpriv", .c_val = 10 << 3},
-   {.c_name = "cron", .c_val = 9 << 3},
-   {.c_name = "daemon", .c_val = 3 << 3},
-   {.c_name = "ftp", .c_val = 11 << 3},
-   {.c_name = "kern", .c_val = 0 << 3},
-   {.c_name = "lpr", .c_val = 6 << 3},
-   {.c_name = "mail", .c_val = 2 << 3},
-   {.c_name = "mark", .c_val = 24 | 0},
-   {.c_name = "news", .c_val = 7 << 3},
-   {.c_name = "security", .c_val = 4 << 3},
-   {.c_name = "syslog", .c_val = 5 << 3},
-   {.c_name = "user", .c_val = 1 << 3},
-   {.c_name = "uucp", .c_val = 8 << 3},
-   {.c_name = "local0", .c_val = 16 << 3},
-   {.c_name = "local1", .c_val = 17 << 3},
-   {.c_name = "local2", .c_val = 18 << 3},
-   {.c_name = "local3", .c_val = 19 << 3},
-   {.c_name = "local4", .c_val = 20 << 3},
-   {.c_name = "local5", .c_val = 21 << 3},
-   {.c_name = "local6", .c_val = 22 << 3},
-   {.c_name = "local7", .c_val = 23 << 3},
-   {.c_name = (char const *)0, .c_val = -1}};
-CODE prioritynames[13] =
-  {{.c_name = "alert", .c_val = 1},
-   {.c_name = "crit", .c_val = 2},
-   {.c_name = "debug", .c_val = 7},
-   {.c_name = "emerg", .c_val = 0},
-   {.c_name = "err", .c_val = 3},
-   {.c_name = "error", .c_val = 3},
-   {.c_name = "info", .c_val = 6},
-   {.c_name = "none", .c_val = 0x10},
-   {.c_name = "notice", .c_val = 5},
-   {.c_name = "panic", .c_val = 0},
-   {.c_name = "warn", .c_val = 4},
-   {.c_name = "warning", .c_val = 4},
-   {.c_name = (char const *)0, .c_val = -1}};
-/*@ assigns \nothing; */
-extern void closelog(void);
-
-/*@ assigns \nothing; */
-extern void openlog(char const *, int, int);
-
-/*@ assigns \nothing; */
-extern int setlogmask(int);
-
-/*@ assigns \nothing; */
-extern void syslog(int, char const *, void * const *__va_params);
-
-/*@ assigns \nothing; */
-extern void vsyslog(int, char const *, va_list);
-
-/*@ assigns \result;
-    assigns \result \from which, who; */
-extern int getpriority(int which, id_t who);
-
-/*@ assigns \result;
-    assigns \result \from which, who, prio; */
-extern int setpriority(int which, id_t who, int prio);
+extern int __va_openat_void(int dirfd, char const *filename, int flags);
 
-/*@ assigns \result, rl->rlim_cur, rl->rlim_max;
-    assigns \result \from r;
-    assigns rl->rlim_cur \from r;
-    assigns rl->rlim_max \from r;
+/*@ requires valid_filename: valid_read_string(filename);
+    assigns \result;
+    assigns \result
+      \from (indirect: dirfd), (indirect: *(filename + (0 ..))),
+            (indirect: flags), (indirect: mode);
  */
-extern int getrlimit(int r, struct rlimit *rl);
+extern int __va_openat_mode_t(int dirfd, char const *filename, int flags,
+                              mode_t mode);
 
-/*@ assigns \result, ru->ru_utime, ru->ru_stime;
-    assigns \result \from r;
-    assigns ru->ru_utime \from r;
-    assigns ru->ru_stime \from r;
- */
-extern int getrusage(int r, struct rusage *ru);
+/*@ ghost extern int __fc_tz __attribute__((__FRAMA_C_MODEL__)); */
 
 /*@ assigns \result;
-    assigns \result \from r, rl->rlim_cur, rl->rlim_max; */
-extern int setrlimit(int r, struct rlimit const *rl);
+    assigns \result \from *(path + (0 ..)), *(times + (0 .. 1));
+ */
+extern int utimes(char const *path, struct timeval const * /*[2]*/ times);
 
-/*@ requires valid_buffer: \valid(buffer);
-    assigns \result, *buffer;
-    assigns \result \from __fc_time;
-    assigns *buffer \from __fc_time;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result;
+    assigns tv->tv_sec \from __fc_time;
+    assigns tv->tv_usec \from __fc_time;
+    assigns *((struct timezone *)tz) \from __fc_tz;
+    assigns \result
+      \from (indirect: tv), (indirect: tz), *tv, *((struct timezone *)tz),
+            __fc_tz;
+    
+    behavior tv_and_tz_null:
+      assumes null_tv_tz: tv ≡ \null ∧ tz ≡ \null;
+      assigns \result;
+      assigns \result \from (indirect: __fc_tz);
+    
+    behavior tv_not_null:
+      assumes non_null_tv_null_tz: tv ≢ \null ∧ tz ≡ \null;
+      ensures
+        initialization: tv_sec: tv_usec:
+          \initialized(&\old(tv)->tv_sec) ∧
+          \initialized(&\old(tv)->tv_usec);
+      ensures tv_usec_bounded: 0 ≤ \old(tv)->tv_usec ≤ 999999;
+      assigns tv->tv_sec, tv->tv_usec, \result;
+      assigns tv->tv_sec \from (indirect: __fc_time);
+      assigns tv->tv_usec \from (indirect: __fc_time);
+      assigns \result \from (indirect: *tv), (indirect: __fc_tz);
+    
+    behavior tz_not_null:
+      assumes null_tv_non_null_tz: tv ≡ \null ∧ tz ≢ \null;
+      ensures initialization: tz: \initialized((struct timezone *)\old(tz));
+      assigns *((struct timezone *)tz), \result;
+      assigns *((struct timezone *)tz) \from __fc_tz;
+      assigns \result
+        \from (indirect: *((struct timezone *)tz)), (indirect: __fc_tz);
+    
+    behavior tv_and_tz_not_null:
+      assumes non_null_tv_tz: tv ≢ \null ∧ tz ≢ \null;
+      ensures
+        initialization: tv_sec: tv_usec:
+          \initialized(&\old(tv)->tv_sec) ∧
+          \initialized(&\old(tv)->tv_usec);
+      ensures initialization: tz: \initialized((struct timezone *)\old(tz));
+      assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result;
+      assigns tv->tv_sec \from (indirect: __fc_time);
+      assigns tv->tv_usec \from (indirect: __fc_time);
+      assigns *((struct timezone *)tz) \from __fc_tz;
+      assigns \result
+        \from (indirect: *tv), (indirect: *((struct timezone *)tz)),
+              (indirect: __fc_tz);
+    
+    complete behaviors tv_and_tz_not_null,
+                       tz_not_null,
+                       tv_not_null,
+                       tv_and_tz_null;
+    disjoint behaviors tv_and_tz_not_null,
+                       tz_not_null,
+                       tv_not_null,
+                       tv_and_tz_null;
  */
-extern clock_t times(struct tms *buffer);
+extern int gettimeofday(struct timeval * __restrict tv, void * __restrict tz);
 
-/*@ requires valid_read_iov: \valid_read(iov + (0 .. iovcnt - 1));
-    assigns *((char *)(iov + (0 .. iovcnt - 1))->iov_base + (0 ..));
+/*@ assigns \result, __fc_time, __fc_tz;
+    assigns \result
+      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
+    assigns __fc_time
+      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
+    assigns __fc_tz
+      \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest;
  */
-extern ssize_t readv(int fd, struct iovec const *iov, int iovcnt);
+extern int settimeofday(struct timeval const *tv, struct timezone const *tz);
 
-/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0;
-    ensures
-      initialization: stat_loc_init_on_success:
-        \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒
-        \initialized(\old(stat_loc));
-    assigns \result, *stat_loc;
-    assigns \result \from \nothing;
-    assigns *stat_loc \from \nothing;
+/*@ ghost
+  struct itimerval volatile __fc_itimer_real __attribute__((__FRAMA_C_MODEL__));
+  */
+/*@ ghost
+  struct itimerval volatile __fc_itimer_virtual __attribute__((__FRAMA_C_MODEL__));
+  */
+/*@ ghost
+  struct itimerval volatile __fc_itimer_prof __attribute__((__FRAMA_C_MODEL__));
+  */
+/*@ requires valid_curr_value: \valid(curr_value);
+    ensures initialization: curr_value: \initialized(\old(curr_value));
+    assigns \result, *curr_value;
+    assigns \result \from (indirect: which);
+    assigns *curr_value
+      \from __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof;
     
-    behavior stat_loc_null:
-      assumes stat_loc_null: stat_loc ≡ \null;
-      assigns \result;
+    behavior real:
+      assumes itimer_real: which ≡ 0;
+      ensures result_ok: \result ≡ 0;
+      assigns \result, *curr_value;
       assigns \result \from \nothing;
+      assigns *curr_value \from __fc_itimer_real;
     
-    behavior stat_loc_non_null:
-      assumes stat_loc_non_null: stat_loc ≢ \null;
-      requires valid_stat_loc: \valid(stat_loc);
- */
-extern pid_t wait(int *stat_loc);
-
-/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0;
-    ensures
-      initialization: stat_loc_init_on_success:
-        \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒
-        \initialized(\old(stat_loc));
-    assigns \result, *stat_loc;
-    assigns \result \from (indirect: options);
-    assigns *stat_loc \from (indirect: options);
+    behavior virtual:
+      assumes itimer_virtual: which ≡ 1;
+      ensures result_ok: \result ≡ 0;
+      assigns \result, *curr_value;
+      assigns \result \from \nothing;
+      assigns *curr_value \from __fc_itimer_virtual;
+    
+    behavior prof:
+      assumes itimer_prof: which ≡ 2;
+      ensures result_ok: \result ≡ 0;
+      assigns \result, *curr_value;
+      assigns \result \from \nothing;
+      assigns *curr_value \from __fc_itimer_prof;
     
-    behavior stat_loc_null:
-      assumes stat_loc_null: stat_loc ≡ \null;
+    behavior invalid:
+      assumes invalid_which: which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2;
+      ensures result_error: \result ≡ -1;
       assigns \result;
       assigns \result \from \nothing;
     
-    behavior stat_loc_non_null:
-      assumes stat_loc_non_null: stat_loc ≢ \null;
-      requires valid_stat_loc: \valid(stat_loc);
+    complete behaviors invalid, prof, virtual, real;
+    disjoint behaviors invalid, prof, virtual, real;
  */
-extern pid_t waitpid(pid_t pid, int *stat_loc, int options);
+extern int getitimer(int which, struct itimerval *curr_value);
 
-/*@ requires valid_termios_p: \valid(termios_p);
-    assigns \result, *termios_p, Frama_C_entropy_source;
-    assigns \result \from (indirect: fd), (indirect: Frama_C_entropy_source);
-    assigns *termios_p
-      \from (indirect: fd), (indirect: Frama_C_entropy_source);
-    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+/*@ requires valid_new_value: \valid_read(new_value);
+    requires
+      old_value_null_or_valid: old_value ≡ \null ∨ \valid(old_value);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *old_value, \result;
+    assigns *old_value
+      \from (indirect: which), (indirect: old_value), (indirect: new_value),
+            __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof;
+    assigns \result
+      \from (indirect: which), (indirect: new_value), (indirect: *new_value);
     
-    behavior ok:
-      assumes nondet: Frama_C_entropy_source ≡ 0;
-      ensures initialization: termios_p: \initialized(\old(termios_p));
+    behavior real:
+      assumes
+        itimer_real_and_valid:
+          which ≡ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
+          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
       ensures result_ok: \result ≡ 0;
+      ensures initialization: old_value: \initialized(\old(old_value));
+      assigns \result, *old_value, __fc_itimer_real;
+      assigns \result \from \nothing;
+      assigns *old_value \from __fc_itimer_real;
+      assigns __fc_itimer_real \from *new_value;
     
-    behavior error:
-      assumes nondet: Frama_C_entropy_source ≢ 0;
+    behavior virtual:
+      assumes
+        itimer_virtual_and_valid:
+          which ≡ 1 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
+          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
+      ensures result_ok: \result ≡ 0;
+      ensures initialization: old_value: \initialized(\old(old_value));
+      assigns \result, *old_value;
+      assigns \result \from \nothing;
+      assigns *old_value \from __fc_itimer_virtual;
+    
+    behavior prof:
+      assumes
+        itimer_prof_and_valid:
+          which ≡ 2 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
+          0 ≤ new_value->it_interval.tv_usec ≤ 999999;
+      ensures result_ok: \result ≡ 0;
+      ensures initialization: old_value: \initialized(\old(old_value));
+      assigns \result, *old_value;
+      assigns \result \from \nothing;
+      assigns *old_value \from __fc_itimer_prof;
+    
+    behavior invalid:
+      assumes
+        invalid_itimer_or_new_value:
+          (which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2) ∨
+          ¬(0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧
+             0 ≤ new_value->it_interval.tv_usec ≤ 999999);
       ensures result_error: \result ≡ -1;
+      assigns \result;
+      assigns \result \from \nothing;
     
-    complete behaviors error, ok;
-    disjoint behaviors error, ok;
+    disjoint behaviors invalid, prof, virtual, real;
  */
-extern int tcgetattr(int fd, struct termios *termios_p);
+extern int setitimer(int which,
+                     struct itimerval const * __restrict new_value,
+                     struct itimerval * __restrict old_value);
 
-/*@ requires valid_termios_p: \valid(termios_p);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *termios_p, Frama_C_entropy_source, \result;
-    assigns *termios_p
-      \from (indirect: fd), (indirect: optional_actions),
-            (indirect: Frama_C_entropy_source), *termios_p;
-    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+/*@ ghost int volatile __fc_fds_state; */
+/*@ requires nfds: nfds ≥ 0;
+    requires readfs: readfds ≡ \null ∨ \valid(readfds);
+    requires writefds: writefds ≡ \null ∨ \valid(writefds);
+    requires errorfds: errorfds ≡ \null ∨ \valid(errorfds);
+    requires timeout: timeout ≡ \null ∨ \valid(timeout);
+    assigns __fc_fds_state, *readfds, *writefds, *errorfds, *timeout,
+            \result;
+    assigns __fc_fds_state \from __fc_fds_state;
+    assigns *readfds
+      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
+            (indirect: writefds), (indirect: *writefds),
+            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
+            (indirect: *timeout), __fc_fds_state;
+    assigns *writefds
+      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
+            (indirect: writefds), (indirect: *writefds),
+            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
+            (indirect: *timeout), __fc_fds_state;
+    assigns *errorfds
+      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
+            (indirect: writefds), (indirect: *writefds),
+            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
+            (indirect: *timeout), __fc_fds_state;
+    assigns *timeout
+      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
+            (indirect: writefds), (indirect: *writefds),
+            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
+            (indirect: *timeout), __fc_fds_state;
     assigns \result
-      \from (indirect: fd), (indirect: optional_actions),
-            (indirect: Frama_C_entropy_source), (indirect: *termios_p);
+      \from (indirect: nfds), (indirect: readfds), (indirect: *readfds),
+            (indirect: writefds), (indirect: *writefds),
+            (indirect: errorfds), (indirect: *errorfds), (indirect: timeout),
+            (indirect: *timeout), __fc_fds_state;
+    
+    behavior read_notnull:
+      assumes readfds_is_not_null: readfds ≢ \null;
+      ensures initialization: readfds: \initialized(\old(readfds));
+    
+    behavior write_notnull:
+      assumes writefds_is_not_null: writefds ≢ \null;
+      ensures initialization: writefds: \initialized(\old(writefds));
+    
+    behavior error_notnull:
+      assumes errorfds_is_not_null: errorfds ≢ \null;
+      ensures initialization: errorfds: \initialized(\old(errorfds));
+    
+    behavior timeout_notnull:
+      assumes timeout_is_not_null: timeout ≢ \null;
+      ensures initialization: timeout: \initialized(\old(timeout));
  */
-extern int tcsetattr(int fd, int optional_actions, struct termios *termios_p);
+extern int select(int nfds, fd_set *readfds, fd_set *writefds,
+                  fd_set *errorfds, struct timeval *timeout);
 
-/*@ ghost int __fc_fds[1024]; */
 /*@ requires valid_string_path: valid_read_string(path);
-    requires valid_amode: (amode & ~((4 | 2) | 1)) ≡ 0 ∨ amode ≡ 0;
     ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
     assigns \result
-      \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: amode);
+      \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: mode);
  */
-extern int access(char const *path, int amode);
+extern int mkdir(char const *path, mode_t mode);
 
-/*@ requires valid_string_path: valid_read_string(path);
+/*@ requires valid_pathname: valid_read_string(pathname);
+    requires valid_buf: \valid(buf);
     ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: path), (indirect: *(path + (0 ..)));
+    ensures
+      init_on_success: initialization: buf:
+        \result ≡ 0 ⇒ \initialized(\old(buf));
+    assigns \result, *buf;
+    assigns \result \from *(pathname + (0 ..));
+    assigns *buf \from *(pathname + (0 ..));
  */
-extern int chdir(char const *path);
+extern int stat(char const *pathname, struct stat *buf);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: path), (indirect: *(path + (0 ..)));
- */
-extern int chroot(char const *path);
+/*@ assigns \result;
+    assigns \result \from (indirect: cmask); */
+extern mode_t umask(mode_t cmask);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result
-      \from (indirect: path), (indirect: *(path + (0 ..))),
-            (indirect: owner), (indirect: group);
+/*@ assigns *(*(outbuf + (0 .. *outbytesleft - 1))), __fc_errno;
+    assigns *(*(outbuf + (0 .. *outbytesleft - 1)))
+      \from *(*(inbuf + (0 .. *inbytesleft - 1)));
  */
-extern int chown(char const *path, uid_t owner, gid_t group);
+extern size_t iconv(iconv_t cd, char ** __restrict inbuf,
+                    size_t * __restrict inbytesleft,
+                    char ** __restrict outbuf,
+                    size_t * __restrict outbytesleft);
 
-/*@ requires valid_fd: 0 ≤ fd < 1024;
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns __fc_fds[fd], \result;
-    assigns __fc_fds[fd] \from fd, __fc_fds[fd];
-    assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]);
+/*@ ensures result_zero_or_neg: \result ≡ 0 ∨ \result ≡ -1;
+    assigns __fc_errno;
  */
-extern int close(int fd);
+extern int iconv_close(iconv_t);
 
-/*@ requires valid_fildes: 0 ≤ fildes < 1024;
-    ensures
-      result_valid_fildes_or_error:
-        \result ≡ -1 ∨ (\old(fildes) ≤ \result < 1024);
-    assigns __fc_fds[fildes ..], \result;
-    assigns __fc_fds[fildes ..] \from fildes;
-    assigns \result \from fildes;
+/*@ assigns \result, __fc_errno;
+    assigns \result \from *(tocode + (..)), *(fromcode + (..));
  */
-extern int dup(int fildes);
+extern iconv_t iconv_open(char const *tocode, char const *fromcode);
 
-/*@ requires valid_fildes: 0 ≤ fildes < 1024;
-    requires valid_fildes2: 0 ≤ fildes2 < 1024;
+extern char __fc_basename[256];
+
+char *__fc_p_basename = __fc_basename;
+/*@ requires
+      null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path);
     ensures
-      result_fildes2_or_error: \result ≡ \old(fildes2) ∨ \result ≡ -1;
-    assigns __fc_fds[fildes2], \result;
-    assigns __fc_fds[fildes2] \from fildes, fildes2, __fc_fds[fildes2];
-    assigns \result
-      \from fildes, fildes2, __fc_fds[fildes], __fc_fds[fildes2];
+      result_points_to_internal_storage_or_path:
+        \subset(\result, {__fc_p_basename, \old(path)});
+    assigns *(path + (0 ..)), __fc_basename[0 ..], \result;
+    assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_basename[0 ..];
+    assigns __fc_basename[0 ..] \from *(path + (0 ..)), __fc_basename[0 ..];
+    assigns \result \from __fc_p_basename, path;
  */
-extern int dup2(int fildes, int fildes2);
+extern char *basename(char *path);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    requires valid_string_arg: valid_read_string(arg);
-    assigns \result;
-    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
- */
-extern int execl(char const *path, char const *arg, void * const *__va_params);
+extern char __fc_dirname[256];
 
-/*@ requires valid_string_path: valid_read_string(path);
-    requires valid_string_arg: valid_read_string(arg);
-    assigns \result;
-    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
+char *__fc_p_dirname = __fc_dirname;
+/*@ requires
+      null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path);
+    ensures
+      result_points_to_internal_storage_or_path:
+        \subset(\result, {__fc_p_dirname, \old(path)});
+    assigns *(path + (0 ..)), __fc_dirname[0 ..], \result;
+    assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_dirname[0 ..];
+    assigns __fc_dirname[0 ..] \from *(path + (0 ..)), __fc_dirname[0 ..];
+    assigns \result \from __fc_p_dirname, path;
  */
-extern int execle(char const *path, char const *arg,
-                  void * const *__va_params);
+extern char *dirname(char *path);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    requires valid_string_arg: valid_read_string(arg);
-    assigns \result;
-    assigns \result \from *(path + (0 ..)), *(arg + (0 ..));
+/*@ requires valid_file_descriptors: \valid(fds + (0 .. nfds - 1));
+    ensures
+      error_timeout_or_bounded:
+        \result ≡ -1 ∨ \result ≡ 0 ∨ (1 ≤ \result ≤ \old(nfds));
+    ensures
+      initialization: revents:
+        \initialized(&(\old(fds) + (0 .. \old(nfds) - 1))->revents);
+    assigns (fds + (0 .. nfds - 1))->revents, \result;
+    assigns (fds + (0 .. nfds - 1))->revents
+      \from (indirect: (fds + (0 .. nfds - 1))->fd),
+            (fds + (0 .. nfds - 1))->events, (indirect: nfds),
+            (indirect: timeout), (indirect: Frama_C_entropy_source);
+    assigns \result
+      \from (indirect: (fds + (0 .. nfds - 1))->fd),
+            (indirect: (fds + (0 .. nfds - 1))->events), (indirect: nfds),
+            (indirect: timeout), (indirect: Frama_C_entropy_source);
  */
-extern int execlp(char const *path, char const *arg,
-                  void * const *__va_params);
+extern int poll(struct pollfd *fds, nfds_t nfds, int timeout);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    requires valid_string_argv0: valid_read_string(*(argv + 0));
+/*@ requires valid_cond: \valid(cond);
+    ensures sucess: \result ≡ 0;
     assigns \result;
-    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
+    assigns \result \from \nothing;
  */
-extern int execv(char const *path, char * const *argv);
+extern int pthread_cond_broadcast(pthread_cond_t *cond);
 
-/*@ requires valid_path: valid_read_string(path);
-    requires valid_argv0: valid_read_string(*(argv + 0));
+/*@ requires valid_cond: \valid(cond);
+    ensures success_or_error: \result ≡ 0 ∨ \result ≡ 16;
     assigns \result;
-    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
+    assigns \result \from (indirect: *cond);
  */
-extern int execve(char const *path, char * const *argv, char * const *env);
+extern int pthread_cond_destroy(pthread_cond_t *cond);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    requires valid_string_argv0: valid_read_string(*(argv + 0));
-    assigns \result;
-    assigns \result \from *(path + (0 ..)), *(argv + (0 ..));
+/*@ requires valid_cond: \valid(cond);
+    requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr);
+    ensures initialization: cond: \initialized(\old(cond));
+    ensures success: \result ≡ 0;
+    assigns *cond, \result;
+    assigns *cond \from *attr;
+    assigns \result \from \nothing;
  */
-extern int execvp(char const *path, char * const *argv);
-
-/*@ ensures never_terminates: \false;
-    assigns \nothing; */
-extern  __attribute__((__noreturn__)) void _exit(int);
+extern int pthread_cond_init(pthread_cond_t * __restrict cond,
+                             pthread_condattr_t const * __restrict attr);
 
-/*@ ensures
-      result_ok_child_or_error:
-        \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
+/*@ requires valid_cond: \valid(cond);
+    requires valid_mutex: \valid(mutex);
+    ensures success: \result ≡ 0;
     assigns \result;
     assigns \result \from \nothing;
  */
-extern pid_t fork(void);
+extern int pthread_cond_wait(pthread_cond_t * __restrict cond,
+                             pthread_mutex_t * __restrict mutex);
 
-/*@ requires valid_buf: \valid(buf + (0 .. size - 1));
-    ensures result_ok_or_error: \result ≡ \null ∨ \result ≡ \old(buf);
-    assigns *(buf + (0 .. size - 1)), \result;
-    assigns *(buf + (0 .. size - 1)) \from (indirect: buf), (indirect: size);
-    assigns \result \from buf, (indirect: size);
+/*@ requires valid_thread: \valid(thread);
+    requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr);
+    requires valid_routine: \valid_function(start_routine);
+    requires valid_null_arg: arg ≡ \null ∨ \valid((char *)arg);
+    ensures
+      success_or_error:
+        \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ \result ≡ 1;
+    assigns *thread, \result;
+    assigns *thread \from *attr;
+    assigns \result \from (indirect: *attr);
  */
-extern char *getcwd(char *buf, size_t size);
-
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern gid_t getegid(void);
-
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern uid_t geteuid(void);
-
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern gid_t getgid(void);
+extern int pthread_create(pthread_t * __restrict thread,
+                          pthread_attr_t const * __restrict attr,
+                          void *(*start_routine)(void *),
+                          void * __restrict arg);
 
-extern char volatile __fc_hostname[64];
+/*@ requires valid_or_null_retval: retval ≡ \null ∨ \valid(retval);
+    ensures
+      success_or_error:
+        \result ≡ 0 ∨ \result ≡ 35 ∨ \result ≡ 22 ∨ \result ≡ 3;
+    assigns *retval, \result;
+    assigns *retval \from thread;
+    assigns \result \from (indirect: thread);
+    
+    behavior ignore_retval:
+      assumes null_retval: retval ≡ \null;
+      assigns \result;
+      assigns \result \from (indirect: thread);
+    
+    behavior use_retval:
+      assumes valid_retval: \valid(retval);
+      assigns *retval, \result;
+      assigns *retval \from thread;
+      assigns \result \from (indirect: thread);
+ */
+extern int pthread_join(pthread_t thread, void **retval);
 
-/*@ requires name_has_room: \valid(name + (0 .. len - 1));
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, *(name + (0 .. len - 1));
-    assigns \result
-      \from (indirect: __fc_hostname[0 .. len]), (indirect: len);
-    assigns *(name + (0 .. len - 1))
-      \from (indirect: __fc_hostname[0 .. len]), (indirect: len);
+/*@ requires mutex_valid: \valid(mutex);
+    ensures init_or_busy: \result ≡ 0 ∨ \result ≡ 16;
+    assigns *mutex, \result;
+    assigns *mutex \from *mutex;
+    assigns \result \from (indirect: *mutex);
  */
-extern int gethostname(char *name, size_t len);
+extern int pthread_mutex_destroy(pthread_mutex_t *mutex);
 
-/*@ requires name_valid_string: valid_read_nstring(name, len);
-    requires bounded_len: len ≤ 64;
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns __fc_hostname[0 .. len], \result;
-    assigns __fc_hostname[0 .. len]
-      \from *(name + (0 .. len - 1)), (indirect: len);
-    assigns \result \from (indirect: __fc_hostname[0 .. len]);
+/*@ requires mutex_valid: \valid(mutex);
+    requires attrs_valid_or_null: attrs ≡ \null ∨ \valid_read(attrs);
+    ensures
+      initialization: success_or_error:
+        (\result ≡ 0 ∧ \initialized(\old(mutex))) ∨ \result ≡ 11 ∨
+        \result ≡ 12 ∨ \result ≡ 1 ∨ \result ≡ 22;
+    assigns *mutex, \result;
+    assigns *mutex \from *mutex, *attrs;
+    assigns \result \from (indirect: *mutex), (indirect: *attrs);
  */
-extern int sethostname(char const *name, size_t len);
+extern int pthread_mutex_init(pthread_mutex_t * __restrict mutex,
+                              pthread_mutexattr_t const * __restrict attrs);
 
-/*@ assigns \result;
-    assigns \result \from (indirect: pid); */
-extern pid_t getpgid(pid_t pid);
+/*@ requires mutex_valid: \valid(mutex);
+    ensures
+      success_or_error:
+        \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨
+        \result ≡ 35;
+    assigns *mutex, \result;
+    assigns *mutex \from *mutex;
+    assigns \result \from (indirect: *mutex);
+ */
+extern int pthread_mutex_lock(pthread_mutex_t *mutex);
 
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern pid_t getpgrp(void);
+/*@ requires mutex_valid: \valid(mutex);
+    ensures success_or_error: \result ≡ 0 ∨ \result ≡ 1;
+    assigns *mutex, \result;
+    assigns *mutex \from *mutex;
+    assigns \result \from (indirect: *mutex);
+ */
+extern int pthread_mutex_unlock(pthread_mutex_t *mutex);
 
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern pid_t getpid(void);
+extern char __fc_getpwuid_pw_name[64];
 
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern pid_t getppid(void);
+extern char __fc_getpwuid_pw_passwd[64];
 
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern pid_t getsid(pid_t);
+extern char __fc_getpwuid_pw_dir[64];
 
-/*@ assigns \result;
-    assigns \result \from \nothing; */
-extern uid_t getuid(void);
+extern char __fc_getpwuid_pw_shell[64];
 
-/*@ ensures result_true_or_false: \result ≡ 0 ∨ \result ≡ 1;
-    assigns \result;
-    assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]);
+struct passwd __fc_pwd =
+  {.pw_name = __fc_getpwuid_pw_name,
+   .pw_passwd = __fc_getpwuid_pw_passwd,
+   .pw_uid = 0U,
+   .pw_gid = 0U,
+   .pw_gecos = (char *)0,
+   .pw_dir = __fc_getpwuid_pw_dir,
+   .pw_shell = __fc_getpwuid_pw_shell};
+struct passwd *__fc_p_pwd = & __fc_pwd;
+/*@ requires valid_name: valid_read_string(name);
+    ensures
+      result_null_or_internal_struct:
+        \result ≡ \null ∨ \result ≡ __fc_p_pwd;
+    assigns \result, __fc_pwd;
+    assigns \result \from __fc_p_pwd, (indirect: *(name + (0 ..)));
+    assigns __fc_pwd \from (indirect: *(name + (0 ..)));
  */
-extern int isatty(int fd);
+extern struct passwd *getpwnam(char const *name);
 
-/*@ requires valid_fd: 0 ≤ fd < 1024;
-    requires valid_whence: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2;
-    ensures result_error_or_offset: \result ≡ -1 ∨ 0 ≤ \result;
-    assigns \result, __fc_fds[fd];
-    assigns \result
-      \from (indirect: fd), (indirect: __fc_fds[fd]), (indirect: offset),
-            (indirect: whence);
-    assigns __fc_fds[fd]
-      \from (indirect: fd), __fc_fds[fd], (indirect: offset),
-            (indirect: whence);
+/*@ ensures
+      result_null_or_internal_struct:
+        \result ≡ \null ∨ \result ≡ __fc_p_pwd;
+    assigns \result, __fc_pwd;
+    assigns \result \from __fc_p_pwd, (indirect: uid);
+    assigns __fc_pwd \from (indirect: uid);
  */
-extern off_t lseek(int fd, off_t offset, int whence);
+extern struct passwd *getpwuid(uid_t uid);
 
-/*@ requires valid_path: valid_read_string(path);
-    assigns \result;
-    assigns \result \from (indirect: *(path + (0 ..))), (indirect: name);
- */
-extern long pathconf(char const *path, int name);
+/*@ assigns *(env + (0 .. 4)); */
+extern int setjmp(int * /*[5]*/ env);
 
-/*@ ensures initialization: pipefd: \initialized(\old(pipefd) + (0 .. 1));
-    ensures valid_fd0: 0 ≤ *(\old(pipefd) + 0) < 1024;
-    ensures valid_fd1: 0 ≤ *(\old(pipefd) + 1) < 1024;
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns *(pipefd + (0 .. 1)), \result;
-    assigns *(pipefd + (0 .. 1)) \from (indirect: __fc_fds[0 ..]);
-    assigns \result \from (indirect: __fc_fds[0 ..]);
- */
-extern int pipe(int * /*[2]*/ pipefd);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern void longjmp(int * /*[5]*/ env, int val);
 
-/*@ requires valid_fd: 0 ≤ fd < 1024;
-    requires buf_has_room: \valid((char *)buf + (0 .. count - 1));
-    ensures
-      result_error_or_read_length:
-        (0 ≤ \result ≤ \old(count)) ∨ \result ≡ -1;
-    ensures
-      initialization: buf:
-        \initialized((char *)\old(buf) + (0 .. \result - 1));
-    assigns __fc_fds[fd], \result, *((char *)buf + (0 .. count - 1));
-    assigns __fc_fds[fd] \from __fc_fds[fd];
-    assigns \result \from (indirect: __fc_fds[fd]), (indirect: count);
-    assigns *((char *)buf + (0 .. count - 1))
-      \from (indirect: __fc_fds[fd]), (indirect: count);
- */
-extern ssize_t read(int fd, void *buf, size_t count);
+/*@ ensures never_terminates: \false;
+    assigns \nothing; */
+extern void siglongjmp(sigjmp_buf env, int val);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: gid);
+/*@ assigns \result;
+    assigns \result \from (indirect: fd), (indirect: request);
  */
-extern int setegid(gid_t gid);
+extern int __va_ioctl_void(int fd, int request);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: uid);
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: fd), (indirect: request), (indirect: arg);
  */
-extern int seteuid(uid_t uid);
+extern int __va_ioctl_int(int fd, int request, int arg);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: gid);
+/*@ assigns \result, *((char *)argp + (0 ..));
+    assigns \result
+      \from (indirect: fd), (indirect: request),
+            (indirect: *((char *)argp + (0 ..)));
+    assigns *((char *)argp + (0 ..))
+      \from (indirect: fd), (indirect: request), *((char *)argp + (0 ..));
  */
-extern int setgid(gid_t gid);
+extern int __va_ioctl_ptr(int fd, int request, void *argp);
 
 /*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
-    assigns \result \from (indirect: pid), (indirect: pgid);
+    assigns \result \from (indirect: fd), (indirect: operation);
  */
-extern int setpgid(pid_t pid, pid_t pgid);
+extern int flock(int fd, int operation);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: rgid), (indirect: egid);
- */
-extern int setregid(gid_t rgid, gid_t egid);
+CODE facilitynames[23] =
+  {{.c_name = "auth", .c_val = 4 << 3},
+   {.c_name = "authpriv", .c_val = 10 << 3},
+   {.c_name = "cron", .c_val = 9 << 3},
+   {.c_name = "daemon", .c_val = 3 << 3},
+   {.c_name = "ftp", .c_val = 11 << 3},
+   {.c_name = "kern", .c_val = 0 << 3},
+   {.c_name = "lpr", .c_val = 6 << 3},
+   {.c_name = "mail", .c_val = 2 << 3},
+   {.c_name = "mark", .c_val = 24 | 0},
+   {.c_name = "news", .c_val = 7 << 3},
+   {.c_name = "security", .c_val = 4 << 3},
+   {.c_name = "syslog", .c_val = 5 << 3},
+   {.c_name = "user", .c_val = 1 << 3},
+   {.c_name = "uucp", .c_val = 8 << 3},
+   {.c_name = "local0", .c_val = 16 << 3},
+   {.c_name = "local1", .c_val = 17 << 3},
+   {.c_name = "local2", .c_val = 18 << 3},
+   {.c_name = "local3", .c_val = 19 << 3},
+   {.c_name = "local4", .c_val = 20 << 3},
+   {.c_name = "local5", .c_val = 21 << 3},
+   {.c_name = "local6", .c_val = 22 << 3},
+   {.c_name = "local7", .c_val = 23 << 3},
+   {.c_name = (char const *)0, .c_val = -1}};
+CODE prioritynames[13] =
+  {{.c_name = "alert", .c_val = 1},
+   {.c_name = "crit", .c_val = 2},
+   {.c_name = "debug", .c_val = 7},
+   {.c_name = "emerg", .c_val = 0},
+   {.c_name = "err", .c_val = 3},
+   {.c_name = "error", .c_val = 3},
+   {.c_name = "info", .c_val = 6},
+   {.c_name = "none", .c_val = 0x10},
+   {.c_name = "notice", .c_val = 5},
+   {.c_name = "panic", .c_val = 0},
+   {.c_name = "warn", .c_val = 4},
+   {.c_name = "warning", .c_val = 4},
+   {.c_name = (char const *)0, .c_val = -1}};
+/*@ assigns \nothing; */
+extern void closelog(void);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: ruid), (indirect: euid);
- */
-extern int setreuid(uid_t ruid, uid_t euid);
+/*@ assigns \nothing; */
+extern void openlog(char const *, int, int);
 
-/*@ ensures result_pgid_or_error: \result ≡ -1 ∨ \result ≥ 0;
-    assigns \result;
-    assigns \result \from \nothing;
- */
-extern pid_t setsid(void);
+/*@ assigns \nothing; */
+extern int setlogmask(int);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from (indirect: uid);
- */
-extern int setuid(uid_t uid);
+/*@ assigns \nothing; */
+extern void syslog(int, char const *, void * const *__va_params);
 
 /*@ assigns \nothing; */
-extern void sync(void);
+extern void vsyslog(int, char const *, va_list);
 
 /*@ assigns \result;
-    assigns \result \from (indirect: name); */
-extern long sysconf(int name);
+    assigns \result \from which, who; */
+extern int getpriority(int which, id_t who);
 
-extern char volatile __fc_ttyname[32];
+/*@ assigns \result;
+    assigns \result \from which, who, prio; */
+extern int setpriority(int which, id_t who, int prio);
 
-char *__fc_p_ttyname = (char *)(__fc_ttyname);
-/*@ ensures
-      result_name_or_null: \result ≡ __fc_p_ttyname ∨ \result ≡ \null;
-    assigns \result;
-    assigns \result \from __fc_p_ttyname, (indirect: fildes);
+/*@ assigns \result, rl->rlim_cur, rl->rlim_max;
+    assigns \result \from r;
+    assigns rl->rlim_cur \from r;
+    assigns rl->rlim_max \from r;
  */
-extern char *ttyname(int fildes);
+extern int getrlimit(int r, struct rlimit *rl);
 
-/*@ requires valid_string_path: valid_read_string(path);
-    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result \from *(path + (0 ..));
+/*@ assigns \result, ru->ru_utime, ru->ru_stime;
+    assigns \result \from r;
+    assigns ru->ru_utime \from r;
+    assigns ru->ru_stime \from r;
  */
-extern int unlink(char const *path);
+extern int getrusage(int r, struct rusage *ru);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, Frama_C_entropy_source;
-    assigns \result
-      \from (indirect: usec), (indirect: Frama_C_entropy_source);
-    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
- */
-extern int usleep(useconds_t usec);
+/*@ assigns \result;
+    assigns \result \from r, rl->rlim_cur, rl->rlim_max; */
+extern int setrlimit(int r, struct rlimit const *rl);
 
-/*@ requires valid_fd: 0 ≤ fd < 1024;
-    requires buf_has_room: \valid_read((char *)buf + (0 .. count - 1));
-    ensures
-      result_error_or_written_bytes:
-        \result ≡ -1 ∨ (0 ≤ \result ≤ \old(count));
-    assigns __fc_fds[fd], \result;
-    assigns __fc_fds[fd]
-      \from (indirect: fd), (indirect: count), __fc_fds[fd];
-    assigns \result
-      \from (indirect: fd), (indirect: count), (indirect: __fc_fds[fd]);
+/*@ requires valid_buffer: \valid(buffer);
+    assigns \result, *buffer;
+    assigns \result \from __fc_time;
+    assigns *buffer \from __fc_time;
  */
-extern ssize_t write(int fd, void const *buf, size_t count);
+extern clock_t times(struct tms *buffer);
 
-/*@ requires valid_ruid: \valid(ruid);
-    requires valid_euid: \valid(suid);
-    requires valid_suid: \valid(euid);
+/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0;
     ensures
-      initialization: result_ok_or_error:
-        (\result ≡ 0 ∧ \initialized(\old(ruid)) ∧
-         \initialized(\old(euid)) ∧ \initialized(\old(suid))) ∨
-        \result ≡ -1;
-    assigns *ruid, *euid, *suid, \result;
-    assigns *ruid \from \nothing;
-    assigns *euid \from \nothing;
-    assigns *suid \from \nothing;
-    assigns \result
-      \from (indirect: ruid), (indirect: euid), (indirect: suid);
+      initialization: stat_loc_init_on_success:
+        \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒
+        \initialized(\old(stat_loc));
+    assigns \result, *stat_loc;
+    assigns \result \from \nothing;
+    assigns *stat_loc \from \nothing;
+    
+    behavior stat_loc_null:
+      assumes stat_loc_null: stat_loc ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+    
+    behavior stat_loc_non_null:
+      assumes stat_loc_non_null: stat_loc ≢ \null;
+      requires valid_stat_loc: \valid(stat_loc);
  */
-int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
+extern pid_t wait(int *stat_loc);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
-    assigns \result
-      \from (indirect: ruid), (indirect: euid), (indirect: suid);
+/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0;
+    ensures
+      initialization: stat_loc_init_on_success:
+        \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒
+        \initialized(\old(stat_loc));
+    assigns \result, *stat_loc;
+    assigns \result \from (indirect: options);
+    assigns *stat_loc \from (indirect: options);
+    
+    behavior stat_loc_null:
+      assumes stat_loc_null: stat_loc ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+    
+    behavior stat_loc_non_null:
+      assumes stat_loc_non_null: stat_loc ≢ \null;
+      requires valid_stat_loc: \valid(stat_loc);
  */
-int setresuid(uid_t ruid, uid_t euid, uid_t suid);
+extern pid_t waitpid(pid_t pid, int *stat_loc, int options);
 
-/*@ requires valid_rgid: \valid(rgid);
-    requires valid_egid: \valid(sgid);
-    requires valid_sgid: \valid(egid);
-    ensures
-      initialization: result_ok_or_error:
-        (\result ≡ 0 ∧ \initialized(\old(rgid)) ∧
-         \initialized(\old(egid)) ∧ \initialized(\old(sgid))) ∨
-        \result ≡ -1;
-    assigns *rgid, *egid, *sgid, \result;
-    assigns *rgid \from \nothing;
-    assigns *egid \from \nothing;
-    assigns *sgid \from \nothing;
-    assigns \result
-      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
+/*@ requires valid_termios_p: \valid(termios_p);
+    assigns \result, *termios_p, Frama_C_entropy_source;
+    assigns \result \from (indirect: fd), (indirect: Frama_C_entropy_source);
+    assigns *termios_p
+      \from (indirect: fd), (indirect: Frama_C_entropy_source);
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+    
+    behavior ok:
+      assumes nondet: Frama_C_entropy_source ≡ 0;
+      ensures initialization: termios_p: \initialized(\old(termios_p));
+      ensures result_ok: \result ≡ 0;
+    
+    behavior error:
+      assumes nondet: Frama_C_entropy_source ≢ 0;
+      ensures result_error: \result ≡ -1;
+    
+    complete behaviors error, ok;
+    disjoint behaviors error, ok;
  */
-int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
+extern int tcgetattr(int fd, struct termios *termios_p);
 
-/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result;
+/*@ requires valid_termios_p: \valid(termios_p);
+    ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns *termios_p, Frama_C_entropy_source, \result;
+    assigns *termios_p
+      \from (indirect: fd), (indirect: optional_actions),
+            (indirect: Frama_C_entropy_source), *termios_p;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
     assigns \result
-      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
+      \from (indirect: fd), (indirect: optional_actions),
+            (indirect: Frama_C_entropy_source), (indirect: *termios_p);
  */
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+extern int tcsetattr(int fd, int optional_actions, struct termios *termios_p);
 
 void main(void)
 {
diff --git a/tests/libc/oracle/fc_libc.3.res.oracle b/tests/libc/oracle/fc_libc.3.res.oracle
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5d4b6982df1e929a36eb1f4f623ad3ca169e8c76 100644
--- a/tests/libc/oracle/fc_libc.3.res.oracle
+++ b/tests/libc/oracle/fc_libc.3.res.oracle
@@ -0,0 +1,5 @@
+[kernel] Parsing tests/libc/fc_libc.c (with preprocessing)
+[kernel] parsing c11_functions.json
+[kernel] parsing glibc_functions.json
+[kernel] parsing posix_identifiers.json
+[kernel] parsing nonstandard_identifiers.json
diff --git a/tests/libc/oracle/fc_libc.4.res.oracle b/tests/libc/oracle/fc_libc.4.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/libc/oracle/inttypes_h.0.res.oracle b/tests/libc/oracle/inttypes_h.0.res.oracle
index eaaa132d690dde79c31b64fed1258454417d0d00..aa91e7cdb995b263008e7086a223d16076671962 100644
--- a/tests/libc/oracle/inttypes_h.0.res.oracle
+++ b/tests/libc/oracle/inttypes_h.0.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.1.res.oracle b/tests/libc/oracle/inttypes_h.1.res.oracle
index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644
--- a/tests/libc/oracle/inttypes_h.1.res.oracle
+++ b/tests/libc/oracle/inttypes_h.1.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.2.res.oracle b/tests/libc/oracle/inttypes_h.2.res.oracle
index a70f22663383c9b382e0ba42f879d9fb625fa700..0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd 100644
--- a/tests/libc/oracle/inttypes_h.2.res.oracle
+++ b/tests/libc/oracle/inttypes_h.2.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.3.res.oracle b/tests/libc/oracle/inttypes_h.3.res.oracle
index eaaa132d690dde79c31b64fed1258454417d0d00..aa91e7cdb995b263008e7086a223d16076671962 100644
--- a/tests/libc/oracle/inttypes_h.3.res.oracle
+++ b/tests/libc/oracle/inttypes_h.3.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.4.res.oracle b/tests/libc/oracle/inttypes_h.4.res.oracle
index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644
--- a/tests/libc/oracle/inttypes_h.4.res.oracle
+++ b/tests/libc/oracle/inttypes_h.4.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.5.res.oracle b/tests/libc/oracle/inttypes_h.5.res.oracle
index a70f22663383c9b382e0ba42f879d9fb625fa700..0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd 100644
--- a/tests/libc/oracle/inttypes_h.5.res.oracle
+++ b/tests/libc/oracle/inttypes_h.5.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.6.res.oracle b/tests/libc/oracle/inttypes_h.6.res.oracle
index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644
--- a/tests/libc/oracle/inttypes_h.6.res.oracle
+++ b/tests/libc/oracle/inttypes_h.6.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/libc/oracle/inttypes_h.7.res.oracle b/tests/libc/oracle/inttypes_h.7.res.oracle
index 6a5939c36733097f68a48520a54e40a8899a5d42..3d0465864946bd5875dd922dbf133c2359f4c33a 100644
--- a/tests/libc/oracle/inttypes_h.7.res.oracle
+++ b/tests/libc/oracle/inttypes_h.7.res.oracle
@@ -11,7 +11,8 @@
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned __int64 param0);
     ensures \initialized(param0);
     assigns \result, __fc_stdin->__fc_FILE_data, *param0;
     assigns \result
-      \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
+      \from (indirect: __fc_stdin->__fc_FILE_id),
+            (indirect: __fc_stdin->__fc_FILE_data),
             (indirect: *(format + (0 ..)));
     assigns __fc_stdin->__fc_FILE_data
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
@@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned __int64 *param0);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/metrics/oracle/libc.1.res.oracle b/tests/metrics/oracle/libc.1.res.oracle
index 890b92c6ed6f4576aded31faf97765ab72a9cf68..8c8f0e6b9987c0efcc1d96fb117a3d40096d755c 100644
--- a/tests/metrics/oracle/libc.1.res.oracle
+++ b/tests/metrics/oracle/libc.1.res.oracle
@@ -4,31 +4,46 @@
    bar (1 call); f (0 call); foo (1 call); g (address taken) (0 call);
    getopt (1 call); main (0 call); 
   
-  Undefined functions (70)
-  ========================
-   clearerr (0 call); clearerr_unlocked (0 call); fclose (0 call);
-   fdopen (0 call); feof (0 call); feof_unlocked (0 call); ferror (0 call);
-   ferror_unlocked (0 call); fflush (0 call); fgetc (0 call); fgetpos (0 call);
-   fgets (0 call); fileno (0 call); fileno_unlocked (0 call);
-   flockfile (0 call); fopen (0 call); fputc (0 call); fputs (0 call);
+  Undefined functions (120)
+  =========================
+   _exit (0 call); access (0 call); chdir (0 call); chown (0 call);
+   chroot (0 call); clearerr (0 call); clearerr_unlocked (0 call);
+   close (0 call); dup (0 call); dup2 (0 call); execl (0 call);
+   execle (0 call); execlp (0 call); execv (0 call); execve (0 call);
+   execvp (0 call); fclose (0 call); fdopen (0 call); feof (0 call);
+   feof_unlocked (0 call); ferror (0 call); ferror_unlocked (0 call);
+   fflush (0 call); fgetc (0 call); fgetpos (0 call); fgets (0 call);
+   fileno (0 call); fileno_unlocked (0 call); flockfile (0 call);
+   fopen (0 call); fork (0 call); fputc (0 call); fputs (0 call);
    fread (0 call); freopen (0 call); fseek (0 call); fsetpos (0 call);
    ftell (0 call); ftrylockfile (0 call); funlockfile (0 call);
    fwrite (0 call); getc (0 call); getc_unlocked (0 call); getchar (1 call);
-   getchar_unlocked (0 call); getopt_long (0 call); getopt_long_only (0 call);
-   gets (0 call); isalnum (0 call); isalpha (1 call); isascii (0 call);
+   getchar_unlocked (0 call); getcwd (0 call); getegid (0 call);
+   geteuid (0 call); getgid (0 call); gethostname (0 call);
+   getopt_long (0 call); getopt_long_only (0 call); getpgid (0 call);
+   getpgrp (0 call); getpid (0 call); getppid (0 call); getresgid (0 call);
+   getresuid (0 call); gets (0 call); getsid (0 call); getuid (0 call);
+   isalnum (0 call); isalpha (1 call); isascii (0 call); isatty (0 call);
    isblank (1 call); iscntrl (0 call); isdigit (0 call); isgraph (0 call);
    islower (0 call); isprint (0 call); ispunct (0 call); isspace (0 call);
-   isupper (0 call); isxdigit (0 call); pclose (0 call); perror (0 call);
-   popen (0 call); putc (0 call); putc_unlocked (0 call); putchar (0 call);
-   putchar_unlocked (0 call); puts (0 call); remove (0 call); rename (0 call);
-   rewind (0 call); setbuf (0 call); setvbuf (0 call); tmpfile (0 call);
-   tmpnam (0 call); tolower (0 call); toupper (0 call); ungetc (0 call);
-   vfprintf (0 call); vfscanf (0 call); vprintf (0 call); vscanf (0 call);
-   vsnprintf (0 call); vsprintf (0 call); 
+   isupper (0 call); isxdigit (0 call); lseek (0 call); pathconf (0 call);
+   pclose (0 call); perror (0 call); pipe (0 call); popen (0 call);
+   putc (0 call); putc_unlocked (0 call); putchar (0 call);
+   putchar_unlocked (0 call); puts (0 call); read (0 call); remove (0 call);
+   rename (0 call); rewind (0 call); setbuf (0 call); setegid (0 call);
+   seteuid (0 call); setgid (0 call); sethostname (0 call); setpgid (0 call);
+   setregid (0 call); setresgid (0 call); setresuid (0 call);
+   setreuid (0 call); setsid (0 call); setuid (0 call); setvbuf (0 call);
+   sync (0 call); sysconf (0 call); tmpfile (0 call); tmpnam (0 call);
+   tolower (0 call); toupper (0 call); ttyname (0 call); ungetc (0 call);
+   unlink (0 call); usleep (0 call); vfprintf (0 call); vfscanf (0 call);
+   vprintf (0 call); vscanf (0 call); vsnprintf (0 call); vsprintf (0 call);
+   write (0 call); 
   
-  'Extern' global variables (7)
-  =============================
-   __fc_errno; __fc_stdin; __fc_stdout; optarg; opterr; optind; optopt
+  'Extern' global variables (10)
+  ==============================
+   Frama_C_entropy_source; __fc_errno; __fc_hostname; __fc_stdin; __fc_stdout;
+   __fc_ttyname; optarg; opterr; optind; optopt
   
   Potential entry points (2)
   ==========================
@@ -38,13 +53,13 @@
   ============== 
   Sloc = 17
   Decision point = 0
-  Global variables = 10
+  Global variables = 15
   If = 0
   Loop = 0
   Goto = 0
   Assignment = 8
   Exit point = 6
-  Function = 76
+  Function = 126
   Function call = 7
   Pointer dereferencing = 1
   Cyclomatic complexity = 6
@@ -72,7 +87,7 @@
   ----------------------------------------------------------------------------
 [metrics] Eva coverage statistics
   =======================
-  Syntactically reachable functions = 7 (out of 76)
+  Syntactically reachable functions = 7 (out of 126)
   Semantically reached functions = 7
   Coverage estimation = 100.0%
 [metrics] References to non-analyzed functions
diff --git a/tests/spec/clash_double_file_bts1598.c b/tests/spec/clash_double_file_bts1598.c
index ca549981a5bf117bea05f296554329ef7ebe4e0d..b30f925efab799c5b1c0a2e6306285564e878cac 100644
--- a/tests/spec/clash_double_file_bts1598.c
+++ b/tests/spec/clash_double_file_bts1598.c
@@ -11,7 +11,7 @@ OPT: @PTEST_FILE@ -cpp-extra-args " -Ishare/libc -nostdinc" -print -then -ocode
 #include "errno.h"
 //#include "fenv.h"
 #include "float.h"
-#include "getopt.h"
+//#include "getopt.h"
 #include "inttypes.h"
 #include "iso646.h"
 #include "limits.h"
diff --git a/tests/spec/oracle/clash_double_file_bts1598.res.oracle b/tests/spec/oracle/clash_double_file_bts1598.res.oracle
index 0d80a00c1cdb044b88426c7bb655da8ae430b220..2728223ed5ea566f5b7b4c38f505e9c1c973a741 100644
--- a/tests/spec/oracle/clash_double_file_bts1598.res.oracle
+++ b/tests/spec/oracle/clash_double_file_bts1598.res.oracle
@@ -4,7 +4,6 @@
 #include "assert.h"
 #include "ctype.h"
 #include "errno.h"
-#include "getopt.h"
 #include "inttypes.h"
 #include "locale.h"
 #include "math.h"
@@ -26,7 +25,6 @@
 #include "assert.h"
 #include "ctype.h"
 #include "errno.h"
-#include "getopt.h"
 #include "inttypes.h"
 #include "locale.h"
 #include "math.h"
diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
index 0300123cdfbf01077c59d4444adf412a34f2d27c..82356c88912a5399d65f6a83082fc020f5d4d65b 100644
--- a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
+++ b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
@@ -34,7 +34,8 @@ int g1(int y)
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -46,8 +47,9 @@ int printf_va_1(char const * __restrict format);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param1 + (0 ..)), param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -59,8 +61,8 @@ int printf_va_2(char const * __restrict format, int param0, char *param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
index 1ec4c4a71b0e1cb79cb80015b4b33e280d12c0b7..36fe37928dee76890efb7194176a5371c20d82f9 100644
--- a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
+++ b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
@@ -24,7 +24,8 @@ int g(int y)
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..)));
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
@@ -36,8 +37,9 @@ int printf_va_1(char const * __restrict format);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            *(param1 + (0 ..)), param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))),
+            (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
@@ -49,8 +51,8 @@ int printf_va_2(char const * __restrict format, int param0, char *param1);
     assigns \result, __fc_stdout->__fc_FILE_data;
     assigns \result
       \from (indirect: __fc_stdout->__fc_FILE_id),
-            __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
-            param0;
+            (indirect: __fc_stdout->__fc_FILE_data),
+            (indirect: *(format + (0 ..))), (indirect: param0);
     assigns __fc_stdout->__fc_FILE_data
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),