diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index 46728f67158b574cdc4d57a131dabe62f6f58a01..a2efff415c7dee5659702179d034535673b1df7a 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -1444,6 +1444,8 @@ src/plugins/value/engine/compute_functions.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/compute_functions.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/evaluation.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/evaluation.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/value/engine/function_calls.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/value/engine/function_calls.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/initialization.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/initialization.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/engine/iterator.ml: CEA_LGPL_OR_PROPRIETARY
@@ -1498,6 +1500,8 @@ src/plugins/value/partitioning/trace_partitioning.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/partitioning/trace_partitioning.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/abstract.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/abstract.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/value/utils/active_behaviors.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/value/utils/active_behaviors.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/backward_formals.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/backward_formals.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/eva_annotations.ml: CEA_LGPL_OR_PROPRIETARY
@@ -1518,8 +1522,6 @@ src/plugins/value/utils/red_statuses.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/red_statuses.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/library_functions.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/library_functions.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/value/utils/mark_noresults.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/value/utils/mark_noresults.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/results.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/results.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/value/utils/structure.ml: CEA_LGPL_OR_PROPRIETARY
diff --git a/ivette/src/dome/renderer/controls/icons.tsx b/ivette/src/dome/renderer/controls/icons.tsx
index 77a35a1b31bb8fe0b5f3804fe51dcc6daa662e7a..7c7fdde6ef9da3aae74351673472cdb51085e43b 100644
--- a/ivette/src/dome/renderer/controls/icons.tsx
+++ b/ivette/src/dome/renderer/controls/icons.tsx
@@ -59,6 +59,8 @@ export interface SVGprops {
      Default is set to `-0.125` times the size).
    */
   offset?: number;
+  className?: string;
+  fill?: string;
 }
 
 /**
@@ -66,7 +68,7 @@ export interface SVGprops {
    Only returns the identified `<svg/>` element from Icon base.
  */
 export function SVG(props: SVGprops): null | JSX.Element {
-  const { id } = props;
+  const { id, className, fill } = props;
   if (!id) return null;
   const icon = Icons[id];
   if (!icon) return <>{id}</>;
@@ -82,9 +84,10 @@ export function SVG(props: SVGprops): null | JSX.Element {
       width={size}
       style={{ bottom: offset }}
       viewBox={viewBox}
+      className = {className}
     >
       {title && <title>{title}</title>}
-      <path d={path} />
+      <path d={path} fill={fill} />
     </svg>
   );
 }
diff --git a/ivette/src/dome/renderer/dark.css b/ivette/src/dome/renderer/dark.css
index ee7b62fbc147e752a86bd4e70e32e0049a54db57..265d1d7d23c681419dac7002fb30920581eabc86 100644
--- a/ivette/src/dome/renderer/dark.css
+++ b/ivette/src/dome/renderer/dark.css
@@ -45,6 +45,7 @@
     --default-button-hover: #364355;
     --default-button-active: #303d4f;
 
+    --primary-button-color: #146bbf;
     --primary-button-img: linear-gradient(to bottom, #146bbf 0%, #1960b2 100%);
     --primary-button-hover: #0e65b9;
     --primary-button-active: #085fb3;
diff --git a/ivette/src/dome/renderer/frame/style.css b/ivette/src/dome/renderer/frame/style.css
index 266bed0e505b00875e050e9834c43bf5ada4b9d7..f9d783ae1212313089d556f9bc563263e9a68f22 100644
--- a/ivette/src/dome/renderer/frame/style.css
+++ b/ivette/src/dome/renderer/frame/style.css
@@ -430,68 +430,98 @@
 }
 
 /* -------------------------------------------------------------------------- */
-/* --- Styling ToolBar Search Field                                       --- */
+/* --- Styling ToolBar Action Field                                       --- */
 /* -------------------------------------------------------------------------- */
 
-.dome-xToolBar-control.dome-xToolBar-searchfield {
-    background-image: none ;
-    background-color: var(--background-alterning-odd);
-    padding-left: 20px ;
-    border-radius: 12px ;
-    border-color: var(--border);
-    color: var(--text);
-    width: 32px ;
-    transition: width 0.4s ease-in-out ;
+.dome-xToolBar-actionComponent {
+  overflow: visible;
 }
 
-.dome-xToolBar-searchfield:focus,
-.dome-xToolBar-searchfield:hover,
-.dome-xToolBar-searchicon:hover + .dome-xToolBar-searchfield
-{
-    width: 160px;
+.dome-xToolBar-actionField {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  margin: 2px 1px 2px 1px;
+  padding: 0;
+  overflow: hidden;
+  font-size: 13px;
+  width: 28px;
+  border-radius: 12px;
+  transition: width 0.4s ease-in-out;
+  z-Index: +1;
 }
 
-.dome-xToolBar-searchicon {
-    position: relative ;
-    overflow: visible ;
-    z-Index: +1;
-    height: 0px;
-    width: 0px;
-    top: -7px ;
-    left: 12px ;
+.dome-xToolBar-actionField:hover {
+  width: 228px;
 }
 
-.dome-xToolBar-searchmenu {
-    position: relative ;
-    width: 162px ;
-    max-height: 120px ;
-    overflow-x: hidden ;
-    overflow-y: auto ;
-    left: -7px ;
-    top: 4px ;
-    padding: 0px ;
-    border: 1pt solid var(--border) ;
-    background: var(--background-alterning-odd) ;
+.dome-xToolBar-actionField:focus-within {
+  width: 228px !important;
+  box-shadow: 0 0 2px var(--border-discrete);
+}
+
+.dome-xToolBar-actionField div.dome-xToolBar-modeSelection {
+  position: relative;
+  padding: 3px 8px 0px 8px;
+  cursor: pointer;
+}
+
+.dome-xToolBar-actionField SVG.dome-xToolBar-modeIcon {
+  position: relative;
+}
+
+/* Style the search box inside the navigation bar */
+.dome-xToolBar-actionField input[type=search] {
+  border: none;
+  border-top-right-radius: 12px;
+  border-bottom-right-radius: 12px;
+  text-indent: 4px;
+  height: 21px;
+  width: 200px;
+  outline: none;
+  background: var(--background-softer);
+}
+
+.dome-xToolBar-actionComponent div.dome-xToolBar-suggestions {
+  position: absolute;
+  overflow-x: hidden;
+  overflow-y: auto;
+  max-height: 120px;
+  z-index: +1;
+  width: 0px;
+  background: var(--background-alterning-odd);
+  border-radius: 12px;
+}
+
+.dome-xToolBar-actionComponent:focus-within div.dome-xToolBar-suggestions {
+  width: 230px;
 }
 
 .dome-xToolBar-searchitem {
-    color: var(--text);
-    display: block ;
-    width: 100% ;
-    margin-left: 0px ;
-    margin-right: 0px ;
-    padding-left: 4px ;
-    padding-right: 2px ;
+  display: block ;
+  width: 100% ;
+  margin-left: 0px ;
+  margin-right: 0px ;
+  padding-left: 4px ;
+  padding-right: 2px ;
 }
 
-.dome-xToolBar-searchitem:hover,
-.dome-xToolBar-searchindex
-{
-    background: var(--selected-element) !important;
+.dome-xToolBar-searchitem:hover, .dome-xToolBar-searchindex {
+  background: var(--selected-element) !important;
 }
 
 .dome-xToolBar-searchitem:nth-child(even) {
-    background: var(--background-alterning-even);
+  background: var(--background-alterning-even);
+}
+
+.dome-xToolBar-searchMode {
+  background: var(--primary-button-color);
+  fill: var(--text-discrete);
+}
+
+.dome-xToolBar-modeOfModes {
+  background: var(--background-profound);
+  fill: var(--text-discrete);
 }
 
 /* -------------------------------------------------------------------------- */
diff --git a/ivette/src/dome/renderer/frame/toolbars.tsx b/ivette/src/dome/renderer/frame/toolbars.tsx
index 51ab7f1a51a34b6623b7188a55f2d270c6132eef..596a7ece181bfaeef49980544cf062a33958d779 100644
--- a/ivette/src/dome/renderer/frame/toolbars.tsx
+++ b/ivette/src/dome/renderer/frame/toolbars.tsx
@@ -32,7 +32,7 @@
  */
 
 import React from 'react';
-import { Event, useEvent, find } from 'dome';
+import { Event, find, usePromise } from 'dome';
 import { SVG } from 'dome/controls/icons';
 import { Label } from 'dome/controls/labels';
 import { classes } from 'dome/misc/utils';
@@ -265,92 +265,187 @@ export function Select(props: SelectionProps<string>) {
 }
 
 // --------------------------------------------------------------------------
-// --- SearchField
+// --- ModalActionField necessary types
 // --------------------------------------------------------------------------
 
-const DEBOUNCED_SEARCH = 200;
-
-const scrollToRef = (r: null | HTMLLabelElement) => {
-  if (r) r.scrollIntoView({ block: 'nearest' });
-};
-
-export interface Hint<A> {
+/** Description of a hint used to populate the suggestions. */
+export interface Hint {
   id: string | number;
   icon?: string;
   label: string | JSX.Element;
   title?: string;
-  value: A;
+  value(): void;
+  rank?: number;
 }
 
-export interface SearchFieldProps<A> {
-  /** Tooltip Text. */
-  title?: string;
-  /** Placeholder Text. */
+/** Total order on hints. */
+export function byHint(a: Hint, b: Hint) {
+  return (a.rank ?? 0) - (b.rank ?? 0);
+}
+
+/** Type alias for functions that build hints list from a pattern. */
+export type HintsEvaluator = (pattern: string) => Promise<Hint[]>;
+
+/** Description of an action mode. */
+export interface ActionMode {
+  /** Mode tooltip text. */
+  title: string;
+  /** Mode placeholder text. */
   placeholder?: string;
-  /** Provided search hints (with respect to last `onSearch()` callback). */
-  hints?: Hint<A>[];
-  /** Search callback. Triggered on Enter Key, Escape Key or Blur event. */
-  onSelect?: (pattern: string) => void;
-  /** Dynamic search callback. Triggered on key pressed (debounced). */
-  onSearch?: (pattern: string) => void;
-  /** Hint selection callback. */
-  onHint?: (hint: Hint<A>) => void;
-  /** Event that triggers a focus request (defaults to [[dome.find]]). */
-  event?: null | Event<void>;
+  /** Icon displayed when the mode is selected. */
+  icon: string;
+  /** CSS class for the mode section. */
+  className: string;
+  /** Hints provider. */
+  hints: HintsEvaluator;
+  /** Hint selection callback. Defaults to evaluate the <value> field. */
+  onHint?: (hint: Hint) => void;
+  /** Action to perform when Enter is hit. Useful for modes without hints. */
+  onEnter?: (pattern: string) => void;
+  /** Event that triggers a focus request. */
+  event?: Event<void>;
 }
 
-interface Searching {
-  pattern?: string;
-  timer?: NodeJS.Timeout | undefined;
-  onSearch?: ((p: string) => void);
+// --------------------------------------------------------------------------
+// --- ModalActionField default mode: Search
+// --------------------------------------------------------------------------
+
+const searchEvaluators = new Map<string, HintsEvaluator>();
+
+// Updates to the new evaluator if the id is already registered
+export function registerSearchHints(id: string, search: HintsEvaluator) {
+  searchEvaluators.set(id, search);
 }
 
-/**
-   Search Bar.
- */
-export function SearchField<A = undefined>(props: SearchFieldProps<A>) {
-  const inputRef = React.useRef<HTMLInputElement | null>(null);
-  const blur = () => inputRef.current?.blur();
-  const focus = () => inputRef.current?.focus();
-  const [value, setValue] = React.useState('');
-  const [index, setIndex] = React.useState(-1);
-  const searching = React.useRef<Searching>({});
-  const { onHint, onSelect, onSearch, hints = [] } = props;
-
-  // Find event trigger
-  useEvent(props.event ?? find, focus);
-
-  // Lookup trigger
-  const triggerLookup = React.useCallback((pattern: string) => {
-    const s = searching.current;
-    s.pattern = pattern;
-    s.onSearch = onSearch;
-    if (!s.timer) {
-      s.timer = setTimeout(() => {
-        s.timer = undefined;
-        if (s.onSearch && s.pattern) s.onSearch(s.pattern);
-      }, DEBOUNCED_SEARCH);
-    }
-  }, [onSearch]);
+export function unregisterSearchHints(id: string) {
+  searchEvaluators.delete(id);
+}
+
+async function searchHints(pattern: string) {
+  if (pattern === '') return [];
+  const promises = Array.from(searchEvaluators).map(([_id, E]) => E(pattern));
+  const hints = await Promise.all(promises);
+  return hints.flat().sort(byHint);
+}
+
+const searchMode: ActionMode = {
+  title: "Search",
+  placeholder: "Search…",
+  icon: "SEARCH",
+  className: 'dome-xToolBar-searchMode',
+  hints: searchHints,
+  event: find,
+};
+
+// --------------------------------------------------------------------------
+// --- ModalActionField mode button component
+// --------------------------------------------------------------------------
+
+interface ModeButtonComponentProps {
+  current: ActionMode;
+  onClick: () => void;
+}
+
+function ModeButton(props: ModeButtonComponentProps) {
+  const { current, onClick } = props;
+  return (
+    <div
+      className={classes("dome-xToolBar-modeSelection", current.className)}
+      onClick={onClick}
+    >
+      <SVG
+        className="dome-xToolBar-modeIcon"
+        id={current.icon}
+        offset={-1}
+      />
+    </div>
+  );
+}
+
+// --------------------------------------------------------------------------
+// --- ModalActionField suggestions component
+// --------------------------------------------------------------------------
+
+interface SuggestionsProps {
+  hints: Hint[];
+  onHint: (hint: Hint) => void;
+  index: number;
+}
+
+function scrollToRef (r: null | HTMLLabelElement) {
+  if (r) r.scrollIntoView({ block: 'nearest' });
+}
+
+function Suggestions(props: SuggestionsProps) {
+  const { hints, onHint, index } = props;
+
+  // Computing the relevant suggestions. */
+  const suggestions = hints.map((h, k) => {
+    const selected = k === index || hints.length === 1;
+    const classSelected = selected && 'dome-xToolBar-searchindex';
+    const className = classes('dome-xToolBar-searchitem', classSelected);
+    return (
+      <Label
+        ref={selected ? scrollToRef : undefined}
+        key={h.id}
+        icon={h.icon}
+        title={h.title}
+        className={className}
+        onClick={() => onHint(h)}
+      >
+        {h.label}
+      </Label>
+    );
+  });
+
+  // Rendering the component.
+  return (
+    <div
+      style={{ visibility: suggestions.length > 0 ? 'visible' : 'hidden' }}
+      className='dome-xToolBar-suggestions'
+      onMouseDown={ (event) => event.preventDefault() }
+    >
+      {suggestions}
+    </div>
+  );
+}
+
+// --------------------------------------------------------------------------
+// --- ModalActionField input field component
+// --------------------------------------------------------------------------
+
+interface ActionInputProps {
+  title: string;
+  placeholder?: string;
+  hints: Hint[];
+  onHint: (hint: Hint) => void;
+  onEnter?: (pattern: string) => void;
+  index: number;
+  setIndex: (n: number) => void;
+  pattern: string;
+  setPattern: (p: string) => void;
+  inputRef: React.MutableRefObject<HTMLInputElement | null>;
+}
+
+function ActionInput(props: ActionInputProps) {
+  const { title, placeholder, hints, onHint, onEnter } = props;
+  const { index, setIndex, pattern, setPattern, inputRef } = props;
 
   // Blur Event
-  const onBlur = () => {
-    setValue('');
-    setIndex(-1);
-    if (onSearch) onSearch('');
-  };
+  const onBlur = () => { setPattern(''); setIndex(-1); };
 
-  // Key Events
-  const onKey = (evt: React.KeyboardEvent) => {
+  // Key Up Events
+  const onKeyUp = (evt: React.KeyboardEvent) => {
+    const blur = () => inputRef.current?.blur();
     switch (evt.key) {
       case 'Escape':
         blur();
         break;
       case 'Enter':
-        if (index >= 0 && index < hints.length) {
-          if (onHint) onHint(hints[index]);
-        } else if (onSelect) onSelect(value);
         blur();
+        if (index >= 0 && index < hints.length) onHint(hints[index]);
+        else if (hints.length === 1) onHint(hints[0]);
+        else if (onEnter) onEnter(pattern);
         break;
       case 'ArrowUp':
         if (index < 0) setIndex(hints.length - 1);
@@ -363,67 +458,138 @@ export function SearchField<A = undefined>(props: SearchFieldProps<A>) {
     }
   };
 
-  // Input Events
+  // Key Down Events. Disables the default behavior on ArrowUp and ArrowDown.
+  const onKeyDown = (evt: React.KeyboardEvent) => {
+    if (evt.key === 'ArrowUp' || evt.key === 'ArrowDown') evt.preventDefault();
+  };
+
+  // // Input Events
   const onChange = (evt: React.ChangeEvent<HTMLInputElement>) => {
-    const newValue = evt.target.value;
-    triggerLookup(newValue);
     setIndex(-1);
-    setValue(newValue);
+    setPattern(evt.target.value);
   };
 
-  // Render Suggestions
-  const suggestions = hints.map((h, k) => {
-    const selected = k === index || hints.length === 1;
-    const className = classes(
-      'dome-xToolBar-searchitem',
-      selected && 'dome-xToolBar-searchindex',
-    );
-    return (
-      <Label
-        ref={selected ? scrollToRef : undefined}
-        key={h.id}
-        icon={h.icon}
-        title={h.title}
-        className={className}
-        onClick={() => {
-          if (onHint) onHint(h);
-          blur();
-        }}
-      >
-        {h.label}
-      </Label>
-    );
+  return (
+    <input
+      type="search"
+      placeholder={placeholder}
+      ref={inputRef}
+      title={title}
+      value={pattern}
+      onKeyUp={onKeyUp}
+      onKeyDown={onKeyDown}
+      onChange={onChange}
+      onBlur={onBlur}
+    />
+  );
+}
+
+// --------------------------------------------------------------------------
+// --- ModalActionField component
+// --------------------------------------------------------------------------
+
+export const RegisterMode: Event<ActionMode> =
+  new Event('dome.actionmode.register');
+
+export const UnregisterMode: Event<ActionMode> =
+  new Event('dome.actionmode.unregister');
+
+export function ModalActionField() {
+  
+  // Internal state of the component along with useful functions acting on it.
+  const inputRef = React.useRef<HTMLInputElement | null>(null);
+  const [index, setIndex] = React.useState(-1);
+  const [pattern, setPattern] = React.useState('');
+  const [current, onModeChange] = React.useState<ActionMode>(searchMode);
+  const focus = () => inputRef.current?.focus();
+  const changeMode = (m: ActionMode) => () => { onModeChange(m); focus(); };
+  const toDefault = () => onModeChange(searchMode);
+  const reset = (m: ActionMode) => { if (current === m) toDefault(); };
+
+  // Set of all modes currently active. We populate it by reacting to
+  // RegisterMode and UnregisterMode events. We also activate the mode event if
+  // available. Everything is cleaned when the component is unmounted.
+  const [allModes] = React.useState<Set<ActionMode>>(new Set()); 
+  React.useEffect(() => {
+    const on = (m: ActionMode) => m.event?.on(changeMode(m));
+    const register = (m: ActionMode) => { allModes.add(m); on(m); };
+    const off = (m: ActionMode) => m.event?.off(changeMode(m));
+    const remove = (m: ActionMode) => { allModes.delete(m); off(m); reset(m); };
+    RegisterMode.on(register); UnregisterMode.on(remove);
+    return () => { RegisterMode.off(register); UnregisterMode.off(remove); };
   });
-  const haspopup =
-    inputRef.current === document.activeElement
-    && suggestions.length > 0;
-  const visibility = haspopup ? 'visible' : 'hidden';
 
-  // Render Component
+  // Register the search mode.
+  React.useEffect(() => RegisterMode.emit(searchMode));
+
+  // Compute the hints for the current mode.
+  const { hints, onHint = (h) => h.value(), onEnter } = current;
+  const hintsPromise = React.useMemo(() => hints(pattern), [pattern, hints]);
+  const { result = [] } = usePromise(hintsPromise);
+
+  // Auxiliary function that build a Hint from an ActionMode.
+  const modeToHint = (mode: ActionMode) => {
+    const { title, icon } = mode;
+    const id = 'ActionMode-' + title + '-' + icon;
+    const value = () => { onModeChange(mode); };
+    return { id, icon, label: title, title, value, rank: -1000 };
+  };
+
+  // Hints provider for the mode of all modes.
+  const modesHints = React.useCallback((input: string) => {
+    const p = input.toLowerCase();
+    const fit = (m: ActionMode) => m.title.toLowerCase().includes(p);
+    return Promise.resolve(Array.from(allModes).filter(fit).map(modeToHint));
+  }, [allModes]);
+
+  // Build the mode of all modes. This special mode is activated when clicking
+  // on the current mode icon and allows to change the current mode, displaying
+  // a list of all available modes as hints.
+  const modesMode = React.useMemo(() => {
+    const title = "Mode selection";
+    const placeholder = "Search mode";
+    const icon = "TUNINGS";
+    const className = 'dome-xToolBar-modeOfModes';
+    return { title, placeholder, icon, className, hints: modesHints };
+  }, [modesHints]);
+
+  // Build a new search engine for the search mode, adding available modes to
+  // the possible search hints.
+  const searchModeHints = React.useCallback(async (input: string) => {
+    const hs = await modesMode.hints(input);
+    const notCurrent = (h: Hint) => !(h.title?.includes(current.title));
+    return hs.filter(notCurrent);
+  }, [current.title, modesMode]);
+
+  // Register the new search engine.
+  React.useEffect(() => {
+      registerSearchHints('ModesMode', searchModeHints);
+      return () => unregisterSearchHints('ModesMode');
+    }, [searchModeHints]);
+
+  // Build the component.
+  const { title, placeholder } = current;
+  const handleModeClick = changeMode(modesMode);
+  const onBlur = () => reset(modesMode);
   return (
-    <>
-      <div className="dome-xToolBar-searchicon">
-        <SVG id="SEARCH" />
-        <div
-          style={{ visibility }}
-          className="dome-xToolBar-searchmenu"
-          onMouseDown={(event) => event.preventDefault()}
-        >
-          {suggestions}
-        </div>
+    <div className="dome-xToolBar-actionComponent" onBlur={onBlur}>
+      <div className="dome-xToolBar-actionField">
+        <ModeButton current={current} onClick={handleModeClick} />
+        <ActionInput
+          title={title}
+          placeholder={placeholder}
+          hints={result}
+          onHint={onHint}
+          onEnter={onEnter}
+          index={index}
+          setIndex={setIndex}
+          pattern={pattern}
+          setPattern={setPattern}
+          inputRef={inputRef}
+        />
       </div>
-      <input
-        ref={inputRef}
-        type="search"
-        title={props.title}
-        value={value}
-        placeholder={props.placeholder}
-        className="dome-xToolBar-control dome-xToolBar-searchfield"
-        onKeyUp={onKey}
-        onChange={onChange}
-        onBlur={onBlur}
-      />
-    </>
+      <Suggestions hints={result} onHint={onHint} index={index} />
+    </div> 
   );
 }
 
diff --git a/ivette/src/dome/renderer/light.css b/ivette/src/dome/renderer/light.css
index e70918a90f1e1f35a7b2ac7be6a7cbce40a9e394..1eb31da53fc00624364f9f6577ef1114ef196c60 100644
--- a/ivette/src/dome/renderer/light.css
+++ b/ivette/src/dome/renderer/light.css
@@ -45,6 +45,7 @@
     --default-button-hover: #ffffff;
     --default-button-active: #f9f9f9;
 
+    --primary-button-color: #449bef;
     --primary-button-img: linear-gradient(to bottom, #449bef 0%, #4990e2 100%);
     --primary-button-hover: #00b6ff;
     --primary-button-active: #ddd;
diff --git a/ivette/src/frama-c/kernel/Globals.tsx b/ivette/src/frama-c/kernel/Globals.tsx
index de8ef1cabd5c4f9c7d89c0d5c80fef5a340c64a1..57adbb92980d9b5ad2a9b7c0fcee2b30c57bb7fe 100644
--- a/ivette/src/frama-c/kernel/Globals.tsx
+++ b/ivette/src/frama-c/kernel/Globals.tsx
@@ -30,7 +30,7 @@ import { classes } from 'dome/misc/utils';
 import { alpha } from 'dome/data/compare';
 import { Section, Item } from 'dome/frame/sidebars';
 import { Button } from 'dome/controls/buttons';
-import * as Ivette from 'ivette';
+import * as Toolbars from 'dome/frame/toolbars';
 
 import * as States from 'frama-c/states';
 import { functions, functionsData } from 'frama-c/kernel/api/ast';
@@ -40,16 +40,16 @@ import { computationState } from 'frama-c/plugins/eva/api/general';
 // --- Global Search Hints
 // --------------------------------------------------------------------------
 
-function makeFunctionHint(fct: functionsData): Ivette.Hint {
+function makeFunctionHint(fct: functionsData): Toolbars.Hint {
   return {
     id: fct.key,
     label: fct.name,
     title: fct.signature,
-    onSelection: () => States.setSelection({ fct: fct.name }),
+    value: () => States.setSelection({ fct: fct.name }),
   };
 }
 
-async function lookupGlobals(pattern: string): Promise<Ivette.Hint[]> {
+async function lookupGlobals(pattern: string): Promise<Toolbars.Hint[]> {
   const lookup = pattern.toLowerCase();
   const fcts = States.getSyncArray(functions).getArray();
   return fcts.filter((fn) => (
@@ -57,7 +57,7 @@ async function lookupGlobals(pattern: string): Promise<Ivette.Hint[]> {
   )).map(makeFunctionHint);
 }
 
-Ivette.registerHints('frama-c.globals', lookupGlobals);
+Toolbars.registerSearchHints('frama-c.globals', lookupGlobals);
 
 // --------------------------------------------------------------------------
 // --- Function Item
diff --git a/ivette/src/frama-c/states.ts b/ivette/src/frama-c/states.ts
index c0d940c7f09c3083b19e9882d26889712d1812cf..14b03daf39dd0ed6e24699a0d9f9eda87b381733 100644
--- a/ivette/src/frama-c/states.ts
+++ b/ivette/src/frama-c/states.ts
@@ -487,6 +487,7 @@ export function useSyncArray<K, A>(
   const st = lookupSyncArray(arr);
   React.useEffect(() => st.update(), [st]);
   Server.useSignal(arr.signal, st.fetch);
+  st.update();
   useModel(st.model, sync);
   return st.model;
 }
diff --git a/ivette/src/ivette/index.tsx b/ivette/src/ivette/index.tsx
index 4cd9fa9f83bb89ad26b124c72c68d3aa8b4f9b36..596110753d9bd49d9f689ad019cc86a216138fe1 100644
--- a/ivette/src/ivette/index.tsx
+++ b/ivette/src/ivette/index.tsx
@@ -180,32 +180,6 @@ export function TitleBar(props: TitleBarProps) {
   );
 }
 
-/* --------------------------------------------------------------------------*/
-/* --- Search Hints                                                       ---*/
-/* --------------------------------------------------------------------------*/
-
-export interface Hint {
-  id: string;
-  label: string | JSX.Element;
-  title?: string;
-  rank?: number;
-  onSelection: () => void;
-}
-
-/**
-   Register a hint search engine for the Ivette toolbar.
-*/
-export function registerHints(
-  id: string,
-  lookup: (pattern: string) => Promise<Hint[]>,
-) {
-  const adaptor = (h: Hint): Ext.SearchHint => (
-    { ...h, value: () => h.onSelection() }
-  );
-  const search = (p: string) => lookup(p).then((hs) => hs.map(adaptor));
-  Ext.registerHints({ id, search });
-}
-
 /* --------------------------------------------------------------------------*/
 /* --- Sidebar Panels                                                     ---*/
 /* --------------------------------------------------------------------------*/
diff --git a/ivette/src/renderer/Application.tsx b/ivette/src/renderer/Application.tsx
index b3ead33936b44072cc8e0354aaa068020574a3ff..42bfd85a9f252bb9d1ef723bcf49450eadd3d7f0 100644
--- a/ivette/src/renderer/Application.tsx
+++ b/ivette/src/renderer/Application.tsx
@@ -47,10 +47,7 @@ export default function Application(): JSX.Element {
     Dome.useFlipSettings('frama-c.sidebar.unfold', true);
   const [viewbar, flipViewbar] =
     Dome.useFlipSettings('frama-c.viewbar.unfold', true);
-  const hints = Extensions.useSearchHints();
-  const onSelectedHints = (): void => {
-    if (hints.length === 1) Extensions.onSearchHint(hints[0]);
-  };
+
   return (
     <Vfill>
       <Toolbar.ToolBar>
@@ -63,15 +60,9 @@ export default function Application(): JSX.Element {
         <Controller.Control />
         <Extensions.Toolbar />
         <Toolbar.Filler />
-        <Toolbar.SearchField
-          placeholder="Search…"
-          hints={hints}
-          onSearch={Extensions.searchHints}
-          onHint={Extensions.onSearchHint}
-          onSelect={onSelectedHints}
-        />
         <IvettePrefs.ThemeSwitchTool />
         <IvettePrefs.FontTools />
+        <Toolbar.ModalActionField />
         <Toolbar.Button
           icon="ITEMS.GRID"
           title="Customize Main View"
diff --git a/ivette/src/renderer/Extensions.tsx b/ivette/src/renderer/Extensions.tsx
index 2d33b9f1dc520ca6f916bfc61161923db6f73a48..145f9b66b1edf59e1dbe3064a763f7ecd83f95d4 100644
--- a/ivette/src/renderer/Extensions.tsx
+++ b/ivette/src/renderer/Extensions.tsx
@@ -28,84 +28,6 @@
 
 import React from 'react';
 import * as Dome from 'dome';
-import { Hint } from 'dome/frame/toolbars';
-
-/* --------------------------------------------------------------------------*/
-/* --- Search Hints                                                       ---*/
-/* --------------------------------------------------------------------------*/
-
-export interface HintCallback {
-  (): void;
-}
-
-export interface SearchHint extends Hint<HintCallback> {
-  rank?: number;
-}
-
-function bySearchHint(a: SearchHint, b: SearchHint) {
-  const ra = a.rank ?? 0;
-  const rb = b.rank ?? 0;
-  if (ra < rb) return -1;
-  if (ra > rb) return +1;
-  return 0;
-}
-
-export interface SearchEngine {
-  id: string;
-  search: (pattern: string) => Promise<SearchHint[]>;
-}
-
-const NEWHINTS = new Dome.Event('ivette.hints');
-const HINTLOOKUP = new Map<string, SearchEngine>();
-const HINTS = new Map<string, SearchHint[]>();
-let CURRENT = '';
-
-export function updateHints() {
-  if (CURRENT !== '')
-    NEWHINTS.emit();
-}
-
-export function registerHints(E: SearchEngine) {
-  HINTLOOKUP.set(E.id, E);
-}
-
-export function searchHints(pattern: string) {
-  if (pattern === '') {
-    CURRENT = '';
-    HINTS.clear();
-    NEWHINTS.emit();
-  } else {
-    const REF = pattern;
-    CURRENT = pattern;
-    HINTLOOKUP.forEach((E: SearchEngine) => {
-      E.search(REF).then((hs) => {
-        if (REF === CURRENT) {
-          HINTS.set(E.id, hs);
-          NEWHINTS.emit();
-        }
-      }).catch(() => {
-        if (REF === CURRENT) {
-          HINTS.delete(E.id);
-          NEWHINTS.emit();
-        }
-      });
-    });
-  }
-}
-
-export function onSearchHint(h: SearchHint) {
-  h.value();
-}
-
-export function useSearchHints() {
-  const [hints, setHints] = React.useState<SearchHint[]>([]);
-  Dome.useEvent(NEWHINTS, () => {
-    let hs: SearchHint[] = [];
-    HINTS.forEach((rhs) => { hs = hs.concat(rhs); });
-    setHints(hs.sort(bySearchHint));
-  });
-  return hints;
-}
 
 /* --------------------------------------------------------------------------*/
 /* --- Extension Elements                                                 ---*/
diff --git a/nix/default.nix b/nix/default.nix
index d159657d295dcd3f032d8eb3edc4c02ffb38e451..7f9c00760af0fae2dc90df774c74c67500baf140 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -318,7 +318,6 @@ pkgs.lib.makeExtensible
                 [ pkgs.getopt pkgs.libxslt pkgs.libxml2 pkgs.autoPatchelfHook
                   pkgs.swiProlog stdenv.cc.cc.lib ];
             };
-        counter_examples_src = plugins.counter-examples.src;
         genassigns_src = plugins.genassigns.src;
         frama_clang_src = plugins.frama-clang.src;
         pathcrawler_src = plugins.pathcrawler.src;
@@ -333,8 +332,6 @@ pkgs.lib.makeExtensible
                patchShebangs .
         '';
         postUnpack = ''
-           cp -r --preserve=mode "$counter_examples_src" "$sourceRoot/src/plugins/counter-examples"
-           chmod -R u+w -- "$sourceRoot/src/plugins/counter-examples"
            cp -r --preserve=mode "$genassigns_src" "$sourceRoot/src/plugins/genassigns"
            chmod -R u+w -- "$sourceRoot/src/plugins/genassigns"
            # cp -r --preserve=mode "$frama_clang_src" "$sourceRoot/src/plugins/frama-clang"
diff --git a/share/libc/unistd.h b/share/libc/unistd.h
index f26a5b8ed9b284074e578891a1bd46a8c3d6d20b..4842b7958b5be55538779d46fb59be49aad8e092 100644
--- a/share/libc/unistd.h
+++ b/share/libc/unistd.h
@@ -1009,8 +1009,20 @@ extern ssize_t      pwrite(int, const void *, size_t, off_t);
   assigns __fc_fds[fd] \from __fc_fds[fd];
   assigns \result, *((char *)buf+(0..count-1))
           \from indirect:__fc_fds[fd], indirect:count;
-  ensures  result_error_or_read_length: 0 <= \result <= count || \result == -1;
-  ensures  initialization:buf: \initialized(((char*)buf)+(0..\result-1));
+  behavior full_read:
+    assumes nondet_small_count: Frama_C_entropy_source && count <= SSIZE_MAX;
+    ensures res_full: \result == count;
+    ensures res_init:initialization: \initialized(((char*)buf)+(0..count-1));
+  behavior large_read_implementation_defined:
+    assumes nondet_large_count: Frama_C_entropy_source && count > SSIZE_MAX;
+    ensures res_init:initialization: \initialized(((char*)buf)+(0..count-1));
+  behavior partial_or_error:
+    assumes nondet: !Frama_C_entropy_source;
+    ensures result_error_or_read_length: -1 <= \result < count;
+    ensures initialization:buf: \initialized(((char*)buf)+(0..\result-1));
+            //note: for \result == -1, the above range is empty, as intended
+  disjoint behaviors;
+  complete behaviors;
 */
 extern ssize_t      read(int fd, void *buf, size_t count);
 
diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml
index 2ef99461cb121d60fe36e8073e4bfd579743b693..fa0bad4dd8b1587b3c67bd25ce449a8b068048ca 100644
--- a/src/kernel_services/ast_queries/file.ml
+++ b/src/kernel_services/ast_queries/file.ml
@@ -449,14 +449,7 @@ let concat_strs ?(pre="") ?(sep=" ") l =
 
 let adjust_pwd fp cpp_command =
   if Kernel.JsonCompilationDatabase.is_set () then
-    (* TODO: we currently use PWD instead of Sys.getcwd () because OCaml has
-       no function in its stdlib to resolve symbolic links (e.g. realpath)
-       for a given path. 'getcwd' always resolves them, but if the user
-       supplies a path with symbolic links, this may cause issues.
-       Instead of forcing the user to always provide resolved paths, we
-       currently choose to never resolve them.
-       We only resort to getcwd() to avoid issues when PWD does not exist. *)
-    let cwd = try Unix.getenv "PWD" with Not_found -> Sys.getcwd () in
+    let cwd = Filepath.pwd () in
     let dir =
       match Json_compilation_database.get_dir fp with
       | None -> cwd
@@ -577,10 +570,10 @@ let abort_with_detailed_pp_message f cpp_command =
     else ""
   in
   Kernel.abort
-    "failed to run: %s@\n\
+    "failed to run: %s\n(PWD: %s)@\n\
      %sSee chapter \"Preparing the Sources\" in the Frama-C user manual \
      for more details."
-    cpp_command possible_cause
+    cpp_command (Filepath.pwd ()) possible_cause
 
 let parse_cabs cpp_command = function
   | NoCPP f ->
diff --git a/src/libraries/utils/filepath.ml b/src/libraries/utils/filepath.ml
index b708fbee2e1d4792fc755122d7797742fa71e877..2411ec2934b266e943af64fb32db4f1567a512a0 100644
--- a/src/libraries/utils/filepath.ml
+++ b/src/libraries/utils/filepath.ml
@@ -323,6 +323,8 @@ type position =
 let pp_pos fmt pos =
   Format.fprintf fmt "%a:%d" Normalized.pretty pos.pos_path pos.pos_lnum
 
+let pwd () = try Unix.getenv "PWD" with Not_found -> Sys.getcwd ()
+
 (** Initialize using Config *)
 let add_symbolic_dir_list name = function
   | [d] -> add_symbolic_dir name d
diff --git a/src/libraries/utils/filepath.mli b/src/libraries/utils/filepath.mli
index 9154110c09dc4075338541fd42940c68d124d333..4844f2a54ae4b5d0a85cf5f9836596affed48d18 100644
--- a/src/libraries/utils/filepath.mli
+++ b/src/libraries/utils/filepath.mli
@@ -209,6 +209,21 @@ type position =
 *)
 val pp_pos : Format.formatter -> position -> unit
 
+(** Return the current working directory.
+    Currently uses the environment's PWD instead of Sys.getcwd () because OCaml
+    has no function in its stdlib to resolve symbolic links (e.g. realpath)
+    for a given path. 'getcwd' always resolves them, but if the user
+    supplies a path with symbolic links, this may cause issues.
+    Instead of forcing the user to always provide resolved paths, we
+    currently choose to never resolve them.
+    We only resort to getcwd() to avoid issues when PWD does not exist.
+    Note that this function does not validate that PWD has not been tampered
+    with.
+
+    @since Frama-C+dev
+*)
+val pwd : unit -> string
+
 (*
   Local Variables:
   compile-command: "make -C ../../.."
diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in
index 40ea1ab244877dab48d46eb239d5cfe14a7dfb77..cc93b4ebe1c693b6c1b6acb1f0f9724928089b4c 100644
--- a/src/plugins/e-acsl/Makefile.in
+++ b/src/plugins/e-acsl/Makefile.in
@@ -370,8 +370,9 @@ EACSL_DISTRIB_TESTS = \
       $(dir)/test_config_dev \
       $(dir)/oracle/* \
       $(dir)/oracle_dev/* \
-  )
-
+  ) \
+  tests/builtin/utils \
+  tests/format/utils
 
 EACSL_RTL_FILES = $(EACSL_RTL_SRC)
 
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
index 4dd51eba552684f1387cb630eb11d80a311f6e0a..e450a9ed80b036c3ae34073196f4fec84259b728 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
@@ -13,11 +13,6 @@
 #include "sys/wait.h"
 #include "time.h"
 #include "unistd.h"
-char *__gen_e_acsl_literal_string_27;
-char *__gen_e_acsl_literal_string_26;
-char *__gen_e_acsl_literal_string_25;
-char *__gen_e_acsl_literal_string_24;
-char *__gen_e_acsl_literal_string_23;
 char *__gen_e_acsl_literal_string_22;
 char *__gen_e_acsl_literal_string_21;
 char *__gen_e_acsl_literal_string_20;
@@ -35,6 +30,11 @@ char *__gen_e_acsl_literal_string_9;
 char *__gen_e_acsl_literal_string_30;
 char *__gen_e_acsl_literal_string_29;
 char *__gen_e_acsl_literal_string_28;
+char *__gen_e_acsl_literal_string_27;
+char *__gen_e_acsl_literal_string_26;
+char *__gen_e_acsl_literal_string_25;
+char *__gen_e_acsl_literal_string_24;
+char *__gen_e_acsl_literal_string_23;
 char *__gen_e_acsl_literal_string_7;
 char *__gen_e_acsl_literal_string_6;
 char *__gen_e_acsl_literal_string;
@@ -119,7 +119,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data.pred_txt = "\\initialized(&dest[0 .. 1])";
       __gen_e_acsl_assert_data.file = "strcat.c";
       __gen_e_acsl_assert_data.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data.line = 16;
+      __gen_e_acsl_assert_data.line = 21;
       __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
     }
@@ -155,7 +155,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_2.pred_txt = "!\\initialized(&dest[2 .. 3])";
       __gen_e_acsl_assert_data_2.file = "strcat.c";
       __gen_e_acsl_assert_data_2.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_2.line = 17;
+      __gen_e_acsl_assert_data_2.line = 22;
       __e_acsl_assert(! __gen_e_acsl_initialized_2,
                       & __gen_e_acsl_assert_data_2);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -192,7 +192,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_3.pred_txt = "\\initialized(&src[0 .. 1])";
       __gen_e_acsl_assert_data_3.file = "strcat.c";
       __gen_e_acsl_assert_data_3.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_3.line = 18;
+      __gen_e_acsl_assert_data_3.line = 23;
       __e_acsl_assert(__gen_e_acsl_initialized_3,
                       & __gen_e_acsl_assert_data_3);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -230,7 +230,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_4.pred_txt = "\\initialized(&dest[0 .. 2])";
       __gen_e_acsl_assert_data_4.file = "strcat.c";
       __gen_e_acsl_assert_data_4.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_4.line = 21;
+      __gen_e_acsl_assert_data_4.line = 26;
       __e_acsl_assert(__gen_e_acsl_initialized_4,
                       & __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -254,7 +254,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_5.pred_txt = "!\\initialized(&dest[3])";
       __gen_e_acsl_assert_data_5.file = "strcat.c";
       __gen_e_acsl_assert_data_5.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_5.line = 22;
+      __gen_e_acsl_assert_data_5.line = 27;
       __e_acsl_assert(! __gen_e_acsl_initialized_5,
                       & __gen_e_acsl_assert_data_5);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -302,7 +302,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_6.pred_txt = "\\initialized(&dest_0[0 .. 1])";
       __gen_e_acsl_assert_data_6.file = "strcat.c";
       __gen_e_acsl_assert_data_6.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_6.line = 28;
+      __gen_e_acsl_assert_data_6.line = 33;
       __e_acsl_assert(__gen_e_acsl_initialized_6,
                       & __gen_e_acsl_assert_data_6);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -340,7 +340,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_7.pred_txt = "!\\initialized(&dest_0[2 .. 3])";
       __gen_e_acsl_assert_data_7.file = "strcat.c";
       __gen_e_acsl_assert_data_7.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_7.line = 29;
+      __gen_e_acsl_assert_data_7.line = 34;
       __e_acsl_assert(! __gen_e_acsl_initialized_7,
                       & __gen_e_acsl_assert_data_7);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
@@ -378,7 +378,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_8.pred_txt = "\\initialized(&src_0[0 .. 2])";
       __gen_e_acsl_assert_data_8.file = "strcat.c";
       __gen_e_acsl_assert_data_8.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_8.line = 30;
+      __gen_e_acsl_assert_data_8.line = 35;
       __e_acsl_assert(__gen_e_acsl_initialized_8,
                       & __gen_e_acsl_assert_data_8);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
@@ -417,7 +417,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_9.pred_txt = "\\initialized(&dest_0[0 .. 2])";
       __gen_e_acsl_assert_data_9.file = "strcat.c";
       __gen_e_acsl_assert_data_9.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_9.line = 33;
+      __gen_e_acsl_assert_data_9.line = 38;
       __e_acsl_assert(__gen_e_acsl_initialized_9,
                       & __gen_e_acsl_assert_data_9);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
@@ -441,7 +441,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_10.pred_txt = "!\\initialized(&dest_0[3])";
       __gen_e_acsl_assert_data_10.file = "strcat.c";
       __gen_e_acsl_assert_data_10.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_10.line = 34;
+      __gen_e_acsl_assert_data_10.line = 39;
       __e_acsl_assert(! __gen_e_acsl_initialized_10,
                       & __gen_e_acsl_assert_data_10);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
@@ -489,7 +489,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_11.pred_txt = "\\initialized(&dest_1[0 .. 1])";
       __gen_e_acsl_assert_data_11.file = "strcat.c";
       __gen_e_acsl_assert_data_11.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_11.line = 40;
+      __gen_e_acsl_assert_data_11.line = 45;
       __e_acsl_assert(__gen_e_acsl_initialized_11,
                       & __gen_e_acsl_assert_data_11);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
@@ -527,7 +527,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_12.pred_txt = "!\\initialized(&dest_1[2 .. 3])";
       __gen_e_acsl_assert_data_12.file = "strcat.c";
       __gen_e_acsl_assert_data_12.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_12.line = 41;
+      __gen_e_acsl_assert_data_12.line = 46;
       __e_acsl_assert(! __gen_e_acsl_initialized_12,
                       & __gen_e_acsl_assert_data_12);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
@@ -565,7 +565,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_13.pred_txt = "\\initialized(&src_1[0 .. 1])";
       __gen_e_acsl_assert_data_13.file = "strcat.c";
       __gen_e_acsl_assert_data_13.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_13.line = 42;
+      __gen_e_acsl_assert_data_13.line = 47;
       __e_acsl_assert(__gen_e_acsl_initialized_13,
                       & __gen_e_acsl_assert_data_13);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13);
@@ -604,7 +604,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_14.pred_txt = "\\initialized(&dest_1[0 .. 2])";
       __gen_e_acsl_assert_data_14.file = "strcat.c";
       __gen_e_acsl_assert_data_14.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_14.line = 45;
+      __gen_e_acsl_assert_data_14.line = 50;
       __e_acsl_assert(__gen_e_acsl_initialized_14,
                       & __gen_e_acsl_assert_data_14);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
@@ -628,7 +628,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_15.pred_txt = "!\\initialized(&dest_1[3])";
       __gen_e_acsl_assert_data_15.file = "strcat.c";
       __gen_e_acsl_assert_data_15.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_15.line = 46;
+      __gen_e_acsl_assert_data_15.line = 51;
       __e_acsl_assert(! __gen_e_acsl_initialized_15,
                       & __gen_e_acsl_assert_data_15);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15);
@@ -828,116 +828,116 @@ void __e_acsl_globals_init(void)
   static char __e_acsl_already_run = 0;
   if (! __e_acsl_already_run) {
     __e_acsl_already_run = 1;
-    __gen_e_acsl_literal_string_27 = "strcat.c:99";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27,
-                         sizeof("strcat.c:99"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27);
-    __gen_e_acsl_literal_string_26 = "strcat.c:98";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_26,
-                         sizeof("strcat.c:98"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_26);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_26);
-    __gen_e_acsl_literal_string_25 = "strcat.c:97";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25,
-                         sizeof("strcat.c:97"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25);
-    __gen_e_acsl_literal_string_24 = "strcat.c:96";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_24,
-                         sizeof("strcat.c:96"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_24);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_24);
-    __gen_e_acsl_literal_string_23 = "strcat.c:95";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
-                         sizeof("strcat.c:95"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
-    __gen_e_acsl_literal_string_22 = "strcat.c:94";
+    __gen_e_acsl_literal_string_22 = "strcat.c:99";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_22,
-                         sizeof("strcat.c:94"));
+                         sizeof("strcat.c:99"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_22);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_22);
-    __gen_e_acsl_literal_string_21 = "strcat.c:93";
+    __gen_e_acsl_literal_string_21 = "strcat.c:98";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21,
-                         sizeof("strcat.c:93"));
+                         sizeof("strcat.c:98"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21);
-    __gen_e_acsl_literal_string_20 = "strcat.c:80";
+    __gen_e_acsl_literal_string_20 = "strcat.c:85";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_20,
-                         sizeof("strcat.c:80"));
+                         sizeof("strcat.c:85"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_20);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_20);
-    __gen_e_acsl_literal_string_19 = "strcat.c:79";
+    __gen_e_acsl_literal_string_19 = "strcat.c:84";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,
-                         sizeof("strcat.c:79"));
+                         sizeof("strcat.c:84"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19);
-    __gen_e_acsl_literal_string_18 = "strcat.c:78";
+    __gen_e_acsl_literal_string_18 = "strcat.c:83";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18,
-                         sizeof("strcat.c:78"));
+                         sizeof("strcat.c:83"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18);
-    __gen_e_acsl_literal_string_17 = "strcat.c:77";
+    __gen_e_acsl_literal_string_17 = "strcat.c:82";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17,
-                         sizeof("strcat.c:77"));
+                         sizeof("strcat.c:82"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_17);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_17);
-    __gen_e_acsl_literal_string_16 = "strcat.c:76";
+    __gen_e_acsl_literal_string_16 = "strcat.c:81";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16,
-                         sizeof("strcat.c:76"));
+                         sizeof("strcat.c:81"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16);
-    __gen_e_acsl_literal_string_15 = "strcat.c:75";
+    __gen_e_acsl_literal_string_15 = "strcat.c:80";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15,
-                         sizeof("strcat.c:75"));
+                         sizeof("strcat.c:80"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15);
-    __gen_e_acsl_literal_string_14 = "strcat.c:74";
+    __gen_e_acsl_literal_string_14 = "strcat.c:79";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("strcat.c:74"));
+                         sizeof("strcat.c:79"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_13 = "strcat.c:73";
+    __gen_e_acsl_literal_string_13 = "strcat.c:78";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13,
-                         sizeof("strcat.c:73"));
+                         sizeof("strcat.c:78"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13);
-    __gen_e_acsl_literal_string_12 = "strcat.c:72";
+    __gen_e_acsl_literal_string_12 = "strcat.c:77";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("strcat.c:72"));
+                         sizeof("strcat.c:77"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
-    __gen_e_acsl_literal_string_11 = "strcat.c:71";
+    __gen_e_acsl_literal_string_11 = "strcat.c:76";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11,
-                         sizeof("strcat.c:71"));
+                         sizeof("strcat.c:76"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11);
-    __gen_e_acsl_literal_string_10 = "strcat.c:70";
+    __gen_e_acsl_literal_string_10 = "strcat.c:75";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10,
-                         sizeof("strcat.c:70"));
+                         sizeof("strcat.c:75"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10);
-    __gen_e_acsl_literal_string_9 = "strcat.c:68";
+    __gen_e_acsl_literal_string_9 = "strcat.c:73";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9,
-                         sizeof("strcat.c:68"));
+                         sizeof("strcat.c:73"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9);
-    __gen_e_acsl_literal_string_30 = "strcat.c:103";
+    __gen_e_acsl_literal_string_30 = "strcat.c:108";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_30,
-                         sizeof("strcat.c:103"));
+                         sizeof("strcat.c:108"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_30);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_30);
-    __gen_e_acsl_literal_string_29 = "strcat.c:102";
+    __gen_e_acsl_literal_string_29 = "strcat.c:107";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_29,
-                         sizeof("strcat.c:102"));
+                         sizeof("strcat.c:107"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_29);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_29);
-    __gen_e_acsl_literal_string_28 = "strcat.c:101";
+    __gen_e_acsl_literal_string_28 = "strcat.c:106";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_28,
-                         sizeof("strcat.c:101"));
+                         sizeof("strcat.c:106"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_28);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_28);
+    __gen_e_acsl_literal_string_27 = "strcat.c:104";
+    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27,
+                         sizeof("strcat.c:104"));
+    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27);
+    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27);
+    __gen_e_acsl_literal_string_26 = "strcat.c:103";
+    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_26,
+                         sizeof("strcat.c:103"));
+    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_26);
+    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_26);
+    __gen_e_acsl_literal_string_25 = "strcat.c:102";
+    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25,
+                         sizeof("strcat.c:102"));
+    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25);
+    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25);
+    __gen_e_acsl_literal_string_24 = "strcat.c:101";
+    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_24,
+                         sizeof("strcat.c:101"));
+    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_24);
+    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_24);
+    __gen_e_acsl_literal_string_23 = "strcat.c:100";
+    __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
+                         sizeof("strcat.c:100"));
+    __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
+    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
     __gen_e_acsl_literal_string_7 = "abcd";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_7,
                          sizeof("abcd"));
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
index e709190a8d4e6648e637df959d6d53e36a92fd4c..7a71fae35bc987b44b79bd14da2deef8cacce96c 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
@@ -391,124 +391,124 @@ void __e_acsl_globals_init(void)
   static char __e_acsl_already_run = 0;
   if (! __e_acsl_already_run) {
     __e_acsl_already_run = 1;
-    __gen_e_acsl_literal_string_32 = "strcmp.c:90";
+    __gen_e_acsl_literal_string_32 = "strcmp.c:95";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_32,
-                         sizeof("strcmp.c:90"));
+                         sizeof("strcmp.c:95"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_32);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_32);
-    __gen_e_acsl_literal_string_31 = "strcmp.c:87";
+    __gen_e_acsl_literal_string_31 = "strcmp.c:92";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_31,
-                         sizeof("strcmp.c:87"));
+                         sizeof("strcmp.c:92"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_31);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_31);
-    __gen_e_acsl_literal_string_30 = "strcmp.c:86";
+    __gen_e_acsl_literal_string_30 = "strcmp.c:91";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_30,
-                         sizeof("strcmp.c:86"));
+                         sizeof("strcmp.c:91"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_30);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_30);
-    __gen_e_acsl_literal_string_29 = "strcmp.c:83";
+    __gen_e_acsl_literal_string_29 = "strcmp.c:88";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_29,
-                         sizeof("strcmp.c:83"));
+                         sizeof("strcmp.c:88"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_29);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_29);
-    __gen_e_acsl_literal_string_28 = "strcmp.c:80";
+    __gen_e_acsl_literal_string_28 = "strcmp.c:85";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_28,
-                         sizeof("strcmp.c:80"));
+                         sizeof("strcmp.c:85"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_28);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_28);
-    __gen_e_acsl_literal_string_27 = "strcmp.c:77";
+    __gen_e_acsl_literal_string_27 = "strcmp.c:82";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27,
-                         sizeof("strcmp.c:77"));
+                         sizeof("strcmp.c:82"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27);
-    __gen_e_acsl_literal_string_26 = "strcmp.c:75";
+    __gen_e_acsl_literal_string_26 = "strcmp.c:80";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_26,
-                         sizeof("strcmp.c:75"));
+                         sizeof("strcmp.c:80"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_26);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_26);
-    __gen_e_acsl_literal_string_25 = "strcmp.c:72";
+    __gen_e_acsl_literal_string_25 = "strcmp.c:77";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25,
-                         sizeof("strcmp.c:72"));
+                         sizeof("strcmp.c:77"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25);
-    __gen_e_acsl_literal_string_23 = "strcmp.c:68";
+    __gen_e_acsl_literal_string_23 = "strcmp.c:73";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
-                         sizeof("strcmp.c:68"));
+                         sizeof("strcmp.c:73"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
-    __gen_e_acsl_literal_string_22 = "strcmp.c:67";
+    __gen_e_acsl_literal_string_22 = "strcmp.c:72";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_22,
-                         sizeof("strcmp.c:67"));
+                         sizeof("strcmp.c:72"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_22);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_22);
-    __gen_e_acsl_literal_string_21 = "strcmp.c:65";
+    __gen_e_acsl_literal_string_21 = "strcmp.c:70";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21,
-                         sizeof("strcmp.c:65"));
+                         sizeof("strcmp.c:70"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21);
-    __gen_e_acsl_literal_string_20 = "strcmp.c:64";
+    __gen_e_acsl_literal_string_20 = "strcmp.c:69";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_20,
-                         sizeof("strcmp.c:64"));
+                         sizeof("strcmp.c:69"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_20);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_20);
-    __gen_e_acsl_literal_string_19 = "strcmp.c:63";
+    __gen_e_acsl_literal_string_19 = "strcmp.c:68";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,
-                         sizeof("strcmp.c:63"));
+                         sizeof("strcmp.c:68"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19);
-    __gen_e_acsl_literal_string_18 = "strcmp.c:53";
+    __gen_e_acsl_literal_string_18 = "strcmp.c:58";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18,
-                         sizeof("strcmp.c:53"));
+                         sizeof("strcmp.c:58"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18);
-    __gen_e_acsl_literal_string_17 = "strcmp.c:52";
+    __gen_e_acsl_literal_string_17 = "strcmp.c:57";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17,
-                         sizeof("strcmp.c:52"));
+                         sizeof("strcmp.c:57"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_17);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_17);
-    __gen_e_acsl_literal_string_16 = "strcmp.c:47";
+    __gen_e_acsl_literal_string_16 = "strcmp.c:52";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16,
-                         sizeof("strcmp.c:47"));
+                         sizeof("strcmp.c:52"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16);
-    __gen_e_acsl_literal_string_15 = "strcmp.c:46";
+    __gen_e_acsl_literal_string_15 = "strcmp.c:51";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15,
-                         sizeof("strcmp.c:46"));
+                         sizeof("strcmp.c:51"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15);
-    __gen_e_acsl_literal_string_14 = "strcmp.c:44";
+    __gen_e_acsl_literal_string_14 = "strcmp.c:49";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("strcmp.c:44"));
+                         sizeof("strcmp.c:49"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_13 = "strcmp.c:41";
+    __gen_e_acsl_literal_string_13 = "strcmp.c:46";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13,
-                         sizeof("strcmp.c:41"));
+                         sizeof("strcmp.c:46"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13);
-    __gen_e_acsl_literal_string_12 = "strcmp.c:39";
+    __gen_e_acsl_literal_string_12 = "strcmp.c:44";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("strcmp.c:39"));
+                         sizeof("strcmp.c:44"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
-    __gen_e_acsl_literal_string_11 = "strcmp.c:36";
+    __gen_e_acsl_literal_string_11 = "strcmp.c:41";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11,
-                         sizeof("strcmp.c:36"));
+                         sizeof("strcmp.c:41"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11);
-    __gen_e_acsl_literal_string_10 = "strcmp.c:33";
+    __gen_e_acsl_literal_string_10 = "strcmp.c:38";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10,
-                         sizeof("strcmp.c:33"));
+                         sizeof("strcmp.c:38"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10);
-    __gen_e_acsl_literal_string_9 = "strcmp.c:32";
+    __gen_e_acsl_literal_string_9 = "strcmp.c:37";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9,
-                         sizeof("strcmp.c:32"));
+                         sizeof("strcmp.c:37"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9);
-    __gen_e_acsl_literal_string_8 = "strcmp.c:31";
+    __gen_e_acsl_literal_string_8 = "strcmp.c:36";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_8,
-                         sizeof("strcmp.c:31"));
+                         sizeof("strcmp.c:36"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_8);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_8);
     __gen_e_acsl_literal_string_7 = "comparison failure: %d == %d\n";
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
index 40ab8b6fa9ca3559cda06b4294bce0ea0d81f7bf..fbb489b4f7394002f139c0ef4dbc26e908949c09 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
@@ -140,7 +140,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data.pred_txt = "!\\initialized(&dest[0 .. 3])";
       __gen_e_acsl_assert_data.file = "strcpy.c";
       __gen_e_acsl_assert_data.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data.line = 15;
+      __gen_e_acsl_assert_data.line = 20;
       __e_acsl_assert(! __gen_e_acsl_initialized,& __gen_e_acsl_assert_data);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
     }
@@ -176,7 +176,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_2.pred_txt = "\\initialized(&src[0 .. 1])";
       __gen_e_acsl_assert_data_2.file = "strcpy.c";
       __gen_e_acsl_assert_data_2.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_2.line = 16;
+      __gen_e_acsl_assert_data_2.line = 21;
       __e_acsl_assert(__gen_e_acsl_initialized_2,
                       & __gen_e_acsl_assert_data_2);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -214,7 +214,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_3.pred_txt = "\\initialized(&dest[0 .. 1])";
       __gen_e_acsl_assert_data_3.file = "strcpy.c";
       __gen_e_acsl_assert_data_3.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_3.line = 19;
+      __gen_e_acsl_assert_data_3.line = 24;
       __e_acsl_assert(__gen_e_acsl_initialized_3,
                       & __gen_e_acsl_assert_data_3);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -251,7 +251,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_4.pred_txt = "!\\initialized(&dest[2 .. 3])";
       __gen_e_acsl_assert_data_4.file = "strcpy.c";
       __gen_e_acsl_assert_data_4.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_4.line = 20;
+      __gen_e_acsl_assert_data_4.line = 25;
       __e_acsl_assert(! __gen_e_acsl_initialized_4,
                       & __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -298,7 +298,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_5.pred_txt = "!\\initialized(&dest_0[0 .. 3])";
       __gen_e_acsl_assert_data_5.file = "strcpy.c";
       __gen_e_acsl_assert_data_5.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_5.line = 25;
+      __gen_e_acsl_assert_data_5.line = 30;
       __e_acsl_assert(! __gen_e_acsl_initialized_5,
                       & __gen_e_acsl_assert_data_5);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -336,7 +336,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_6.pred_txt = "\\initialized(&src_0[0 .. 3])";
       __gen_e_acsl_assert_data_6.file = "strcpy.c";
       __gen_e_acsl_assert_data_6.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_6.line = 26;
+      __gen_e_acsl_assert_data_6.line = 31;
       __e_acsl_assert(__gen_e_acsl_initialized_6,
                       & __gen_e_acsl_assert_data_6);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -361,7 +361,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_7.pred_txt = "\\initialized((char *)dest_0)";
       __gen_e_acsl_assert_data_7.file = "strcpy.c";
       __gen_e_acsl_assert_data_7.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_7.line = 29;
+      __gen_e_acsl_assert_data_7.line = 34;
       __e_acsl_assert(__gen_e_acsl_initialized_7,
                       & __gen_e_acsl_assert_data_7);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
@@ -399,7 +399,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_8.pred_txt = "!\\initialized(&dest_0[1 .. 3])";
       __gen_e_acsl_assert_data_8.file = "strcpy.c";
       __gen_e_acsl_assert_data_8.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_8.line = 30;
+      __gen_e_acsl_assert_data_8.line = 35;
       __e_acsl_assert(! __gen_e_acsl_initialized_8,
                       & __gen_e_acsl_assert_data_8);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
@@ -446,7 +446,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_9.pred_txt = "!\\initialized(&dest_1[0 .. 3])";
       __gen_e_acsl_assert_data_9.file = "strcpy.c";
       __gen_e_acsl_assert_data_9.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_9.line = 35;
+      __gen_e_acsl_assert_data_9.line = 40;
       __e_acsl_assert(! __gen_e_acsl_initialized_9,
                       & __gen_e_acsl_assert_data_9);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
@@ -484,7 +484,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_10.pred_txt = "\\initialized(&src_1[0 .. 3])";
       __gen_e_acsl_assert_data_10.file = "strcpy.c";
       __gen_e_acsl_assert_data_10.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_10.line = 36;
+      __gen_e_acsl_assert_data_10.line = 41;
       __e_acsl_assert(__gen_e_acsl_initialized_10,
                       & __gen_e_acsl_assert_data_10);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
@@ -523,7 +523,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_11.pred_txt = "\\initialized(&dest_1[0 .. 2])";
       __gen_e_acsl_assert_data_11.file = "strcpy.c";
       __gen_e_acsl_assert_data_11.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_11.line = 39;
+      __gen_e_acsl_assert_data_11.line = 44;
       __e_acsl_assert(__gen_e_acsl_initialized_11,
                       & __gen_e_acsl_assert_data_11);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
@@ -547,7 +547,7 @@ void test_memory_tracking(void)
       __gen_e_acsl_assert_data_12.pred_txt = "!\\initialized(&dest_1[3])";
       __gen_e_acsl_assert_data_12.file = "strcpy.c";
       __gen_e_acsl_assert_data_12.fct = "test_memory_tracking";
-      __gen_e_acsl_assert_data_12.line = 40;
+      __gen_e_acsl_assert_data_12.line = 45;
       __e_acsl_assert(! __gen_e_acsl_initialized_12,
                       & __gen_e_acsl_assert_data_12);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
@@ -803,89 +803,89 @@ void __e_acsl_globals_init(void)
   static char __e_acsl_already_run = 0;
   if (! __e_acsl_already_run) {
     __e_acsl_already_run = 1;
-    __gen_e_acsl_literal_string_24 = "strcpy.c:76";
+    __gen_e_acsl_literal_string_24 = "strcpy.c:81";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_24,
-                         sizeof("strcpy.c:76"));
+                         sizeof("strcpy.c:81"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_24);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_24);
-    __gen_e_acsl_literal_string_23 = "strcpy.c:75";
+    __gen_e_acsl_literal_string_23 = "strcpy.c:80";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
-                         sizeof("strcpy.c:75"));
+                         sizeof("strcpy.c:80"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
-    __gen_e_acsl_literal_string_22 = "strcpy.c:74";
+    __gen_e_acsl_literal_string_22 = "strcpy.c:79";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_22,
-                         sizeof("strcpy.c:74"));
+                         sizeof("strcpy.c:79"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_22);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_22);
-    __gen_e_acsl_literal_string_21 = "strcpy.c:73";
+    __gen_e_acsl_literal_string_21 = "strcpy.c:78";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21,
-                         sizeof("strcpy.c:73"));
+                         sizeof("strcpy.c:78"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21);
-    __gen_e_acsl_literal_string_20 = "strcpy.c:72";
+    __gen_e_acsl_literal_string_20 = "strcpy.c:77";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_20,
-                         sizeof("strcpy.c:72"));
+                         sizeof("strcpy.c:77"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_20);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_20);
-    __gen_e_acsl_literal_string_19 = "strcpy.c:71";
+    __gen_e_acsl_literal_string_19 = "strcpy.c:76";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,
-                         sizeof("strcpy.c:71"));
+                         sizeof("strcpy.c:76"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19);
-    __gen_e_acsl_literal_string_18 = "strcpy.c:70";
+    __gen_e_acsl_literal_string_18 = "strcpy.c:75";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18,
-                         sizeof("strcpy.c:70"));
+                         sizeof("strcpy.c:75"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18);
-    __gen_e_acsl_literal_string_17 = "strcpy.c:69";
+    __gen_e_acsl_literal_string_17 = "strcpy.c:74";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17,
-                         sizeof("strcpy.c:69"));
+                         sizeof("strcpy.c:74"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_17);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_17);
-    __gen_e_acsl_literal_string_16 = "strcpy.c:66";
+    __gen_e_acsl_literal_string_16 = "strcpy.c:71";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16,
-                         sizeof("strcpy.c:66"));
+                         sizeof("strcpy.c:71"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16);
-    __gen_e_acsl_literal_string_15 = "strcpy.c:65";
+    __gen_e_acsl_literal_string_15 = "strcpy.c:70";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15,
-                         sizeof("strcpy.c:65"));
+                         sizeof("strcpy.c:70"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15);
-    __gen_e_acsl_literal_string_14 = "strcpy.c:64";
+    __gen_e_acsl_literal_string_14 = "strcpy.c:69";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("strcpy.c:64"));
+                         sizeof("strcpy.c:69"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_13 = "strcpy.c:63";
+    __gen_e_acsl_literal_string_13 = "strcpy.c:68";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13,
-                         sizeof("strcpy.c:63"));
+                         sizeof("strcpy.c:68"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13);
-    __gen_e_acsl_literal_string_12 = "strcpy.c:62";
+    __gen_e_acsl_literal_string_12 = "strcpy.c:67";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("strcpy.c:62"));
+                         sizeof("strcpy.c:67"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
-    __gen_e_acsl_literal_string_11 = "strcpy.c:61";
+    __gen_e_acsl_literal_string_11 = "strcpy.c:66";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11,
-                         sizeof("strcpy.c:61"));
+                         sizeof("strcpy.c:66"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11);
-    __gen_e_acsl_literal_string_10 = "strcpy.c:60";
+    __gen_e_acsl_literal_string_10 = "strcpy.c:65";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10,
-                         sizeof("strcpy.c:60"));
+                         sizeof("strcpy.c:65"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10);
-    __gen_e_acsl_literal_string_9 = "strcpy.c:59";
+    __gen_e_acsl_literal_string_9 = "strcpy.c:64";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9,
-                         sizeof("strcpy.c:59"));
+                         sizeof("strcpy.c:64"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9);
-    __gen_e_acsl_literal_string_7 = "strcpy.c:58";
+    __gen_e_acsl_literal_string_7 = "strcpy.c:63";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_7,
-                         sizeof("strcpy.c:58"));
+                         sizeof("strcpy.c:63"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_7);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_7);
     __gen_e_acsl_literal_string_6 = "abcd";
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
index 0c6854b4d1ccfd0a30bc8c2b55bb5fcea15973a5..76ab282dbc748999d8c630347c99fcd3a09c43d0 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
@@ -375,39 +375,39 @@ void __e_acsl_globals_init(void)
                          sizeof("the cat"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_7);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_7);
-    __gen_e_acsl_literal_string_15 = "strlen.c:35";
+    __gen_e_acsl_literal_string_15 = "strlen.c:40";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15,
-                         sizeof("strlen.c:35"));
+                         sizeof("strlen.c:40"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15);
-    __gen_e_acsl_literal_string_14 = "strlen.c:33";
+    __gen_e_acsl_literal_string_14 = "strlen.c:38";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("strlen.c:33"));
+                         sizeof("strlen.c:38"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_13 = "strlen.c:31";
+    __gen_e_acsl_literal_string_13 = "strlen.c:36";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13,
-                         sizeof("strlen.c:31"));
+                         sizeof("strlen.c:36"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13);
-    __gen_e_acsl_literal_string_12 = "strlen.c:26";
+    __gen_e_acsl_literal_string_12 = "strlen.c:31";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("strlen.c:26"));
+                         sizeof("strlen.c:31"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
-    __gen_e_acsl_literal_string_11 = "strlen.c:25";
+    __gen_e_acsl_literal_string_11 = "strlen.c:30";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11,
-                         sizeof("strlen.c:25"));
+                         sizeof("strlen.c:30"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11);
-    __gen_e_acsl_literal_string_10 = "strlen.c:24";
+    __gen_e_acsl_literal_string_10 = "strlen.c:29";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10,
-                         sizeof("strlen.c:24"));
+                         sizeof("strlen.c:29"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10);
-    __gen_e_acsl_literal_string_9 = "strlen.c:23";
+    __gen_e_acsl_literal_string_9 = "strlen.c:28";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9,
-                         sizeof("strlen.c:23"));
+                         sizeof("strlen.c:28"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9);
     __gen_e_acsl_literal_string = "TEST %d: ";
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
index 8cf84baead995b3de933067dd24d49ba985f8966..180520653f74553d5bf54704909ad132cdbedb7b 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
@@ -1,4 +1,4 @@
-[variadic] strcmp.c:13: Warning: 
+[variadic] strcmp.c:18: Warning: 
   Call to function fprintf with non-static format argument: assuming that parameters are coherent with the format, and that no %n specifiers are present in the actual string.
 [e-acsl] beginning translation.
 [e-acsl] Warning: annotating undefined function `abort':
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcat.e-acsl.err.log b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcat.e-acsl.err.log
index dad25f60643f0198dfa3a8803aaf7a760ea588a1..51d925c75c07d4204a30fa1812d5af97ccdab817 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcat.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcat.e-acsl.err.log
@@ -1,40 +1,40 @@
-TEST 1: OK: Expected execution at strcat.c:68
-TEST 2: OK: Expected execution at strcat.c:70
+TEST 1: OK: Expected execution at strcat.c:73
+TEST 2: OK: Expected execution at strcat.c:75
 strcat: insufficient space in destination string, available: 8 bytes, requires at least 9 bytes
-TEST 3: OK: Expected signal at strcat.c:71
+TEST 3: OK: Expected signal at strcat.c:76
 strcat: destination string string unallocated
-TEST 4: OK: Expected signal at strcat.c:72
+TEST 4: OK: Expected signal at strcat.c:77
 strcat: source string string unallocated
-TEST 5: OK: Expected signal at strcat.c:73
+TEST 5: OK: Expected signal at strcat.c:78
 strcat: destination string string unallocated
-TEST 6: OK: Expected signal at strcat.c:74
+TEST 6: OK: Expected signal at strcat.c:79
 strcat: source string string unallocated
-TEST 7: OK: Expected signal at strcat.c:75
+TEST 7: OK: Expected signal at strcat.c:80
 strcat: destination string string is not writable
-TEST 8: OK: Expected signal at strcat.c:76
+TEST 8: OK: Expected signal at strcat.c:81
 strcat: overlapping memory areas
-TEST 9: OK: Expected signal at strcat.c:77
+TEST 9: OK: Expected signal at strcat.c:82
 strcat: overlapping memory areas
-TEST 10: OK: Expected signal at strcat.c:78
+TEST 10: OK: Expected signal at strcat.c:83
 strcat: overlapping memory areas
-TEST 11: OK: Expected signal at strcat.c:79
-TEST 12: OK: Expected execution at strcat.c:80
-TEST 13: OK: Expected execution at strcat.c:93
+TEST 11: OK: Expected signal at strcat.c:84
+TEST 12: OK: Expected execution at strcat.c:85
+TEST 13: OK: Expected execution at strcat.c:98
 strncat: insufficient space in destination string, available: 8 bytes, requires at least 9 bytes
-TEST 14: OK: Expected signal at strcat.c:94
+TEST 14: OK: Expected signal at strcat.c:99
 strcat: destination string string unallocated
-TEST 15: OK: Expected signal at strcat.c:95
+TEST 15: OK: Expected signal at strcat.c:100
 strncat: source string string unallocated
-TEST 16: OK: Expected signal at strcat.c:96
+TEST 16: OK: Expected signal at strcat.c:101
 strcat: destination string string unallocated
-TEST 17: OK: Expected signal at strcat.c:97
+TEST 17: OK: Expected signal at strcat.c:102
 strncat: source string string unallocated
-TEST 18: OK: Expected signal at strcat.c:98
+TEST 18: OK: Expected signal at strcat.c:103
 strcat: destination string string is not writable
-TEST 19: OK: Expected signal at strcat.c:99
+TEST 19: OK: Expected signal at strcat.c:104
 strcat: overlapping memory areas
-TEST 20: OK: Expected signal at strcat.c:101
+TEST 20: OK: Expected signal at strcat.c:106
 strncat: insufficient space in destination string, available: 6 bytes, requires at least 7 bytes
-TEST 21: OK: Expected signal at strcat.c:102
+TEST 21: OK: Expected signal at strcat.c:107
 strcat: overlapping memory areas
-TEST 22: OK: Expected signal at strcat.c:103
+TEST 22: OK: Expected signal at strcat.c:108
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcmp.e-acsl.err.log b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcmp.e-acsl.err.log
index 146e84288e6265f839568ec11ba1676962d893b1..782ea4149cd18b15f3599a061b54d2d11758c10e 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcmp.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcmp.e-acsl.err.log
@@ -1,36 +1,36 @@
-TEST 1: OK: Expected execution at strcmp.c:31
-TEST 2: OK: Expected execution at strcmp.c:32
-TEST 3: OK: Expected execution at strcmp.c:33
+TEST 1: OK: Expected execution at strcmp.c:36
+TEST 2: OK: Expected execution at strcmp.c:37
+TEST 3: OK: Expected execution at strcmp.c:38
 strcmp: string 1 string not NUL-terminated
-TEST 4: OK: Expected signal at strcmp.c:36
+TEST 4: OK: Expected signal at strcmp.c:41
 strcmp: string 2 string not NUL-terminated
-TEST 5: OK: Expected signal at strcmp.c:39
+TEST 5: OK: Expected signal at strcmp.c:44
 strcmp: string 1 string not NUL-terminated
-TEST 6: OK: Expected signal at strcmp.c:41
+TEST 6: OK: Expected signal at strcmp.c:46
 strcmp: string 2 string not NUL-terminated
-TEST 7: OK: Expected signal at strcmp.c:44
+TEST 7: OK: Expected signal at strcmp.c:49
 strcmp: string 2 string unallocated
-TEST 8: OK: Expected signal at strcmp.c:46
+TEST 8: OK: Expected signal at strcmp.c:51
 strcmp: string 1 string unallocated
-TEST 9: OK: Expected signal at strcmp.c:47
+TEST 9: OK: Expected signal at strcmp.c:52
 strcmp: string 1 string unallocated
-TEST 10: OK: Expected signal at strcmp.c:52
+TEST 10: OK: Expected signal at strcmp.c:57
 strcmp: string 2 string unallocated
-TEST 11: OK: Expected signal at strcmp.c:53
-TEST 12: OK: Expected execution at strcmp.c:63
-TEST 13: OK: Expected execution at strcmp.c:64
-TEST 14: OK: Expected execution at strcmp.c:65
-TEST 15: OK: Expected execution at strcmp.c:67
-TEST 16: OK: Expected execution at strcmp.c:68
-TEST 17: OK: Expected execution at strcmp.c:72
-TEST 18: OK: Expected execution at strcmp.c:75
-TEST 19: OK: Expected execution at strcmp.c:77
-TEST 20: OK: Expected execution at strcmp.c:80
+TEST 11: OK: Expected signal at strcmp.c:58
+TEST 12: OK: Expected execution at strcmp.c:68
+TEST 13: OK: Expected execution at strcmp.c:69
+TEST 14: OK: Expected execution at strcmp.c:70
+TEST 15: OK: Expected execution at strcmp.c:72
+TEST 16: OK: Expected execution at strcmp.c:73
+TEST 17: OK: Expected execution at strcmp.c:77
+TEST 18: OK: Expected execution at strcmp.c:80
+TEST 19: OK: Expected execution at strcmp.c:82
+TEST 20: OK: Expected execution at strcmp.c:85
 strncmp: string 2 string has insufficient length
-TEST 21: OK: Expected signal at strcmp.c:83
+TEST 21: OK: Expected signal at strcmp.c:88
 strncmp: string 2 string has insufficient length
-TEST 22: OK: Expected signal at strcmp.c:86
+TEST 22: OK: Expected signal at strcmp.c:91
 strncmp: string 2 string has insufficient length
-TEST 23: OK: Expected signal at strcmp.c:87
+TEST 23: OK: Expected signal at strcmp.c:92
 strncmp: string 1 string has insufficient length
-TEST 24: OK: Expected signal at strcmp.c:90
+TEST 24: OK: Expected signal at strcmp.c:95
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcpy.e-acsl.err.log b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcpy.e-acsl.err.log
index ad3ca91eedf404dbe554badbeaf0be1bd27e5642..f3cc188f4039fa248a13d21524a1a8420afdbf98 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_dev/strcpy.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/builtin/oracle_dev/strcpy.e-acsl.err.log
@@ -1,27 +1,27 @@
-TEST 1: OK: Expected execution at strcpy.c:58
-TEST 2: OK: Expected execution at strcpy.c:59
+TEST 1: OK: Expected execution at strcpy.c:63
+TEST 2: OK: Expected execution at strcpy.c:64
 strlen: insufficient space in destination string, at least 5 bytes required
-TEST 3: OK: Expected signal at strcpy.c:60
+TEST 3: OK: Expected signal at strcpy.c:65
 strlen: destination string space unallocated or cannot be written
-TEST 4: OK: Expected signal at strcpy.c:61
+TEST 4: OK: Expected signal at strcpy.c:66
 strlen: destination string space unallocated or cannot be written
-TEST 5: OK: Expected signal at strcpy.c:62
-TEST 6: OK: Expected execution at strcpy.c:63
+TEST 5: OK: Expected signal at strcpy.c:67
+TEST 6: OK: Expected execution at strcpy.c:68
 strcpy: overlapping memory areas
-TEST 7: OK: Expected signal at strcpy.c:64
-TEST 8: OK: Expected execution at strcpy.c:65
+TEST 7: OK: Expected signal at strcpy.c:69
+TEST 8: OK: Expected execution at strcpy.c:70
 strcpy: overlapping memory areas
-TEST 9: OK: Expected signal at strcpy.c:66
-TEST 10: OK: Expected execution at strcpy.c:69
+TEST 9: OK: Expected signal at strcpy.c:71
+TEST 10: OK: Expected execution at strcpy.c:74
 strncpy: insufficient space in destination string , at least 6 bytes required
-TEST 11: OK: Expected signal at strcpy.c:70
+TEST 11: OK: Expected signal at strcpy.c:75
 strncpy: destination string  space unallocated or cannot be written
-TEST 12: OK: Expected signal at strcpy.c:71
+TEST 12: OK: Expected signal at strcpy.c:76
 strncpy: destination string  space unallocated or cannot be written
-TEST 13: OK: Expected signal at strcpy.c:72
-TEST 14: OK: Expected execution at strcpy.c:73
+TEST 13: OK: Expected signal at strcpy.c:77
+TEST 14: OK: Expected execution at strcpy.c:78
 strncpy: overlapping memory areas
-TEST 15: OK: Expected signal at strcpy.c:74
-TEST 16: OK: Expected execution at strcpy.c:75
+TEST 15: OK: Expected signal at strcpy.c:79
+TEST 16: OK: Expected execution at strcpy.c:80
 strncpy: overlapping memory areas
-TEST 17: OK: Expected signal at strcpy.c:76
+TEST 17: OK: Expected signal at strcpy.c:81
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_dev/strlen.e-acsl.err.log b/src/plugins/e-acsl/tests/builtin/oracle_dev/strlen.e-acsl.err.log
index 8d7f002fa698d3aed097673b80834819806a6872..5e02496c814658f0aa801ddef8ce261eb7871aa7 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_dev/strlen.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/builtin/oracle_dev/strlen.e-acsl.err.log
@@ -1,10 +1,10 @@
-TEST 1: OK: Expected execution at strlen.c:23
-TEST 2: OK: Expected execution at strlen.c:24
-TEST 3: OK: Expected execution at strlen.c:25
-TEST 4: OK: Expected execution at strlen.c:26
+TEST 1: OK: Expected execution at strlen.c:28
+TEST 2: OK: Expected execution at strlen.c:29
+TEST 3: OK: Expected execution at strlen.c:30
+TEST 4: OK: Expected execution at strlen.c:31
 strlen: input string not NUL-terminated
-TEST 5: OK: Expected signal at strlen.c:31
+TEST 5: OK: Expected signal at strlen.c:36
 strlen: input string not NUL-terminated
-TEST 6: OK: Expected signal at strlen.c:33
+TEST 6: OK: Expected signal at strlen.c:38
 strlen: input string unallocated
-TEST 7: OK: Expected signal at strlen.c:35
+TEST 7: OK: Expected signal at strlen.c:40
diff --git a/src/plugins/e-acsl/tests/builtin/strcat.c b/src/plugins/e-acsl/tests/builtin/strcat.c
index d8bd751af84661e01e3ff675eddba729d9fa622a..ae47c89f2928c950ef25095e7f4bc2dd8fc3710b 100644
--- a/src/plugins/e-acsl/tests/builtin/strcat.c
+++ b/src/plugins/e-acsl/tests/builtin/strcat.c
@@ -1,7 +1,12 @@
 /* run.config
  COMMENT: Test `strcat` and `strncat` E-ACSL built-ins
- DEPS: @PTESTS_DEPS@ utils/signalled.h
+ DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT: +"-eva-precision=1"
+ COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/builtin/strcmp.c b/src/plugins/e-acsl/tests/builtin/strcmp.c
index e90d1b7f2ea4613ea6d98a8654bf78d02f1ff586..10c86c02e0aa57f3d845574008a91f39bb4eec26 100644
--- a/src/plugins/e-acsl/tests/builtin/strcmp.c
+++ b/src/plugins/e-acsl/tests/builtin/strcmp.c
@@ -1,7 +1,12 @@
 /* run.config
  COMMENT: Test `strcmp` and `strncmp` E-ACSL built-ins
- DEPS: @PTESTS_DEPS@ utils/signalled.h
+ DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT:
+ COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/builtin/strcpy.c b/src/plugins/e-acsl/tests/builtin/strcpy.c
index 44e8b5f81106f3025f08100ba72c70c8987ed65e..51987a4299dbfbe0d75279a0e566dea7ec4274d5 100644
--- a/src/plugins/e-acsl/tests/builtin/strcpy.c
+++ b/src/plugins/e-acsl/tests/builtin/strcpy.c
@@ -1,7 +1,12 @@
 /* run.config
  COMMENT: Test `strcpy` and `strncpy` E-ACSL built-ins
- DEPS: @PTESTS_DEPS@ utils/signalled.h
+ DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT:
+ COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/builtin/strlen.c b/src/plugins/e-acsl/tests/builtin/strlen.c
index 556734a33c04696ac9b9262f3ae248a1c64df366..b570dfe679ef08540fc73c48292d915df29d460a 100644
--- a/src/plugins/e-acsl/tests/builtin/strlen.c
+++ b/src/plugins/e-acsl/tests/builtin/strlen.c
@@ -1,7 +1,12 @@
 /* run.config
  COMMENT: Test `strlen` E-ACSL built-ins
- DEPS: @PTESTS_DEPS@ utils/signalled.h
+ DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT:
+ COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
index ee89abb7fcb4c4457d8d139441afbf78d105cc07..40f13a6bb2b9b8efb37e49b2c6b0a42f3f1fcb91 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
@@ -750,7 +750,7 @@ int __gen_e_acsl_usleep(useconds_t usec)
     __gen_e_acsl_assert_data.pred_txt = "\\result == 0 || \\result == -1";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/unistd.h";
     __gen_e_acsl_assert_data.fct = "usleep";
-    __gen_e_acsl_assert_data.line = 1133;
+    __gen_e_acsl_assert_data.line = 1145;
     __gen_e_acsl_assert_data.name = "result_ok_or_error";
     __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
index 015865844d25becb116a1fef1bd8cfbc986dabe0..4f732c743cec300b6b732d4bc173a952ba3ed750 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
@@ -432,7 +432,7 @@ int __gen_e_acsl_usleep(useconds_t usec)
     __gen_e_acsl_assert_data.pred_txt = "\\result == 0 || \\result == -1";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/unistd.h";
     __gen_e_acsl_assert_data.fct = "usleep";
-    __gen_e_acsl_assert_data.line = 1133;
+    __gen_e_acsl_assert_data.line = 1145;
     __gen_e_acsl_assert_data.name = "result_ok_or_error";
     __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
index e2c36e496bfdfe3bfea42a54de5cd5d7e96cc934..7ea32d04a840db852dfa49087dfe4c53929d64ae 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
@@ -35,7 +35,7 @@
 [e-acsl] Warning: annotating undefined function `usleep':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/unistd.h:1130: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/unistd.h:1142: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdlib.h:505: Warning: 
@@ -166,6 +166,6 @@
 [eva:alarm] FRAMAC_SHARE/libc/pthread.h:316: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/unistd.h:1133: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/unistd.h:1145: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
index e2c36e496bfdfe3bfea42a54de5cd5d7e96cc934..7ea32d04a840db852dfa49087dfe4c53929d64ae 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
@@ -35,7 +35,7 @@
 [e-acsl] Warning: annotating undefined function `usleep':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/unistd.h:1130: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/unistd.h:1142: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdlib.h:505: Warning: 
@@ -166,6 +166,6 @@
 [eva:alarm] FRAMAC_SHARE/libc/pthread.h:316: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/unistd.h:1133: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/unistd.h:1145: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
diff --git a/src/plugins/e-acsl/tests/format/fprintf.c b/src/plugins/e-acsl/tests/format/fprintf.c
index 0ad4326e664141bc2d524b21c0550f16b16ef10c..d882296dc46353433056f0b1c97a646606364f58 100644
--- a/src/plugins/e-acsl/tests/format/fprintf.c
+++ b/src/plugins/e-acsl/tests/format/fprintf.c
@@ -1,6 +1,12 @@
 /* run.config
    COMMENT: Check behaviours of format functions
+   DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT: +"-eva-precision=1"
+   COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
index 8871dc016e5381cca2b6ce61a0ac82cef7435061..658935448b79860faf628778090446a16a2f2b6e 100644
--- a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
+++ b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
@@ -48,5 +48,5 @@
 [eva:alarm] FRAMAC_SHARE/libc/unistd.h:847: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[kernel:annot:missing-spec] fprintf.c:16: Warning: 
+[kernel:annot:missing-spec] fprintf.c:22: Warning: 
   Neither code nor specification for function __e_acsl_builtin_fprintf, generating default assigns from the prototype
diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
index 14d271ade3d3f4e24b9af3902c96cf8a9e6bd8dc..05b5a31863fe96479a2678e995c6a2ac2a1a0fef 100644
--- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
+++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
@@ -354,94 +354,94 @@ void __e_acsl_globals_init(void)
   static char __e_acsl_already_run = 0;
   if (! __e_acsl_already_run) {
     __e_acsl_already_run = 1;
-    __gen_e_acsl_literal_string_31 = "fprintf.c:48";
+    __gen_e_acsl_literal_string_31 = "fprintf.c:54";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_31,
-                         sizeof("fprintf.c:48"));
+                         sizeof("fprintf.c:54"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_31);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_31);
-    __gen_e_acsl_literal_string_30 = "fprintf.c:46";
+    __gen_e_acsl_literal_string_30 = "fprintf.c:52";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_30,
-                         sizeof("fprintf.c:46"));
+                         sizeof("fprintf.c:52"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_30);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_30);
-    __gen_e_acsl_literal_string_29 = "fprintf.c:45";
+    __gen_e_acsl_literal_string_29 = "fprintf.c:51";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_29,
-                         sizeof("fprintf.c:45"));
+                         sizeof("fprintf.c:51"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_29);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_29);
-    __gen_e_acsl_literal_string_28 = "fprintf.c:44";
+    __gen_e_acsl_literal_string_28 = "fprintf.c:50";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_28,
-                         sizeof("fprintf.c:44"));
+                         sizeof("fprintf.c:50"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_28);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_28);
-    __gen_e_acsl_literal_string_27 = "fprintf.c:43";
+    __gen_e_acsl_literal_string_27 = "fprintf.c:49";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27,
-                         sizeof("fprintf.c:43"));
+                         sizeof("fprintf.c:49"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27);
-    __gen_e_acsl_literal_string_26 = "fprintf.c:42";
+    __gen_e_acsl_literal_string_26 = "fprintf.c:48";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_26,
-                         sizeof("fprintf.c:42"));
+                         sizeof("fprintf.c:48"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_26);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_26);
-    __gen_e_acsl_literal_string_25 = "fprintf.c:39";
+    __gen_e_acsl_literal_string_25 = "fprintf.c:45";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25,
-                         sizeof("fprintf.c:39"));
+                         sizeof("fprintf.c:45"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25);
-    __gen_e_acsl_literal_string_24 = "fprintf.c:38";
+    __gen_e_acsl_literal_string_24 = "fprintf.c:44";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_24,
-                         sizeof("fprintf.c:38"));
+                         sizeof("fprintf.c:44"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_24);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_24);
-    __gen_e_acsl_literal_string_23 = "fprintf.c:37";
+    __gen_e_acsl_literal_string_23 = "fprintf.c:43";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
-                         sizeof("fprintf.c:37"));
+                         sizeof("fprintf.c:43"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
-    __gen_e_acsl_literal_string_21 = "fprintf.c:36";
+    __gen_e_acsl_literal_string_21 = "fprintf.c:42";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21,
-                         sizeof("fprintf.c:36"));
+                         sizeof("fprintf.c:42"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21);
-    __gen_e_acsl_literal_string_19 = "fprintf.c:35";
+    __gen_e_acsl_literal_string_19 = "fprintf.c:41";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,
-                         sizeof("fprintf.c:35"));
+                         sizeof("fprintf.c:41"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19);
-    __gen_e_acsl_literal_string_16 = "fprintf.c:29";
+    __gen_e_acsl_literal_string_16 = "fprintf.c:35";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16,
-                         sizeof("fprintf.c:29"));
+                         sizeof("fprintf.c:35"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16);
-    __gen_e_acsl_literal_string_15 = "fprintf.c:28";
+    __gen_e_acsl_literal_string_15 = "fprintf.c:34";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15,
-                         sizeof("fprintf.c:28"));
+                         sizeof("fprintf.c:34"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15);
-    __gen_e_acsl_literal_string_14 = "fprintf.c:23";
+    __gen_e_acsl_literal_string_14 = "fprintf.c:29";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("fprintf.c:23"));
+                         sizeof("fprintf.c:29"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_13 = "fprintf.c:22";
+    __gen_e_acsl_literal_string_13 = "fprintf.c:28";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13,
-                         sizeof("fprintf.c:22"));
+                         sizeof("fprintf.c:28"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13);
-    __gen_e_acsl_literal_string_12 = "fprintf.c:20";
+    __gen_e_acsl_literal_string_12 = "fprintf.c:26";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("fprintf.c:20"));
+                         sizeof("fprintf.c:26"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
-    __gen_e_acsl_literal_string_9 = "fprintf.c:17";
+    __gen_e_acsl_literal_string_9 = "fprintf.c:23";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9,
-                         sizeof("fprintf.c:17"));
+                         sizeof("fprintf.c:23"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9);
-    __gen_e_acsl_literal_string_8 = "fprintf.c:16";
+    __gen_e_acsl_literal_string_8 = "fprintf.c:22";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_8,
-                         sizeof("fprintf.c:16"));
+                         sizeof("fprintf.c:22"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_8);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_8);
     __gen_e_acsl_literal_string_11 = "foobar %s\n";
diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
index 5cc47f47128dfed9ed20d3092b3792a31ec2d031..31fd82319a2aae9f6f60e19041ecdf5c3fe783a0 100644
--- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
+++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
@@ -643,7 +643,7 @@ void test_specifier_application(char const *allowed, char const *fmt,
     __gen_e_acsl_assert_data.pred_txt = "0 < sizeof(char) * (int)(len + 1) <= 18446744073709551615";
     __gen_e_acsl_assert_data.file = "printf.c";
     __gen_e_acsl_assert_data.fct = "test_specifier_application";
-    __gen_e_acsl_assert_data.line = 55;
+    __gen_e_acsl_assert_data.line = 61;
     __gen_e_acsl_assert_data.name = "alloca_bounds";
     __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
@@ -1202,1374 +1202,1374 @@ void __e_acsl_globals_init(void)
                          sizeof("uoxX"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_7);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_7);
-    __gen_e_acsl_literal_string_455 = "printf.c:602";
+    __gen_e_acsl_literal_string_455 = "printf.c:608";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_455,
-                         sizeof("printf.c:602"));
+                         sizeof("printf.c:608"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_455);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_455);
-    __gen_e_acsl_literal_string_453 = "printf.c:599";
+    __gen_e_acsl_literal_string_453 = "printf.c:605";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_453,
-                         sizeof("printf.c:599"));
+                         sizeof("printf.c:605"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_453);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_453);
-    __gen_e_acsl_literal_string_451 = "printf.c:598";
+    __gen_e_acsl_literal_string_451 = "printf.c:604";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_451,
-                         sizeof("printf.c:598"));
+                         sizeof("printf.c:604"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_451);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_451);
-    __gen_e_acsl_literal_string_450 = "printf.c:597";
+    __gen_e_acsl_literal_string_450 = "printf.c:603";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_450,
-                         sizeof("printf.c:597"));
+                         sizeof("printf.c:603"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_450);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_450);
-    __gen_e_acsl_literal_string_448 = "printf.c:596";
+    __gen_e_acsl_literal_string_448 = "printf.c:602";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_448,
-                         sizeof("printf.c:596"));
+                         sizeof("printf.c:602"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_448);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_448);
-    __gen_e_acsl_literal_string_446 = "printf.c:595";
+    __gen_e_acsl_literal_string_446 = "printf.c:601";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_446,
-                         sizeof("printf.c:595"));
+                         sizeof("printf.c:601"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_446);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_446);
-    __gen_e_acsl_literal_string_444 = "printf.c:594";
+    __gen_e_acsl_literal_string_444 = "printf.c:600";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_444,
-                         sizeof("printf.c:594"));
+                         sizeof("printf.c:600"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_444);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_444);
-    __gen_e_acsl_literal_string_442 = "printf.c:593";
+    __gen_e_acsl_literal_string_442 = "printf.c:599";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_442,
-                         sizeof("printf.c:593"));
+                         sizeof("printf.c:599"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_442);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_442);
-    __gen_e_acsl_literal_string_440 = "printf.c:592";
+    __gen_e_acsl_literal_string_440 = "printf.c:598";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_440,
-                         sizeof("printf.c:592"));
+                         sizeof("printf.c:598"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_440);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_440);
-    __gen_e_acsl_literal_string_438 = "printf.c:591";
+    __gen_e_acsl_literal_string_438 = "printf.c:597";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_438,
-                         sizeof("printf.c:591"));
+                         sizeof("printf.c:597"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_438);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_438);
-    __gen_e_acsl_literal_string_436 = "printf.c:590";
+    __gen_e_acsl_literal_string_436 = "printf.c:596";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_436,
-                         sizeof("printf.c:590"));
+                         sizeof("printf.c:596"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_436);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_436);
-    __gen_e_acsl_literal_string_434 = "printf.c:587";
+    __gen_e_acsl_literal_string_434 = "printf.c:593";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_434,
-                         sizeof("printf.c:587"));
+                         sizeof("printf.c:593"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_434);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_434);
-    __gen_e_acsl_literal_string_433 = "printf.c:586";
+    __gen_e_acsl_literal_string_433 = "printf.c:592";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_433,
-                         sizeof("printf.c:586"));
+                         sizeof("printf.c:592"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_433);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_433);
-    __gen_e_acsl_literal_string_432 = "printf.c:585";
+    __gen_e_acsl_literal_string_432 = "printf.c:591";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_432,
-                         sizeof("printf.c:585"));
+                         sizeof("printf.c:591"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_432);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_432);
-    __gen_e_acsl_literal_string_431 = "printf.c:584";
+    __gen_e_acsl_literal_string_431 = "printf.c:590";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_431,
-                         sizeof("printf.c:584"));
+                         sizeof("printf.c:590"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_431);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_431);
-    __gen_e_acsl_literal_string_429 = "printf.c:581";
+    __gen_e_acsl_literal_string_429 = "printf.c:587";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_429,
-                         sizeof("printf.c:581"));
+                         sizeof("printf.c:587"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_429);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_429);
-    __gen_e_acsl_literal_string_428 = "printf.c:580";
+    __gen_e_acsl_literal_string_428 = "printf.c:586";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_428,
-                         sizeof("printf.c:580"));
+                         sizeof("printf.c:586"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_428);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_428);
-    __gen_e_acsl_literal_string_427 = "printf.c:579";
+    __gen_e_acsl_literal_string_427 = "printf.c:585";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_427,
-                         sizeof("printf.c:579"));
+                         sizeof("printf.c:585"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_427);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_427);
-    __gen_e_acsl_literal_string_425 = "printf.c:554";
+    __gen_e_acsl_literal_string_425 = "printf.c:560";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_425,
-                         sizeof("printf.c:554"));
+                         sizeof("printf.c:560"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_425);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_425);
-    __gen_e_acsl_literal_string_423 = "printf.c:553";
+    __gen_e_acsl_literal_string_423 = "printf.c:559";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_423,
-                         sizeof("printf.c:553"));
+                         sizeof("printf.c:559"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_423);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_423);
-    __gen_e_acsl_literal_string_421 = "printf.c:552";
+    __gen_e_acsl_literal_string_421 = "printf.c:558";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_421,
-                         sizeof("printf.c:552"));
+                         sizeof("printf.c:558"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_421);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_421);
-    __gen_e_acsl_literal_string_419 = "printf.c:551";
+    __gen_e_acsl_literal_string_419 = "printf.c:557";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_419,
-                         sizeof("printf.c:551"));
+                         sizeof("printf.c:557"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_419);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_419);
-    __gen_e_acsl_literal_string_417 = "printf.c:550";
+    __gen_e_acsl_literal_string_417 = "printf.c:556";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_417,
-                         sizeof("printf.c:550"));
+                         sizeof("printf.c:556"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_417);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_417);
-    __gen_e_acsl_literal_string_415 = "printf.c:547";
+    __gen_e_acsl_literal_string_415 = "printf.c:553";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_415,
-                         sizeof("printf.c:547"));
+                         sizeof("printf.c:553"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_415);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_415);
-    __gen_e_acsl_literal_string_414 = "printf.c:545";
+    __gen_e_acsl_literal_string_414 = "printf.c:551";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_414,
-                         sizeof("printf.c:545"));
+                         sizeof("printf.c:551"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_414);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_414);
-    __gen_e_acsl_literal_string_413 = "printf.c:542";
+    __gen_e_acsl_literal_string_413 = "printf.c:548";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_413,
-                         sizeof("printf.c:542"));
+                         sizeof("printf.c:548"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_413);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_413);
-    __gen_e_acsl_literal_string_412 = "printf.c:541";
+    __gen_e_acsl_literal_string_412 = "printf.c:547";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_412,
-                         sizeof("printf.c:541"));
+                         sizeof("printf.c:547"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_412);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_412);
-    __gen_e_acsl_literal_string_411 = "printf.c:536";
+    __gen_e_acsl_literal_string_411 = "printf.c:542";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_411,
-                         sizeof("printf.c:536"));
+                         sizeof("printf.c:542"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_411);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_411);
-    __gen_e_acsl_literal_string_410 = "printf.c:535";
+    __gen_e_acsl_literal_string_410 = "printf.c:541";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_410,
-                         sizeof("printf.c:535"));
+                         sizeof("printf.c:541"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_410);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_410);
-    __gen_e_acsl_literal_string_409 = "printf.c:534";
+    __gen_e_acsl_literal_string_409 = "printf.c:540";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_409,
-                         sizeof("printf.c:534"));
+                         sizeof("printf.c:540"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_409);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_409);
-    __gen_e_acsl_literal_string_408 = "printf.c:533";
+    __gen_e_acsl_literal_string_408 = "printf.c:539";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_408,
-                         sizeof("printf.c:533"));
+                         sizeof("printf.c:539"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_408);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_408);
-    __gen_e_acsl_literal_string_406 = "printf.c:526";
+    __gen_e_acsl_literal_string_406 = "printf.c:532";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_406,
-                         sizeof("printf.c:526"));
+                         sizeof("printf.c:532"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_406);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_406);
-    __gen_e_acsl_literal_string_405 = "printf.c:525";
+    __gen_e_acsl_literal_string_405 = "printf.c:531";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_405,
-                         sizeof("printf.c:525"));
+                         sizeof("printf.c:531"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_405);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_405);
-    __gen_e_acsl_literal_string_403 = "printf.c:522";
+    __gen_e_acsl_literal_string_403 = "printf.c:528";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_403,
-                         sizeof("printf.c:522"));
+                         sizeof("printf.c:528"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_403);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_403);
-    __gen_e_acsl_literal_string_402 = "printf.c:521";
+    __gen_e_acsl_literal_string_402 = "printf.c:527";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_402,
-                         sizeof("printf.c:521"));
+                         sizeof("printf.c:527"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_402);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_402);
-    __gen_e_acsl_literal_string_401 = "printf.c:520";
+    __gen_e_acsl_literal_string_401 = "printf.c:526";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_401,
-                         sizeof("printf.c:520"));
+                         sizeof("printf.c:526"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_401);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_401);
-    __gen_e_acsl_literal_string_400 = "printf.c:519";
+    __gen_e_acsl_literal_string_400 = "printf.c:525";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_400,
-                         sizeof("printf.c:519"));
+                         sizeof("printf.c:525"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_400);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_400);
-    __gen_e_acsl_literal_string_399 = "printf.c:518";
+    __gen_e_acsl_literal_string_399 = "printf.c:524";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_399,
-                         sizeof("printf.c:518"));
+                         sizeof("printf.c:524"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_399);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_399);
-    __gen_e_acsl_literal_string_398 = "printf.c:517";
+    __gen_e_acsl_literal_string_398 = "printf.c:523";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_398,
-                         sizeof("printf.c:517"));
+                         sizeof("printf.c:523"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_398);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_398);
-    __gen_e_acsl_literal_string_397 = "printf.c:516";
+    __gen_e_acsl_literal_string_397 = "printf.c:522";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_397,
-                         sizeof("printf.c:516"));
+                         sizeof("printf.c:522"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_397);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_397);
-    __gen_e_acsl_literal_string_395 = "printf.c:513";
+    __gen_e_acsl_literal_string_395 = "printf.c:519";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_395,
-                         sizeof("printf.c:513"));
+                         sizeof("printf.c:519"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_395);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_395);
-    __gen_e_acsl_literal_string_394 = "printf.c:512";
+    __gen_e_acsl_literal_string_394 = "printf.c:518";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_394,
-                         sizeof("printf.c:512"));
+                         sizeof("printf.c:518"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_394);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_394);
-    __gen_e_acsl_literal_string_393 = "printf.c:511";
+    __gen_e_acsl_literal_string_393 = "printf.c:517";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_393,
-                         sizeof("printf.c:511"));
+                         sizeof("printf.c:517"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_393);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_393);
-    __gen_e_acsl_literal_string_392 = "printf.c:510";
+    __gen_e_acsl_literal_string_392 = "printf.c:516";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_392,
-                         sizeof("printf.c:510"));
+                         sizeof("printf.c:516"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_392);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_392);
-    __gen_e_acsl_literal_string_391 = "printf.c:509";
+    __gen_e_acsl_literal_string_391 = "printf.c:515";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_391,
-                         sizeof("printf.c:509"));
+                         sizeof("printf.c:515"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_391);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_391);
-    __gen_e_acsl_literal_string_390 = "printf.c:508";
+    __gen_e_acsl_literal_string_390 = "printf.c:514";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_390,
-                         sizeof("printf.c:508"));
+                         sizeof("printf.c:514"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_390);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_390);
-    __gen_e_acsl_literal_string_389 = "printf.c:507";
+    __gen_e_acsl_literal_string_389 = "printf.c:513";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_389,
-                         sizeof("printf.c:507"));
+                         sizeof("printf.c:513"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_389);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_389);
-    __gen_e_acsl_literal_string_387 = "printf.c:506";
+    __gen_e_acsl_literal_string_387 = "printf.c:512";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_387,
-                         sizeof("printf.c:506"));
+                         sizeof("printf.c:512"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_387);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_387);
-    __gen_e_acsl_literal_string_385 = "printf.c:505";
+    __gen_e_acsl_literal_string_385 = "printf.c:511";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_385,
-                         sizeof("printf.c:505"));
+                         sizeof("printf.c:511"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_385);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_385);
-    __gen_e_acsl_literal_string_384 = "printf.c:504";
+    __gen_e_acsl_literal_string_384 = "printf.c:510";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_384,
-                         sizeof("printf.c:504"));
+                         sizeof("printf.c:510"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_384);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_384);
-    __gen_e_acsl_literal_string_383 = "printf.c:503";
+    __gen_e_acsl_literal_string_383 = "printf.c:509";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_383,
-                         sizeof("printf.c:503"));
+                         sizeof("printf.c:509"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_383);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_383);
-    __gen_e_acsl_literal_string_382 = "printf.c:502";
+    __gen_e_acsl_literal_string_382 = "printf.c:508";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_382,
-                         sizeof("printf.c:502"));
+                         sizeof("printf.c:508"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_382);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_382);
-    __gen_e_acsl_literal_string_381 = "printf.c:501";
+    __gen_e_acsl_literal_string_381 = "printf.c:507";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_381,
-                         sizeof("printf.c:501"));
+                         sizeof("printf.c:507"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_381);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_381);
-    __gen_e_acsl_literal_string_380 = "printf.c:500";
+    __gen_e_acsl_literal_string_380 = "printf.c:506";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_380,
-                         sizeof("printf.c:500"));
+                         sizeof("printf.c:506"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_380);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_380);
-    __gen_e_acsl_literal_string_379 = "printf.c:499";
+    __gen_e_acsl_literal_string_379 = "printf.c:505";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_379,
-                         sizeof("printf.c:499"));
+                         sizeof("printf.c:505"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_379);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_379);
-    __gen_e_acsl_literal_string_377 = "printf.c:498";
+    __gen_e_acsl_literal_string_377 = "printf.c:504";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_377,
-                         sizeof("printf.c:498"));
+                         sizeof("printf.c:504"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_377);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_377);
-    __gen_e_acsl_literal_string_375 = "printf.c:497";
+    __gen_e_acsl_literal_string_375 = "printf.c:503";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_375,
-                         sizeof("printf.c:497"));
+                         sizeof("printf.c:503"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_375);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_375);
-    __gen_e_acsl_literal_string_374 = "printf.c:496";
+    __gen_e_acsl_literal_string_374 = "printf.c:502";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_374,
-                         sizeof("printf.c:496"));
+                         sizeof("printf.c:502"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_374);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_374);
-    __gen_e_acsl_literal_string_373 = "printf.c:495";
+    __gen_e_acsl_literal_string_373 = "printf.c:501";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_373,
-                         sizeof("printf.c:495"));
+                         sizeof("printf.c:501"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_373);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_373);
-    __gen_e_acsl_literal_string_372 = "printf.c:494";
+    __gen_e_acsl_literal_string_372 = "printf.c:500";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_372,
-                         sizeof("printf.c:494"));
+                         sizeof("printf.c:500"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_372);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_372);
-    __gen_e_acsl_literal_string_371 = "printf.c:493";
+    __gen_e_acsl_literal_string_371 = "printf.c:499";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_371,
-                         sizeof("printf.c:493"));
+                         sizeof("printf.c:499"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_371);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_371);
-    __gen_e_acsl_literal_string_370 = "printf.c:492";
+    __gen_e_acsl_literal_string_370 = "printf.c:498";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_370,
-                         sizeof("printf.c:492"));
+                         sizeof("printf.c:498"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_370);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_370);
-    __gen_e_acsl_literal_string_369 = "printf.c:491";
+    __gen_e_acsl_literal_string_369 = "printf.c:497";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_369,
-                         sizeof("printf.c:491"));
+                         sizeof("printf.c:497"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_369);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_369);
-    __gen_e_acsl_literal_string_367 = "printf.c:490";
+    __gen_e_acsl_literal_string_367 = "printf.c:496";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_367,
-                         sizeof("printf.c:490"));
+                         sizeof("printf.c:496"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_367);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_367);
-    __gen_e_acsl_literal_string_365 = "printf.c:489";
+    __gen_e_acsl_literal_string_365 = "printf.c:495";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_365,
-                         sizeof("printf.c:489"));
+                         sizeof("printf.c:495"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_365);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_365);
-    __gen_e_acsl_literal_string_364 = "printf.c:488";
+    __gen_e_acsl_literal_string_364 = "printf.c:494";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_364,
-                         sizeof("printf.c:488"));
+                         sizeof("printf.c:494"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_364);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_364);
-    __gen_e_acsl_literal_string_363 = "printf.c:487";
+    __gen_e_acsl_literal_string_363 = "printf.c:493";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_363,
-                         sizeof("printf.c:487"));
+                         sizeof("printf.c:493"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_363);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_363);
-    __gen_e_acsl_literal_string_362 = "printf.c:486";
+    __gen_e_acsl_literal_string_362 = "printf.c:492";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_362,
-                         sizeof("printf.c:486"));
+                         sizeof("printf.c:492"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_362);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_362);
-    __gen_e_acsl_literal_string_361 = "printf.c:485";
+    __gen_e_acsl_literal_string_361 = "printf.c:491";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_361,
-                         sizeof("printf.c:485"));
+                         sizeof("printf.c:491"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_361);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_361);
-    __gen_e_acsl_literal_string_360 = "printf.c:484";
+    __gen_e_acsl_literal_string_360 = "printf.c:490";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_360,
-                         sizeof("printf.c:484"));
+                         sizeof("printf.c:490"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_360);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_360);
-    __gen_e_acsl_literal_string_359 = "printf.c:483";
+    __gen_e_acsl_literal_string_359 = "printf.c:489";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_359,
-                         sizeof("printf.c:483"));
+                         sizeof("printf.c:489"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_359);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_359);
-    __gen_e_acsl_literal_string_357 = "printf.c:482";
+    __gen_e_acsl_literal_string_357 = "printf.c:488";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_357,
-                         sizeof("printf.c:482"));
+                         sizeof("printf.c:488"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_357);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_357);
-    __gen_e_acsl_literal_string_355 = "printf.c:479";
+    __gen_e_acsl_literal_string_355 = "printf.c:485";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_355,
-                         sizeof("printf.c:479"));
+                         sizeof("printf.c:485"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_355);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_355);
-    __gen_e_acsl_literal_string_354 = "printf.c:478";
+    __gen_e_acsl_literal_string_354 = "printf.c:484";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_354,
-                         sizeof("printf.c:478"));
+                         sizeof("printf.c:484"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_354);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_354);
-    __gen_e_acsl_literal_string_353 = "printf.c:477";
+    __gen_e_acsl_literal_string_353 = "printf.c:483";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_353,
-                         sizeof("printf.c:477"));
+                         sizeof("printf.c:483"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_353);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_353);
-    __gen_e_acsl_literal_string_352 = "printf.c:476";
+    __gen_e_acsl_literal_string_352 = "printf.c:482";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_352,
-                         sizeof("printf.c:476"));
+                         sizeof("printf.c:482"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_352);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_352);
-    __gen_e_acsl_literal_string_351 = "printf.c:475";
+    __gen_e_acsl_literal_string_351 = "printf.c:481";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_351,
-                         sizeof("printf.c:475"));
+                         sizeof("printf.c:481"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_351);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_351);
-    __gen_e_acsl_literal_string_350 = "printf.c:474";
+    __gen_e_acsl_literal_string_350 = "printf.c:480";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_350,
-                         sizeof("printf.c:474"));
+                         sizeof("printf.c:480"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_350);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_350);
-    __gen_e_acsl_literal_string_349 = "printf.c:473";
+    __gen_e_acsl_literal_string_349 = "printf.c:479";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_349,
-                         sizeof("printf.c:473"));
+                         sizeof("printf.c:479"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_349);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_349);
-    __gen_e_acsl_literal_string_347 = "printf.c:472";
+    __gen_e_acsl_literal_string_347 = "printf.c:478";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_347,
-                         sizeof("printf.c:472"));
+                         sizeof("printf.c:478"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_347);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_347);
-    __gen_e_acsl_literal_string_345 = "printf.c:471";
+    __gen_e_acsl_literal_string_345 = "printf.c:477";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_345,
-                         sizeof("printf.c:471"));
+                         sizeof("printf.c:477"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_345);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_345);
-    __gen_e_acsl_literal_string_344 = "printf.c:470";
+    __gen_e_acsl_literal_string_344 = "printf.c:476";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_344,
-                         sizeof("printf.c:470"));
+                         sizeof("printf.c:476"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_344);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_344);
-    __gen_e_acsl_literal_string_343 = "printf.c:469";
+    __gen_e_acsl_literal_string_343 = "printf.c:475";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_343,
-                         sizeof("printf.c:469"));
+                         sizeof("printf.c:475"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_343);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_343);
-    __gen_e_acsl_literal_string_342 = "printf.c:468";
+    __gen_e_acsl_literal_string_342 = "printf.c:474";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_342,
-                         sizeof("printf.c:468"));
+                         sizeof("printf.c:474"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_342);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_342);
-    __gen_e_acsl_literal_string_341 = "printf.c:467";
+    __gen_e_acsl_literal_string_341 = "printf.c:473";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_341,
-                         sizeof("printf.c:467"));
+                         sizeof("printf.c:473"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_341);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_341);
-    __gen_e_acsl_literal_string_340 = "printf.c:466";
+    __gen_e_acsl_literal_string_340 = "printf.c:472";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_340,
-                         sizeof("printf.c:466"));
+                         sizeof("printf.c:472"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_340);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_340);
-    __gen_e_acsl_literal_string_339 = "printf.c:465";
+    __gen_e_acsl_literal_string_339 = "printf.c:471";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_339,
-                         sizeof("printf.c:465"));
+                         sizeof("printf.c:471"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_339);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_339);
-    __gen_e_acsl_literal_string_337 = "printf.c:464";
+    __gen_e_acsl_literal_string_337 = "printf.c:470";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_337,
-                         sizeof("printf.c:464"));
+                         sizeof("printf.c:470"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_337);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_337);
-    __gen_e_acsl_literal_string_335 = "printf.c:463";
+    __gen_e_acsl_literal_string_335 = "printf.c:469";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_335,
-                         sizeof("printf.c:463"));
+                         sizeof("printf.c:469"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_335);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_335);
-    __gen_e_acsl_literal_string_334 = "printf.c:462";
+    __gen_e_acsl_literal_string_334 = "printf.c:468";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_334,
-                         sizeof("printf.c:462"));
+                         sizeof("printf.c:468"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_334);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_334);
-    __gen_e_acsl_literal_string_333 = "printf.c:461";
+    __gen_e_acsl_literal_string_333 = "printf.c:467";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_333,
-                         sizeof("printf.c:461"));
+                         sizeof("printf.c:467"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_333);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_333);
-    __gen_e_acsl_literal_string_332 = "printf.c:460";
+    __gen_e_acsl_literal_string_332 = "printf.c:466";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_332,
-                         sizeof("printf.c:460"));
+                         sizeof("printf.c:466"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_332);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_332);
-    __gen_e_acsl_literal_string_331 = "printf.c:459";
+    __gen_e_acsl_literal_string_331 = "printf.c:465";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_331,
-                         sizeof("printf.c:459"));
+                         sizeof("printf.c:465"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_331);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_331);
-    __gen_e_acsl_literal_string_330 = "printf.c:458";
+    __gen_e_acsl_literal_string_330 = "printf.c:464";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_330,
-                         sizeof("printf.c:458"));
+                         sizeof("printf.c:464"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_330);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_330);
-    __gen_e_acsl_literal_string_329 = "printf.c:457";
+    __gen_e_acsl_literal_string_329 = "printf.c:463";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_329,
-                         sizeof("printf.c:457"));
+                         sizeof("printf.c:463"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_329);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_329);
-    __gen_e_acsl_literal_string_327 = "printf.c:456";
+    __gen_e_acsl_literal_string_327 = "printf.c:462";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_327,
-                         sizeof("printf.c:456"));
+                         sizeof("printf.c:462"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_327);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_327);
-    __gen_e_acsl_literal_string_325 = "printf.c:455";
+    __gen_e_acsl_literal_string_325 = "printf.c:461";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_325,
-                         sizeof("printf.c:455"));
+                         sizeof("printf.c:461"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_325);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_325);
-    __gen_e_acsl_literal_string_324 = "printf.c:454";
+    __gen_e_acsl_literal_string_324 = "printf.c:460";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_324,
-                         sizeof("printf.c:454"));
+                         sizeof("printf.c:460"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_324);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_324);
-    __gen_e_acsl_literal_string_323 = "printf.c:453";
+    __gen_e_acsl_literal_string_323 = "printf.c:459";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_323,
-                         sizeof("printf.c:453"));
+                         sizeof("printf.c:459"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_323);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_323);
-    __gen_e_acsl_literal_string_322 = "printf.c:452";
+    __gen_e_acsl_literal_string_322 = "printf.c:458";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_322,
-                         sizeof("printf.c:452"));
+                         sizeof("printf.c:458"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_322);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_322);
-    __gen_e_acsl_literal_string_321 = "printf.c:451";
+    __gen_e_acsl_literal_string_321 = "printf.c:457";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_321,
-                         sizeof("printf.c:451"));
+                         sizeof("printf.c:457"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_321);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_321);
-    __gen_e_acsl_literal_string_320 = "printf.c:450";
+    __gen_e_acsl_literal_string_320 = "printf.c:456";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_320,
-                         sizeof("printf.c:450"));
+                         sizeof("printf.c:456"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_320);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_320);
-    __gen_e_acsl_literal_string_319 = "printf.c:449";
+    __gen_e_acsl_literal_string_319 = "printf.c:455";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_319,
-                         sizeof("printf.c:449"));
+                         sizeof("printf.c:455"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_319);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_319);
-    __gen_e_acsl_literal_string_317 = "printf.c:448";
+    __gen_e_acsl_literal_string_317 = "printf.c:454";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_317,
-                         sizeof("printf.c:448"));
+                         sizeof("printf.c:454"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_317);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_317);
-    __gen_e_acsl_literal_string_315 = "printf.c:444";
+    __gen_e_acsl_literal_string_315 = "printf.c:450";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_315,
-                         sizeof("printf.c:444"));
+                         sizeof("printf.c:450"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_315);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_315);
-    __gen_e_acsl_literal_string_313 = "printf.c:443";
+    __gen_e_acsl_literal_string_313 = "printf.c:449";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_313,
-                         sizeof("printf.c:443"));
+                         sizeof("printf.c:449"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_313);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_313);
-    __gen_e_acsl_literal_string_311 = "printf.c:442";
+    __gen_e_acsl_literal_string_311 = "printf.c:448";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_311,
-                         sizeof("printf.c:442"));
+                         sizeof("printf.c:448"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_311);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_311);
-    __gen_e_acsl_literal_string_309 = "printf.c:441";
+    __gen_e_acsl_literal_string_309 = "printf.c:447";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_309,
-                         sizeof("printf.c:441"));
+                         sizeof("printf.c:447"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_309);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_309);
-    __gen_e_acsl_literal_string_307 = "printf.c:439";
+    __gen_e_acsl_literal_string_307 = "printf.c:445";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_307,
-                         sizeof("printf.c:439"));
+                         sizeof("printf.c:445"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_307);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_307);
-    __gen_e_acsl_literal_string_305 = "printf.c:438";
+    __gen_e_acsl_literal_string_305 = "printf.c:444";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_305,
-                         sizeof("printf.c:438"));
+                         sizeof("printf.c:444"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_305);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_305);
-    __gen_e_acsl_literal_string_303 = "printf.c:437";
+    __gen_e_acsl_literal_string_303 = "printf.c:443";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_303,
-                         sizeof("printf.c:437"));
+                         sizeof("printf.c:443"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_303);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_303);
-    __gen_e_acsl_literal_string_301 = "printf.c:436";
+    __gen_e_acsl_literal_string_301 = "printf.c:442";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_301,
-                         sizeof("printf.c:436"));
+                         sizeof("printf.c:442"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_301);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_301);
-    __gen_e_acsl_literal_string_299 = "printf.c:435";
+    __gen_e_acsl_literal_string_299 = "printf.c:441";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_299,
-                         sizeof("printf.c:435"));
+                         sizeof("printf.c:441"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_299);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_299);
-    __gen_e_acsl_literal_string_297 = "printf.c:434";
+    __gen_e_acsl_literal_string_297 = "printf.c:440";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_297,
-                         sizeof("printf.c:434"));
+                         sizeof("printf.c:440"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_297);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_297);
-    __gen_e_acsl_literal_string_295 = "printf.c:433";
+    __gen_e_acsl_literal_string_295 = "printf.c:439";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_295,
-                         sizeof("printf.c:433"));
+                         sizeof("printf.c:439"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_295);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_295);
-    __gen_e_acsl_literal_string_293 = "printf.c:432";
+    __gen_e_acsl_literal_string_293 = "printf.c:438";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_293,
-                         sizeof("printf.c:432"));
+                         sizeof("printf.c:438"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_293);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_293);
-    __gen_e_acsl_literal_string_291 = "printf.c:431";
+    __gen_e_acsl_literal_string_291 = "printf.c:437";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_291,
-                         sizeof("printf.c:431"));
+                         sizeof("printf.c:437"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_291);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_291);
-    __gen_e_acsl_literal_string_289 = "printf.c:430";
+    __gen_e_acsl_literal_string_289 = "printf.c:436";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_289,
-                         sizeof("printf.c:430"));
+                         sizeof("printf.c:436"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_289);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_289);
-    __gen_e_acsl_literal_string_287 = "printf.c:429";
+    __gen_e_acsl_literal_string_287 = "printf.c:435";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_287,
-                         sizeof("printf.c:429"));
+                         sizeof("printf.c:435"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_287);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_287);
-    __gen_e_acsl_literal_string_285 = "printf.c:428";
+    __gen_e_acsl_literal_string_285 = "printf.c:434";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_285,
-                         sizeof("printf.c:428"));
+                         sizeof("printf.c:434"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_285);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_285);
-    __gen_e_acsl_literal_string_283 = "printf.c:426";
+    __gen_e_acsl_literal_string_283 = "printf.c:432";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_283,
-                         sizeof("printf.c:426"));
+                         sizeof("printf.c:432"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_283);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_283);
-    __gen_e_acsl_literal_string_281 = "printf.c:425";
+    __gen_e_acsl_literal_string_281 = "printf.c:431";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_281,
-                         sizeof("printf.c:425"));
+                         sizeof("printf.c:431"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_281);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_281);
-    __gen_e_acsl_literal_string_279 = "printf.c:424";
+    __gen_e_acsl_literal_string_279 = "printf.c:430";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_279,
-                         sizeof("printf.c:424"));
+                         sizeof("printf.c:430"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_279);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_279);
-    __gen_e_acsl_literal_string_277 = "printf.c:423";
+    __gen_e_acsl_literal_string_277 = "printf.c:429";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_277,
-                         sizeof("printf.c:423"));
+                         sizeof("printf.c:429"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_277);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_277);
-    __gen_e_acsl_literal_string_275 = "printf.c:421";
+    __gen_e_acsl_literal_string_275 = "printf.c:427";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_275,
-                         sizeof("printf.c:421"));
+                         sizeof("printf.c:427"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_275);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_275);
-    __gen_e_acsl_literal_string_273 = "printf.c:420";
+    __gen_e_acsl_literal_string_273 = "printf.c:426";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_273,
-                         sizeof("printf.c:420"));
+                         sizeof("printf.c:426"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_273);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_273);
-    __gen_e_acsl_literal_string_271 = "printf.c:419";
+    __gen_e_acsl_literal_string_271 = "printf.c:425";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_271,
-                         sizeof("printf.c:419"));
+                         sizeof("printf.c:425"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_271);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_271);
-    __gen_e_acsl_literal_string_269 = "printf.c:418";
+    __gen_e_acsl_literal_string_269 = "printf.c:424";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_269,
-                         sizeof("printf.c:418"));
+                         sizeof("printf.c:424"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_269);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_269);
-    __gen_e_acsl_literal_string_267 = "printf.c:417";
+    __gen_e_acsl_literal_string_267 = "printf.c:423";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_267,
-                         sizeof("printf.c:417"));
+                         sizeof("printf.c:423"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_267);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_267);
-    __gen_e_acsl_literal_string_265 = "printf.c:416";
+    __gen_e_acsl_literal_string_265 = "printf.c:422";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_265,
-                         sizeof("printf.c:416"));
+                         sizeof("printf.c:422"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_265);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_265);
-    __gen_e_acsl_literal_string_263 = "printf.c:415";
+    __gen_e_acsl_literal_string_263 = "printf.c:421";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_263,
-                         sizeof("printf.c:415"));
+                         sizeof("printf.c:421"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_263);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_263);
-    __gen_e_acsl_literal_string_261 = "printf.c:414";
+    __gen_e_acsl_literal_string_261 = "printf.c:420";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_261,
-                         sizeof("printf.c:414"));
+                         sizeof("printf.c:420"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_261);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_261);
-    __gen_e_acsl_literal_string_259 = "printf.c:411";
+    __gen_e_acsl_literal_string_259 = "printf.c:417";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_259,
-                         sizeof("printf.c:411"));
+                         sizeof("printf.c:417"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_259);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_259);
-    __gen_e_acsl_literal_string_258 = "printf.c:410";
+    __gen_e_acsl_literal_string_258 = "printf.c:416";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_258,
-                         sizeof("printf.c:410"));
+                         sizeof("printf.c:416"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_258);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_258);
-    __gen_e_acsl_literal_string_257 = "printf.c:409";
+    __gen_e_acsl_literal_string_257 = "printf.c:415";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_257,
-                         sizeof("printf.c:409"));
+                         sizeof("printf.c:415"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_257);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_257);
-    __gen_e_acsl_literal_string_256 = "printf.c:408";
+    __gen_e_acsl_literal_string_256 = "printf.c:414";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_256,
-                         sizeof("printf.c:408"));
+                         sizeof("printf.c:414"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_256);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_256);
-    __gen_e_acsl_literal_string_255 = "printf.c:407";
+    __gen_e_acsl_literal_string_255 = "printf.c:413";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_255,
-                         sizeof("printf.c:407"));
+                         sizeof("printf.c:413"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_255);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_255);
-    __gen_e_acsl_literal_string_254 = "printf.c:406";
+    __gen_e_acsl_literal_string_254 = "printf.c:412";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_254,
-                         sizeof("printf.c:406"));
+                         sizeof("printf.c:412"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_254);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_254);
-    __gen_e_acsl_literal_string_253 = "printf.c:405";
+    __gen_e_acsl_literal_string_253 = "printf.c:411";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_253,
-                         sizeof("printf.c:405"));
+                         sizeof("printf.c:411"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_253);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_253);
-    __gen_e_acsl_literal_string_252 = "printf.c:404";
+    __gen_e_acsl_literal_string_252 = "printf.c:410";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_252,
-                         sizeof("printf.c:404"));
+                         sizeof("printf.c:410"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_252);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_252);
-    __gen_e_acsl_literal_string_251 = "printf.c:403";
+    __gen_e_acsl_literal_string_251 = "printf.c:409";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_251,
-                         sizeof("printf.c:403"));
+                         sizeof("printf.c:409"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_251);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_251);
-    __gen_e_acsl_literal_string_250 = "printf.c:402";
+    __gen_e_acsl_literal_string_250 = "printf.c:408";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_250,
-                         sizeof("printf.c:402"));
+                         sizeof("printf.c:408"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_250);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_250);
-    __gen_e_acsl_literal_string_249 = "printf.c:401";
+    __gen_e_acsl_literal_string_249 = "printf.c:407";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_249,
-                         sizeof("printf.c:401"));
+                         sizeof("printf.c:407"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_249);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_249);
-    __gen_e_acsl_literal_string_248 = "printf.c:400";
+    __gen_e_acsl_literal_string_248 = "printf.c:406";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_248,
-                         sizeof("printf.c:400"));
+                         sizeof("printf.c:406"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_248);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_248);
-    __gen_e_acsl_literal_string_247 = "printf.c:399";
+    __gen_e_acsl_literal_string_247 = "printf.c:405";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_247,
-                         sizeof("printf.c:399"));
+                         sizeof("printf.c:405"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_247);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_247);
-    __gen_e_acsl_literal_string_246 = "printf.c:398";
+    __gen_e_acsl_literal_string_246 = "printf.c:404";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_246,
-                         sizeof("printf.c:398"));
+                         sizeof("printf.c:404"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_246);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_246);
-    __gen_e_acsl_literal_string_245 = "printf.c:397";
+    __gen_e_acsl_literal_string_245 = "printf.c:403";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_245,
-                         sizeof("printf.c:397"));
+                         sizeof("printf.c:403"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_245);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_245);
-    __gen_e_acsl_literal_string_244 = "printf.c:396";
+    __gen_e_acsl_literal_string_244 = "printf.c:402";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_244,
-                         sizeof("printf.c:396"));
+                         sizeof("printf.c:402"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_244);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_244);
-    __gen_e_acsl_literal_string_243 = "printf.c:395";
+    __gen_e_acsl_literal_string_243 = "printf.c:401";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_243,
-                         sizeof("printf.c:395"));
+                         sizeof("printf.c:401"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_243);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_243);
-    __gen_e_acsl_literal_string_242 = "printf.c:394";
+    __gen_e_acsl_literal_string_242 = "printf.c:400";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_242,
-                         sizeof("printf.c:394"));
+                         sizeof("printf.c:400"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_242);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_242);
-    __gen_e_acsl_literal_string_241 = "printf.c:393";
+    __gen_e_acsl_literal_string_241 = "printf.c:399";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_241,
-                         sizeof("printf.c:393"));
+                         sizeof("printf.c:399"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_241);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_241);
-    __gen_e_acsl_literal_string_240 = "printf.c:392";
+    __gen_e_acsl_literal_string_240 = "printf.c:398";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_240,
-                         sizeof("printf.c:392"));
+                         sizeof("printf.c:398"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_240);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_240);
-    __gen_e_acsl_literal_string_239 = "printf.c:391";
+    __gen_e_acsl_literal_string_239 = "printf.c:397";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_239,
-                         sizeof("printf.c:391"));
+                         sizeof("printf.c:397"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_239);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_239);
-    __gen_e_acsl_literal_string_237 = "printf.c:390";
+    __gen_e_acsl_literal_string_237 = "printf.c:396";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_237,
-                         sizeof("printf.c:390"));
+                         sizeof("printf.c:396"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_237);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_237);
-    __gen_e_acsl_literal_string_235 = "printf.c:389";
+    __gen_e_acsl_literal_string_235 = "printf.c:395";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_235,
-                         sizeof("printf.c:389"));
+                         sizeof("printf.c:395"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_235);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_235);
-    __gen_e_acsl_literal_string_233 = "printf.c:388";
+    __gen_e_acsl_literal_string_233 = "printf.c:394";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_233,
-                         sizeof("printf.c:388"));
+                         sizeof("printf.c:394"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_233);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_233);
-    __gen_e_acsl_literal_string_231 = "printf.c:385";
+    __gen_e_acsl_literal_string_231 = "printf.c:391";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_231,
-                         sizeof("printf.c:385"));
+                         sizeof("printf.c:391"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_231);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_231);
-    __gen_e_acsl_literal_string_229 = "printf.c:384";
+    __gen_e_acsl_literal_string_229 = "printf.c:390";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_229,
-                         sizeof("printf.c:384"));
+                         sizeof("printf.c:390"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_229);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_229);
-    __gen_e_acsl_literal_string_227 = "printf.c:379";
+    __gen_e_acsl_literal_string_227 = "printf.c:385";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_227,
-                         sizeof("printf.c:379"));
+                         sizeof("printf.c:385"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_227);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_227);
-    __gen_e_acsl_literal_string_225 = "printf.c:378";
+    __gen_e_acsl_literal_string_225 = "printf.c:384";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_225,
-                         sizeof("printf.c:378"));
+                         sizeof("printf.c:384"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_225);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_225);
-    __gen_e_acsl_literal_string_223 = "printf.c:376";
+    __gen_e_acsl_literal_string_223 = "printf.c:382";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_223,
-                         sizeof("printf.c:376"));
+                         sizeof("printf.c:382"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_223);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_223);
-    __gen_e_acsl_literal_string_221 = "printf.c:375";
+    __gen_e_acsl_literal_string_221 = "printf.c:381";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_221,
-                         sizeof("printf.c:375"));
+                         sizeof("printf.c:381"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_221);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_221);
-    __gen_e_acsl_literal_string_219 = "printf.c:374";
+    __gen_e_acsl_literal_string_219 = "printf.c:380";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_219,
-                         sizeof("printf.c:374"));
+                         sizeof("printf.c:380"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_219);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_219);
-    __gen_e_acsl_literal_string_217 = "printf.c:373";
+    __gen_e_acsl_literal_string_217 = "printf.c:379";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_217,
-                         sizeof("printf.c:373"));
+                         sizeof("printf.c:379"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_217);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_217);
-    __gen_e_acsl_literal_string_215 = "printf.c:372";
+    __gen_e_acsl_literal_string_215 = "printf.c:378";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_215,
-                         sizeof("printf.c:372"));
+                         sizeof("printf.c:378"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_215);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_215);
-    __gen_e_acsl_literal_string_214 = "printf.c:371";
+    __gen_e_acsl_literal_string_214 = "printf.c:377";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_214,
-                         sizeof("printf.c:371"));
+                         sizeof("printf.c:377"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_214);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_214);
-    __gen_e_acsl_literal_string_212 = "printf.c:370";
+    __gen_e_acsl_literal_string_212 = "printf.c:376";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_212,
-                         sizeof("printf.c:370"));
+                         sizeof("printf.c:376"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_212);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_212);
-    __gen_e_acsl_literal_string_211 = "printf.c:369";
+    __gen_e_acsl_literal_string_211 = "printf.c:375";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_211,
-                         sizeof("printf.c:369"));
+                         sizeof("printf.c:375"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_211);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_211);
-    __gen_e_acsl_literal_string_209 = "printf.c:366";
+    __gen_e_acsl_literal_string_209 = "printf.c:372";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_209,
-                         sizeof("printf.c:366"));
+                         sizeof("printf.c:372"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_209);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_209);
-    __gen_e_acsl_literal_string_208 = "printf.c:365";
+    __gen_e_acsl_literal_string_208 = "printf.c:371";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_208,
-                         sizeof("printf.c:365"));
+                         sizeof("printf.c:371"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_208);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_208);
-    __gen_e_acsl_literal_string_207 = "printf.c:364";
+    __gen_e_acsl_literal_string_207 = "printf.c:370";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_207,
-                         sizeof("printf.c:364"));
+                         sizeof("printf.c:370"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_207);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_207);
-    __gen_e_acsl_literal_string_206 = "printf.c:363";
+    __gen_e_acsl_literal_string_206 = "printf.c:369";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_206,
-                         sizeof("printf.c:363"));
+                         sizeof("printf.c:369"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_206);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_206);
-    __gen_e_acsl_literal_string_205 = "printf.c:362";
+    __gen_e_acsl_literal_string_205 = "printf.c:368";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_205,
-                         sizeof("printf.c:362"));
+                         sizeof("printf.c:368"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_205);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_205);
-    __gen_e_acsl_literal_string_204 = "printf.c:361";
+    __gen_e_acsl_literal_string_204 = "printf.c:367";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_204,
-                         sizeof("printf.c:361"));
+                         sizeof("printf.c:367"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_204);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_204);
-    __gen_e_acsl_literal_string_203 = "printf.c:360";
+    __gen_e_acsl_literal_string_203 = "printf.c:366";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_203,
-                         sizeof("printf.c:360"));
+                         sizeof("printf.c:366"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_203);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_203);
-    __gen_e_acsl_literal_string_202 = "printf.c:359";
+    __gen_e_acsl_literal_string_202 = "printf.c:365";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_202,
-                         sizeof("printf.c:359"));
+                         sizeof("printf.c:365"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_202);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_202);
-    __gen_e_acsl_literal_string_201 = "printf.c:358";
+    __gen_e_acsl_literal_string_201 = "printf.c:364";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_201,
-                         sizeof("printf.c:358"));
+                         sizeof("printf.c:364"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_201);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_201);
-    __gen_e_acsl_literal_string_200 = "printf.c:357";
+    __gen_e_acsl_literal_string_200 = "printf.c:363";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_200,
-                         sizeof("printf.c:357"));
+                         sizeof("printf.c:363"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_200);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_200);
-    __gen_e_acsl_literal_string_199 = "printf.c:356";
+    __gen_e_acsl_literal_string_199 = "printf.c:362";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_199,
-                         sizeof("printf.c:356"));
+                         sizeof("printf.c:362"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_199);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_199);
-    __gen_e_acsl_literal_string_198 = "printf.c:355";
+    __gen_e_acsl_literal_string_198 = "printf.c:361";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_198,
-                         sizeof("printf.c:355"));
+                         sizeof("printf.c:361"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_198);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_198);
-    __gen_e_acsl_literal_string_197 = "printf.c:354";
+    __gen_e_acsl_literal_string_197 = "printf.c:360";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_197,
-                         sizeof("printf.c:354"));
+                         sizeof("printf.c:360"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_197);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_197);
-    __gen_e_acsl_literal_string_195 = "printf.c:353";
+    __gen_e_acsl_literal_string_195 = "printf.c:359";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_195,
-                         sizeof("printf.c:353"));
+                         sizeof("printf.c:359"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_195);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_195);
-    __gen_e_acsl_literal_string_193 = "printf.c:350";
+    __gen_e_acsl_literal_string_193 = "printf.c:356";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_193,
-                         sizeof("printf.c:350"));
+                         sizeof("printf.c:356"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_193);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_193);
-    __gen_e_acsl_literal_string_191 = "printf.c:349";
+    __gen_e_acsl_literal_string_191 = "printf.c:355";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_191,
-                         sizeof("printf.c:349"));
+                         sizeof("printf.c:355"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_191);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_191);
-    __gen_e_acsl_literal_string_189 = "printf.c:348";
+    __gen_e_acsl_literal_string_189 = "printf.c:354";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_189,
-                         sizeof("printf.c:348"));
+                         sizeof("printf.c:354"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_189);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_189);
-    __gen_e_acsl_literal_string_187 = "printf.c:344";
+    __gen_e_acsl_literal_string_187 = "printf.c:350";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_187,
-                         sizeof("printf.c:344"));
+                         sizeof("printf.c:350"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_187);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_187);
-    __gen_e_acsl_literal_string_185 = "printf.c:343";
+    __gen_e_acsl_literal_string_185 = "printf.c:349";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_185,
-                         sizeof("printf.c:343"));
+                         sizeof("printf.c:349"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_185);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_185);
-    __gen_e_acsl_literal_string_183 = "printf.c:342";
+    __gen_e_acsl_literal_string_183 = "printf.c:348";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_183,
-                         sizeof("printf.c:342"));
+                         sizeof("printf.c:348"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_183);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_183);
-    __gen_e_acsl_literal_string_181 = "printf.c:341";
+    __gen_e_acsl_literal_string_181 = "printf.c:347";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_181,
-                         sizeof("printf.c:341"));
+                         sizeof("printf.c:347"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_181);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_181);
-    __gen_e_acsl_literal_string_179 = "printf.c:340";
+    __gen_e_acsl_literal_string_179 = "printf.c:346";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_179,
-                         sizeof("printf.c:340"));
+                         sizeof("printf.c:346"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_179);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_179);
-    __gen_e_acsl_literal_string_177 = "printf.c:339";
+    __gen_e_acsl_literal_string_177 = "printf.c:345";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_177,
-                         sizeof("printf.c:339"));
+                         sizeof("printf.c:345"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_177);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_177);
-    __gen_e_acsl_literal_string_175 = "printf.c:338";
+    __gen_e_acsl_literal_string_175 = "printf.c:344";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_175,
-                         sizeof("printf.c:338"));
+                         sizeof("printf.c:344"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_175);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_175);
-    __gen_e_acsl_literal_string_173 = "printf.c:337";
+    __gen_e_acsl_literal_string_173 = "printf.c:343";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_173,
-                         sizeof("printf.c:337"));
+                         sizeof("printf.c:343"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_173);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_173);
-    __gen_e_acsl_literal_string_169 = "printf.c:336";
+    __gen_e_acsl_literal_string_169 = "printf.c:342";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_169,
-                         sizeof("printf.c:336"));
+                         sizeof("printf.c:342"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_169);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_169);
-    __gen_e_acsl_literal_string_168 = "printf.c:333";
+    __gen_e_acsl_literal_string_168 = "printf.c:339";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_168,
-                         sizeof("printf.c:333"));
+                         sizeof("printf.c:339"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_168);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_168);
-    __gen_e_acsl_literal_string_166 = "printf.c:332";
+    __gen_e_acsl_literal_string_166 = "printf.c:338";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_166,
-                         sizeof("printf.c:332"));
+                         sizeof("printf.c:338"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_166);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_166);
-    __gen_e_acsl_literal_string_164 = "printf.c:331";
+    __gen_e_acsl_literal_string_164 = "printf.c:337";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_164,
-                         sizeof("printf.c:331"));
+                         sizeof("printf.c:337"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_164);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_164);
-    __gen_e_acsl_literal_string_162 = "printf.c:324";
+    __gen_e_acsl_literal_string_162 = "printf.c:330";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_162,
-                         sizeof("printf.c:324"));
+                         sizeof("printf.c:330"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_162);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_162);
-    __gen_e_acsl_literal_string_161 = "printf.c:323";
+    __gen_e_acsl_literal_string_161 = "printf.c:329";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_161,
-                         sizeof("printf.c:323"));
+                         sizeof("printf.c:329"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_161);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_161);
-    __gen_e_acsl_literal_string_159 = "printf.c:322";
+    __gen_e_acsl_literal_string_159 = "printf.c:328";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_159,
-                         sizeof("printf.c:322"));
+                         sizeof("printf.c:328"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_159);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_159);
-    __gen_e_acsl_literal_string_157 = "printf.c:321";
+    __gen_e_acsl_literal_string_157 = "printf.c:327";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_157,
-                         sizeof("printf.c:321"));
+                         sizeof("printf.c:327"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_157);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_157);
-    __gen_e_acsl_literal_string_154 = "printf.c:319";
+    __gen_e_acsl_literal_string_154 = "printf.c:325";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_154,
-                         sizeof("printf.c:319"));
+                         sizeof("printf.c:325"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_154);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_154);
-    __gen_e_acsl_literal_string_153 = "printf.c:314";
+    __gen_e_acsl_literal_string_153 = "printf.c:320";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_153,
-                         sizeof("printf.c:314"));
+                         sizeof("printf.c:320"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_153);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_153);
-    __gen_e_acsl_literal_string_151 = "printf.c:313";
+    __gen_e_acsl_literal_string_151 = "printf.c:319";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_151,
-                         sizeof("printf.c:313"));
+                         sizeof("printf.c:319"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_151);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_151);
-    __gen_e_acsl_literal_string_150 = "printf.c:312";
+    __gen_e_acsl_literal_string_150 = "printf.c:318";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_150,
-                         sizeof("printf.c:312"));
+                         sizeof("printf.c:318"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_150);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_150);
-    __gen_e_acsl_literal_string_148 = "printf.c:311";
+    __gen_e_acsl_literal_string_148 = "printf.c:317";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_148,
-                         sizeof("printf.c:311"));
+                         sizeof("printf.c:317"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_148);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_148);
-    __gen_e_acsl_literal_string_146 = "printf.c:310";
+    __gen_e_acsl_literal_string_146 = "printf.c:316";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_146,
-                         sizeof("printf.c:310"));
+                         sizeof("printf.c:316"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_146);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_146);
-    __gen_e_acsl_literal_string_144 = "printf.c:305";
+    __gen_e_acsl_literal_string_144 = "printf.c:311";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_144,
-                         sizeof("printf.c:305"));
+                         sizeof("printf.c:311"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_144);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_144);
-    __gen_e_acsl_literal_string_142 = "printf.c:304";
+    __gen_e_acsl_literal_string_142 = "printf.c:310";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_142,
-                         sizeof("printf.c:304"));
+                         sizeof("printf.c:310"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_142);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_142);
-    __gen_e_acsl_literal_string_139 = "printf.c:299";
+    __gen_e_acsl_literal_string_139 = "printf.c:305";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_139,
-                         sizeof("printf.c:299"));
+                         sizeof("printf.c:305"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_139);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_139);
-    __gen_e_acsl_literal_string_138 = "printf.c:296";
+    __gen_e_acsl_literal_string_138 = "printf.c:302";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_138,
-                         sizeof("printf.c:296"));
+                         sizeof("printf.c:302"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_138);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_138);
-    __gen_e_acsl_literal_string_136 = "printf.c:295";
+    __gen_e_acsl_literal_string_136 = "printf.c:301";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_136,
-                         sizeof("printf.c:295"));
+                         sizeof("printf.c:301"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_136);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_136);
-    __gen_e_acsl_literal_string_135 = "printf.c:294";
+    __gen_e_acsl_literal_string_135 = "printf.c:300";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_135,
-                         sizeof("printf.c:294"));
+                         sizeof("printf.c:300"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_135);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_135);
-    __gen_e_acsl_literal_string_133 = "printf.c:293";
+    __gen_e_acsl_literal_string_133 = "printf.c:299";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_133,
-                         sizeof("printf.c:293"));
+                         sizeof("printf.c:299"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_133);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_133);
-    __gen_e_acsl_literal_string_131 = "printf.c:292";
+    __gen_e_acsl_literal_string_131 = "printf.c:298";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_131,
-                         sizeof("printf.c:292"));
+                         sizeof("printf.c:298"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_131);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_131);
-    __gen_e_acsl_literal_string_129 = "printf.c:291";
+    __gen_e_acsl_literal_string_129 = "printf.c:297";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_129,
-                         sizeof("printf.c:291"));
+                         sizeof("printf.c:297"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_129);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_129);
-    __gen_e_acsl_literal_string_127 = "printf.c:290";
+    __gen_e_acsl_literal_string_127 = "printf.c:296";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_127,
-                         sizeof("printf.c:290"));
+                         sizeof("printf.c:296"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_127);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_127);
-    __gen_e_acsl_literal_string_124 = "printf.c:289";
+    __gen_e_acsl_literal_string_124 = "printf.c:295";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_124,
-                         sizeof("printf.c:289"));
+                         sizeof("printf.c:295"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_124);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_124);
-    __gen_e_acsl_literal_string_123 = "printf.c:286";
+    __gen_e_acsl_literal_string_123 = "printf.c:292";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_123,
-                         sizeof("printf.c:286"));
+                         sizeof("printf.c:292"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_123);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_123);
-    __gen_e_acsl_literal_string_121 = "printf.c:285";
+    __gen_e_acsl_literal_string_121 = "printf.c:291";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_121,
-                         sizeof("printf.c:285"));
+                         sizeof("printf.c:291"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_121);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_121);
-    __gen_e_acsl_literal_string_119 = "printf.c:284";
+    __gen_e_acsl_literal_string_119 = "printf.c:290";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_119,
-                         sizeof("printf.c:284"));
+                         sizeof("printf.c:290"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_119);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_119);
-    __gen_e_acsl_literal_string_117 = "printf.c:283";
+    __gen_e_acsl_literal_string_117 = "printf.c:289";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_117,
-                         sizeof("printf.c:283"));
+                         sizeof("printf.c:289"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_117);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_117);
-    __gen_e_acsl_literal_string_115 = "printf.c:282";
+    __gen_e_acsl_literal_string_115 = "printf.c:288";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_115,
-                         sizeof("printf.c:282"));
+                         sizeof("printf.c:288"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_115);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_115);
-    __gen_e_acsl_literal_string_113 = "printf.c:281";
+    __gen_e_acsl_literal_string_113 = "printf.c:287";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_113,
-                         sizeof("printf.c:281"));
+                         sizeof("printf.c:287"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_113);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_113);
-    __gen_e_acsl_literal_string_111 = "printf.c:280";
+    __gen_e_acsl_literal_string_111 = "printf.c:286";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_111,
-                         sizeof("printf.c:280"));
+                         sizeof("printf.c:286"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_111);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_111);
-    __gen_e_acsl_literal_string_109 = "printf.c:276";
+    __gen_e_acsl_literal_string_109 = "printf.c:282";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_109,
-                         sizeof("printf.c:276"));
+                         sizeof("printf.c:282"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_109);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_109);
-    __gen_e_acsl_literal_string_107 = "printf.c:273";
+    __gen_e_acsl_literal_string_107 = "printf.c:279";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_107,
-                         sizeof("printf.c:273"));
+                         sizeof("printf.c:279"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_107);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_107);
-    __gen_e_acsl_literal_string_105 = "printf.c:271";
+    __gen_e_acsl_literal_string_105 = "printf.c:277";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_105,
-                         sizeof("printf.c:271"));
+                         sizeof("printf.c:277"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_105);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_105);
-    __gen_e_acsl_literal_string_103 = "printf.c:270";
+    __gen_e_acsl_literal_string_103 = "printf.c:276";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_103,
-                         sizeof("printf.c:270"));
+                         sizeof("printf.c:276"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_103);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_103);
-    __gen_e_acsl_literal_string_101 = "printf.c:269";
+    __gen_e_acsl_literal_string_101 = "printf.c:275";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_101,
-                         sizeof("printf.c:269"));
+                         sizeof("printf.c:275"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_101);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_101);
-    __gen_e_acsl_literal_string_99 = "printf.c:268";
+    __gen_e_acsl_literal_string_99 = "printf.c:274";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_99,
-                         sizeof("printf.c:268"));
+                         sizeof("printf.c:274"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_99);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_99);
-    __gen_e_acsl_literal_string_97 = "printf.c:267";
+    __gen_e_acsl_literal_string_97 = "printf.c:273";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_97,
-                         sizeof("printf.c:267"));
+                         sizeof("printf.c:273"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_97);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_97);
-    __gen_e_acsl_literal_string_95 = "printf.c:266";
+    __gen_e_acsl_literal_string_95 = "printf.c:272";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_95,
-                         sizeof("printf.c:266"));
+                         sizeof("printf.c:272"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_95);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_95);
-    __gen_e_acsl_literal_string_93 = "printf.c:265";
+    __gen_e_acsl_literal_string_93 = "printf.c:271";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_93,
-                         sizeof("printf.c:265"));
+                         sizeof("printf.c:271"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_93);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_93);
-    __gen_e_acsl_literal_string_91 = "printf.c:264";
+    __gen_e_acsl_literal_string_91 = "printf.c:270";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_91,
-                         sizeof("printf.c:264"));
+                         sizeof("printf.c:270"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_91);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_91);
-    __gen_e_acsl_literal_string_89 = "printf.c:262";
+    __gen_e_acsl_literal_string_89 = "printf.c:268";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_89,
-                         sizeof("printf.c:262"));
+                         sizeof("printf.c:268"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_89);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_89);
-    __gen_e_acsl_literal_string_88 = "printf.c:261";
+    __gen_e_acsl_literal_string_88 = "printf.c:267";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_88,
-                         sizeof("printf.c:261"));
+                         sizeof("printf.c:267"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_88);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_88);
-    __gen_e_acsl_literal_string_86 = "printf.c:260";
+    __gen_e_acsl_literal_string_86 = "printf.c:266";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_86,
-                         sizeof("printf.c:260"));
+                         sizeof("printf.c:266"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_86);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_86);
-    __gen_e_acsl_literal_string_84 = "printf.c:259";
+    __gen_e_acsl_literal_string_84 = "printf.c:265";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_84,
-                         sizeof("printf.c:259"));
+                         sizeof("printf.c:265"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_84);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_84);
-    __gen_e_acsl_literal_string_82 = "printf.c:258";
+    __gen_e_acsl_literal_string_82 = "printf.c:264";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_82,
-                         sizeof("printf.c:258"));
+                         sizeof("printf.c:264"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_82);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_82);
-    __gen_e_acsl_literal_string_80 = "printf.c:257";
+    __gen_e_acsl_literal_string_80 = "printf.c:263";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_80,
-                         sizeof("printf.c:257"));
+                         sizeof("printf.c:263"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_80);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_80);
-    __gen_e_acsl_literal_string_76 = "printf.c:256";
+    __gen_e_acsl_literal_string_76 = "printf.c:262";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_76,
-                         sizeof("printf.c:256"));
+                         sizeof("printf.c:262"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_76);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_76);
-    __gen_e_acsl_literal_string_75 = "printf.c:253";
+    __gen_e_acsl_literal_string_75 = "printf.c:259";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_75,
-                         sizeof("printf.c:253"));
+                         sizeof("printf.c:259"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_75);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_75);
-    __gen_e_acsl_literal_string_73 = "printf.c:252";
+    __gen_e_acsl_literal_string_73 = "printf.c:258";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_73,
-                         sizeof("printf.c:252"));
+                         sizeof("printf.c:258"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_73);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_73);
-    __gen_e_acsl_literal_string_72 = "printf.c:251";
+    __gen_e_acsl_literal_string_72 = "printf.c:257";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_72,
-                         sizeof("printf.c:251"));
+                         sizeof("printf.c:257"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_72);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_72);
-    __gen_e_acsl_literal_string_70 = "printf.c:250";
+    __gen_e_acsl_literal_string_70 = "printf.c:256";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_70,
-                         sizeof("printf.c:250"));
+                         sizeof("printf.c:256"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_70);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_70);
-    __gen_e_acsl_literal_string_68 = "printf.c:249";
+    __gen_e_acsl_literal_string_68 = "printf.c:255";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_68,
-                         sizeof("printf.c:249"));
+                         sizeof("printf.c:255"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_68);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_68);
-    __gen_e_acsl_literal_string_66 = "printf.c:248";
+    __gen_e_acsl_literal_string_66 = "printf.c:254";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_66,
-                         sizeof("printf.c:248"));
+                         sizeof("printf.c:254"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_66);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_66);
-    __gen_e_acsl_literal_string_64 = "printf.c:247";
+    __gen_e_acsl_literal_string_64 = "printf.c:253";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_64,
-                         sizeof("printf.c:247"));
+                         sizeof("printf.c:253"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_64);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_64);
-    __gen_e_acsl_literal_string_61 = "printf.c:246";
+    __gen_e_acsl_literal_string_61 = "printf.c:252";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_61,
-                         sizeof("printf.c:246"));
+                         sizeof("printf.c:252"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_61);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_61);
-    __gen_e_acsl_literal_string_60 = "printf.c:243";
+    __gen_e_acsl_literal_string_60 = "printf.c:249";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_60,
-                         sizeof("printf.c:243"));
+                         sizeof("printf.c:249"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_60);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_60);
-    __gen_e_acsl_literal_string_58 = "printf.c:242";
+    __gen_e_acsl_literal_string_58 = "printf.c:248";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_58,
-                         sizeof("printf.c:242"));
+                         sizeof("printf.c:248"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_58);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_58);
-    __gen_e_acsl_literal_string_57 = "printf.c:241";
+    __gen_e_acsl_literal_string_57 = "printf.c:247";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_57,
-                         sizeof("printf.c:241"));
+                         sizeof("printf.c:247"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_57);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_57);
-    __gen_e_acsl_literal_string_55 = "printf.c:240";
+    __gen_e_acsl_literal_string_55 = "printf.c:246";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_55,
-                         sizeof("printf.c:240"));
+                         sizeof("printf.c:246"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_55);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_55);
-    __gen_e_acsl_literal_string_53 = "printf.c:239";
+    __gen_e_acsl_literal_string_53 = "printf.c:245";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_53,
-                         sizeof("printf.c:239"));
+                         sizeof("printf.c:245"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_53);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_53);
-    __gen_e_acsl_literal_string_51 = "printf.c:238";
+    __gen_e_acsl_literal_string_51 = "printf.c:244";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_51,
-                         sizeof("printf.c:238"));
+                         sizeof("printf.c:244"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_51);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_51);
-    __gen_e_acsl_literal_string_49 = "printf.c:237";
+    __gen_e_acsl_literal_string_49 = "printf.c:243";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_49,
-                         sizeof("printf.c:237"));
+                         sizeof("printf.c:243"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_49);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_49);
-    __gen_e_acsl_literal_string_45 = "printf.c:236";
+    __gen_e_acsl_literal_string_45 = "printf.c:242";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_45,
-                         sizeof("printf.c:236"));
+                         sizeof("printf.c:242"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_45);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_45);
-    __gen_e_acsl_literal_string_44 = "printf.c:230";
+    __gen_e_acsl_literal_string_44 = "printf.c:236";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_44,
-                         sizeof("printf.c:230"));
+                         sizeof("printf.c:236"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_44);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_44);
-    __gen_e_acsl_literal_string_42 = "printf.c:229";
+    __gen_e_acsl_literal_string_42 = "printf.c:235";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_42,
-                         sizeof("printf.c:229"));
+                         sizeof("printf.c:235"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_42);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_42);
-    __gen_e_acsl_literal_string_40 = "printf.c:228";
+    __gen_e_acsl_literal_string_40 = "printf.c:234";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_40,
-                         sizeof("printf.c:228"));
+                         sizeof("printf.c:234"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_40);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_40);
-    __gen_e_acsl_literal_string_36 = "printf.c:222";
+    __gen_e_acsl_literal_string_36 = "printf.c:228";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_36,
-                         sizeof("printf.c:222"));
+                         sizeof("printf.c:228"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_36);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_36);
-    __gen_e_acsl_literal_string_33 = "printf.c:219";
+    __gen_e_acsl_literal_string_33 = "printf.c:225";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_33,
-                         sizeof("printf.c:219"));
+                         sizeof("printf.c:225"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_33);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_33);
-    __gen_e_acsl_literal_string_30 = "printf.c:213";
+    __gen_e_acsl_literal_string_30 = "printf.c:219";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_30,
-                         sizeof("printf.c:213"));
+                         sizeof("printf.c:219"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_30);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_30);
-    __gen_e_acsl_literal_string_29 = "printf.c:210";
+    __gen_e_acsl_literal_string_29 = "printf.c:216";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_29,
-                         sizeof("printf.c:210"));
+                         sizeof("printf.c:216"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_29);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_29);
-    __gen_e_acsl_literal_string_27 = "printf.c:208";
+    __gen_e_acsl_literal_string_27 = "printf.c:214";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27,
-                         sizeof("printf.c:208"));
+                         sizeof("printf.c:214"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27);
-    __gen_e_acsl_literal_string_25 = "printf.c:205";
+    __gen_e_acsl_literal_string_25 = "printf.c:211";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25,
-                         sizeof("printf.c:205"));
+                         sizeof("printf.c:211"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25);
-    __gen_e_acsl_literal_string_23 = "printf.c:203";
+    __gen_e_acsl_literal_string_23 = "printf.c:209";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23,
-                         sizeof("printf.c:203"));
+                         sizeof("printf.c:209"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23);
-    __gen_e_acsl_literal_string_21 = "printf.c:201";
+    __gen_e_acsl_literal_string_21 = "printf.c:207";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21,
-                         sizeof("printf.c:201"));
+                         sizeof("printf.c:207"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21);
-    __gen_e_acsl_literal_string_19 = "printf.c:198";
+    __gen_e_acsl_literal_string_19 = "printf.c:204";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,
-                         sizeof("printf.c:198"));
+                         sizeof("printf.c:204"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19);
-    __gen_e_acsl_literal_string_18 = "printf.c:193";
+    __gen_e_acsl_literal_string_18 = "printf.c:199";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18,
-                         sizeof("printf.c:193"));
+                         sizeof("printf.c:199"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18);
-    __gen_e_acsl_literal_string_16 = "printf.c:190";
+    __gen_e_acsl_literal_string_16 = "printf.c:196";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16,
-                         sizeof("printf.c:190"));
+                         sizeof("printf.c:196"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16);
-    __gen_e_acsl_literal_string_14 = "printf.c:187";
+    __gen_e_acsl_literal_string_14 = "printf.c:193";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14,
-                         sizeof("printf.c:187"));
+                         sizeof("printf.c:193"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14);
-    __gen_e_acsl_literal_string_12 = "printf.c:184";
+    __gen_e_acsl_literal_string_12 = "printf.c:190";
     __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12,
-                         sizeof("printf.c:184"));
+                         sizeof("printf.c:190"));
     __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12);
     __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12);
     __gen_e_acsl_literal_string_35 = "oxXaAeEfFgG";
diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
index 6a2b2551ba6767735dd2b98137f8b34c0db34189..e7a99a994e20892384a9ac2fb492aa4eaa82dbc4 100644
--- a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
+++ b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
@@ -1,4 +1,4 @@
-[kernel:parser:decimal-float] printf.c:93: Warning: 
+[kernel:parser:decimal-float] printf.c:99: Warning: 
   Floating-point constant 0.2 is not represented exactly. Will use 0x1.999999999999ap-3.
   (warn-once: no further messages from category 'parser:decimal-float' will be emitted)
 [e-acsl] beginning translation.
@@ -107,5 +107,5 @@
 [eva:alarm] FRAMAC_SHARE/libc/unistd.h:847: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[kernel:annot:missing-spec] printf.c:184: Warning: 
+[kernel:annot:missing-spec] printf.c:190: Warning: 
   Neither code nor specification for function __e_acsl_builtin_printf, generating default assigns from the prototype
diff --git a/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.e-acsl.err.log b/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.e-acsl.err.log
index 0790d3dfebdd254bb1c70d324abf7abf662b1429..eb2e1226a40970121de6d6d8e48a12d42771c53f 100644
--- a/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.e-acsl.err.log
@@ -1,28 +1,28 @@
-TEST 1: OK: Expected execution at fprintf.c:16
+TEST 1: OK: Expected execution at fprintf.c:22
 fprintf: attempt to write to an invalid stream
-TEST 2: OK: Expected signal at fprintf.c:17
-TEST 3: OK: Expected execution at fprintf.c:20
+TEST 2: OK: Expected signal at fprintf.c:23
+TEST 3: OK: Expected execution at fprintf.c:26
 fprintf: attempt to write to an invalid stream
-TEST 4: OK: Expected signal at fprintf.c:22
+TEST 4: OK: Expected signal at fprintf.c:28
 fprintf: attempt to write to an invalid stream
-TEST 5: OK: Expected signal at fprintf.c:23
-TEST 6: OK: Expected execution at fprintf.c:28
+TEST 5: OK: Expected signal at fprintf.c:29
+TEST 6: OK: Expected execution at fprintf.c:34
 dprintf: attempt to write to a closed file descriptor 3
-TEST 7: OK: Expected signal at fprintf.c:29
-TEST 8: OK: Expected execution at fprintf.c:35
-TEST 9: OK: Expected execution at fprintf.c:36
+TEST 7: OK: Expected signal at fprintf.c:35
+TEST 8: OK: Expected execution at fprintf.c:41
+TEST 9: OK: Expected execution at fprintf.c:42
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters or not writeable
-TEST 10: OK: Expected signal at fprintf.c:37
+TEST 10: OK: Expected signal at fprintf.c:43
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters or not writeable
-TEST 11: OK: Expected signal at fprintf.c:38
+TEST 11: OK: Expected signal at fprintf.c:44
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters or not writeable
-TEST 12: OK: Expected signal at fprintf.c:39
-TEST 13: OK: Expected execution at fprintf.c:42
-TEST 14: OK: Expected execution at fprintf.c:43
+TEST 12: OK: Expected signal at fprintf.c:45
+TEST 13: OK: Expected execution at fprintf.c:48
+TEST 14: OK: Expected execution at fprintf.c:49
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters and \0 terminator or not writeable
-TEST 15: OK: Expected signal at fprintf.c:44
+TEST 15: OK: Expected signal at fprintf.c:50
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters and \0 terminator or not writeable
-TEST 16: OK: Expected signal at fprintf.c:45
+TEST 16: OK: Expected signal at fprintf.c:51
 sprintf: output buffer is unallocated or has insufficient length to store 6 characters and \0 terminator or not writeable
-TEST 17: OK: Expected signal at fprintf.c:46
-TEST 18: OK: Expected execution at fprintf.c:48
+TEST 17: OK: Expected signal at fprintf.c:52
+TEST 18: OK: Expected execution at fprintf.c:54
diff --git a/src/plugins/e-acsl/tests/format/oracle_dev/printf.e-acsl.err.log b/src/plugins/e-acsl/tests/format/oracle_dev/printf.e-acsl.err.log
index a67c86d543df0f60ab422056c3bd561358d9244d..527a821d37d6ecbcbbec8919650f1c7546759e85 100644
--- a/src/plugins/e-acsl/tests/format/oracle_dev/printf.e-acsl.err.log
+++ b/src/plugins/e-acsl/tests/format/oracle_dev/printf.e-acsl.err.log
@@ -1,575 +1,575 @@
-TEST 1: OK: Expected execution at printf.c:184
-TEST 2: OK: Expected execution at printf.c:187
+TEST 1: OK: Expected execution at printf.c:190
+TEST 2: OK: Expected execution at printf.c:193
 printf: directive 4 (%u) in format "%s - %s and say it %d or %u more times 
 " has no argument
-TEST 3: OK: Expected signal at printf.c:190
-TEST 4: OK: Expected execution at printf.c:193
+TEST 3: OK: Expected signal at printf.c:196
+TEST 4: OK: Expected execution at printf.c:199
 printf: invalid format string (unallocated or unterminated)
-TEST 5: OK: Expected signal at printf.c:198
-TEST 6: OK: Expected execution at printf.c:201
+TEST 5: OK: Expected signal at printf.c:204
+TEST 6: OK: Expected execution at printf.c:207
 printf: directive 4 (%4$s) in format "%4$s Say it %2$d or %1$u times 
 " has no argument
-TEST 7: OK: Expected signal at printf.c:203
+TEST 7: OK: Expected signal at printf.c:209
 Format error: illegal format specifier '$'
-TEST 8: OK: Expected signal at printf.c:205
+TEST 8: OK: Expected signal at printf.c:211
 Format error: "%s Say it %2$d or %3$u times 
 ":  numbered and non-numbered directives cannot be mixed
-TEST 9: OK: Expected signal at printf.c:208
-TEST 10: OK: Expected execution at printf.c:210
-TEST 11: OK: Expected execution at printf.c:213
-TEST 12: OK: Expected execution at printf.c:213
-TEST 13: OK: Expected execution at printf.c:213
-TEST 14: OK: Expected execution at printf.c:213
-TEST 15: OK: Expected execution at printf.c:213
-TEST 16: OK: Expected execution at printf.c:213
-TEST 17: OK: Expected execution at printf.c:213
-TEST 18: OK: Expected execution at printf.c:213
-TEST 19: OK: Expected execution at printf.c:213
-TEST 20: OK: Expected execution at printf.c:213
-TEST 21: OK: Expected execution at printf.c:213
-TEST 22: OK: Expected execution at printf.c:213
-TEST 23: OK: Expected execution at printf.c:213
+TEST 9: OK: Expected signal at printf.c:214
+TEST 10: OK: Expected execution at printf.c:216
+TEST 11: OK: Expected execution at printf.c:219
+TEST 12: OK: Expected execution at printf.c:219
+TEST 13: OK: Expected execution at printf.c:219
+TEST 14: OK: Expected execution at printf.c:219
+TEST 15: OK: Expected execution at printf.c:219
+TEST 16: OK: Expected execution at printf.c:219
+TEST 17: OK: Expected execution at printf.c:219
+TEST 18: OK: Expected execution at printf.c:219
+TEST 19: OK: Expected execution at printf.c:219
+TEST 20: OK: Expected execution at printf.c:219
+TEST 21: OK: Expected execution at printf.c:219
+TEST 22: OK: Expected execution at printf.c:219
+TEST 23: OK: Expected execution at printf.c:219
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [c]
-TEST 24: OK: Expected signal at printf.c:213
-TEST 25: OK: Expected execution at printf.c:213
+TEST 24: OK: Expected signal at printf.c:219
+TEST 25: OK: Expected execution at printf.c:219
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [p]
-TEST 26: OK: Expected signal at printf.c:213
+TEST 26: OK: Expected signal at printf.c:219
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [n]
-TEST 27: OK: Expected signal at printf.c:213
+TEST 27: OK: Expected signal at printf.c:219
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [d]
-TEST 28: OK: Expected signal at printf.c:219
+TEST 28: OK: Expected signal at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [i]
-TEST 29: OK: Expected signal at printf.c:219
-TEST 30: OK: Expected execution at printf.c:219
+TEST 29: OK: Expected signal at printf.c:225
+TEST 30: OK: Expected execution at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [u]
-TEST 31: OK: Expected signal at printf.c:219
-TEST 32: OK: Expected execution at printf.c:219
-TEST 33: OK: Expected execution at printf.c:219
-TEST 34: OK: Expected execution at printf.c:219
-TEST 35: OK: Expected execution at printf.c:219
-TEST 36: OK: Expected execution at printf.c:219
-TEST 37: OK: Expected execution at printf.c:219
-TEST 38: OK: Expected execution at printf.c:219
-TEST 39: OK: Expected execution at printf.c:219
-TEST 40: OK: Expected execution at printf.c:219
+TEST 31: OK: Expected signal at printf.c:225
+TEST 32: OK: Expected execution at printf.c:225
+TEST 33: OK: Expected execution at printf.c:225
+TEST 34: OK: Expected execution at printf.c:225
+TEST 35: OK: Expected execution at printf.c:225
+TEST 36: OK: Expected execution at printf.c:225
+TEST 37: OK: Expected execution at printf.c:225
+TEST 38: OK: Expected execution at printf.c:225
+TEST 39: OK: Expected execution at printf.c:225
+TEST 40: OK: Expected execution at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [c]
-TEST 41: OK: Expected signal at printf.c:219
+TEST 41: OK: Expected signal at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [s]
-TEST 42: OK: Expected signal at printf.c:219
+TEST 42: OK: Expected signal at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [p]
-TEST 43: OK: Expected signal at printf.c:219
+TEST 43: OK: Expected signal at printf.c:225
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [n]
-TEST 44: OK: Expected signal at printf.c:219
-TEST 45: OK: Expected execution at printf.c:222
-TEST 46: OK: Expected execution at printf.c:222
-TEST 47: OK: Expected execution at printf.c:222
-TEST 48: OK: Expected execution at printf.c:222
-TEST 49: OK: Expected execution at printf.c:222
-TEST 50: OK: Expected execution at printf.c:222
-TEST 51: OK: Expected execution at printf.c:222
-TEST 52: OK: Expected execution at printf.c:222
-TEST 53: OK: Expected execution at printf.c:222
-TEST 54: OK: Expected execution at printf.c:222
-TEST 55: OK: Expected execution at printf.c:222
-TEST 56: OK: Expected execution at printf.c:222
-TEST 57: OK: Expected execution at printf.c:222
+TEST 44: OK: Expected signal at printf.c:225
+TEST 45: OK: Expected execution at printf.c:228
+TEST 46: OK: Expected execution at printf.c:228
+TEST 47: OK: Expected execution at printf.c:228
+TEST 48: OK: Expected execution at printf.c:228
+TEST 49: OK: Expected execution at printf.c:228
+TEST 50: OK: Expected execution at printf.c:228
+TEST 51: OK: Expected execution at printf.c:228
+TEST 52: OK: Expected execution at printf.c:228
+TEST 53: OK: Expected execution at printf.c:228
+TEST 54: OK: Expected execution at printf.c:228
+TEST 55: OK: Expected execution at printf.c:228
+TEST 56: OK: Expected execution at printf.c:228
+TEST 57: OK: Expected execution at printf.c:228
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [0] to format specifier [c]
-TEST 58: OK: Expected signal at printf.c:222
+TEST 58: OK: Expected signal at printf.c:228
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [0] to format specifier [s]
-TEST 59: OK: Expected signal at printf.c:222
+TEST 59: OK: Expected signal at printf.c:228
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [0] to format specifier [p]
-TEST 60: OK: Expected signal at printf.c:222
+TEST 60: OK: Expected signal at printf.c:228
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [0] to format specifier [n]
-TEST 61: OK: Expected signal at printf.c:222
-TEST 62: OK: Expected execution at printf.c:228
-TEST 63: OK: Expected execution at printf.c:229
+TEST 61: OK: Expected signal at printf.c:228
+TEST 62: OK: Expected execution at printf.c:234
+TEST 63: OK: Expected execution at printf.c:235
 Format error: illegal format specifier 'l'
-TEST 64: OK: Expected signal at printf.c:230
+TEST 64: OK: Expected signal at printf.c:236
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [f]
-TEST 65: OK: Expected signal at printf.c:236
+TEST 65: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [F]
-TEST 66: OK: Expected signal at printf.c:236
+TEST 66: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [e]
-TEST 67: OK: Expected signal at printf.c:236
+TEST 67: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [E]
-TEST 68: OK: Expected signal at printf.c:236
+TEST 68: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [g]
-TEST 69: OK: Expected signal at printf.c:236
+TEST 69: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [G]
-TEST 70: OK: Expected signal at printf.c:236
+TEST 70: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [a]
-TEST 71: OK: Expected signal at printf.c:236
+TEST 71: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [A]
-TEST 72: OK: Expected signal at printf.c:236
+TEST 72: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [c]
-TEST 73: OK: Expected signal at printf.c:236
+TEST 73: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [s]
-TEST 74: OK: Expected signal at printf.c:236
+TEST 74: OK: Expected signal at printf.c:242
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [hh] to format specifier [p]
-TEST 75: OK: Expected signal at printf.c:236
-TEST 76: OK: Expected execution at printf.c:237
-TEST 77: OK: Expected execution at printf.c:238
-TEST 78: OK: Expected execution at printf.c:239
-TEST 79: OK: Expected execution at printf.c:240
-TEST 80: OK: Expected execution at printf.c:241
-TEST 81: OK: Expected execution at printf.c:242
-TEST 82: OK: Expected execution at printf.c:243
+TEST 75: OK: Expected signal at printf.c:242
+TEST 76: OK: Expected execution at printf.c:243
+TEST 77: OK: Expected execution at printf.c:244
+TEST 78: OK: Expected execution at printf.c:245
+TEST 79: OK: Expected execution at printf.c:246
+TEST 80: OK: Expected execution at printf.c:247
+TEST 81: OK: Expected execution at printf.c:248
+TEST 82: OK: Expected execution at printf.c:249
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [f]
-TEST 83: OK: Expected signal at printf.c:246
+TEST 83: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [F]
-TEST 84: OK: Expected signal at printf.c:246
+TEST 84: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [e]
-TEST 85: OK: Expected signal at printf.c:246
+TEST 85: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [E]
-TEST 86: OK: Expected signal at printf.c:246
+TEST 86: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [g]
-TEST 87: OK: Expected signal at printf.c:246
+TEST 87: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [G]
-TEST 88: OK: Expected signal at printf.c:246
+TEST 88: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [a]
-TEST 89: OK: Expected signal at printf.c:246
+TEST 89: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [A]
-TEST 90: OK: Expected signal at printf.c:246
+TEST 90: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [c]
-TEST 91: OK: Expected signal at printf.c:246
+TEST 91: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [s]
-TEST 92: OK: Expected signal at printf.c:246
+TEST 92: OK: Expected signal at printf.c:252
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [h] to format specifier [p]
-TEST 93: OK: Expected signal at printf.c:246
-TEST 94: OK: Expected execution at printf.c:247
-TEST 95: OK: Expected execution at printf.c:248
-TEST 96: OK: Expected execution at printf.c:249
-TEST 97: OK: Expected execution at printf.c:250
-TEST 98: OK: Expected execution at printf.c:251
-TEST 99: OK: Expected execution at printf.c:252
-TEST 100: OK: Expected execution at printf.c:253
+TEST 93: OK: Expected signal at printf.c:252
+TEST 94: OK: Expected execution at printf.c:253
+TEST 95: OK: Expected execution at printf.c:254
+TEST 96: OK: Expected execution at printf.c:255
+TEST 97: OK: Expected execution at printf.c:256
+TEST 98: OK: Expected execution at printf.c:257
+TEST 99: OK: Expected execution at printf.c:258
+TEST 100: OK: Expected execution at printf.c:259
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [l] to format specifier [p]
-TEST 101: OK: Expected signal at printf.c:256
-TEST 102: OK: Expected execution at printf.c:257
-TEST 103: OK: Expected execution at printf.c:258
-TEST 104: OK: Expected execution at printf.c:259
-TEST 105: OK: Expected execution at printf.c:260
-TEST 106: OK: Expected execution at printf.c:261
-TEST 107: OK: Expected execution at printf.c:262
-TEST 108: OK: Expected execution at printf.c:264
-TEST 109: OK: Expected execution at printf.c:265
-TEST 110: OK: Expected execution at printf.c:266
-TEST 111: OK: Expected execution at printf.c:267
-TEST 112: OK: Expected execution at printf.c:268
-TEST 113: OK: Expected execution at printf.c:269
-TEST 114: OK: Expected execution at printf.c:270
-TEST 115: OK: Expected execution at printf.c:271
-TEST 116: OK: Expected execution at printf.c:273
-TEST 117: OK: Expected execution at printf.c:276
-TEST 118: OK: Expected execution at printf.c:280
-TEST 119: OK: Expected execution at printf.c:281
-TEST 120: OK: Expected execution at printf.c:282
-TEST 121: OK: Expected execution at printf.c:283
-TEST 122: OK: Expected execution at printf.c:284
-TEST 123: OK: Expected execution at printf.c:285
-TEST 124: OK: Expected execution at printf.c:286
+TEST 101: OK: Expected signal at printf.c:262
+TEST 102: OK: Expected execution at printf.c:263
+TEST 103: OK: Expected execution at printf.c:264
+TEST 104: OK: Expected execution at printf.c:265
+TEST 105: OK: Expected execution at printf.c:266
+TEST 106: OK: Expected execution at printf.c:267
+TEST 107: OK: Expected execution at printf.c:268
+TEST 108: OK: Expected execution at printf.c:270
+TEST 109: OK: Expected execution at printf.c:271
+TEST 110: OK: Expected execution at printf.c:272
+TEST 111: OK: Expected execution at printf.c:273
+TEST 112: OK: Expected execution at printf.c:274
+TEST 113: OK: Expected execution at printf.c:275
+TEST 114: OK: Expected execution at printf.c:276
+TEST 115: OK: Expected execution at printf.c:277
+TEST 116: OK: Expected execution at printf.c:279
+TEST 117: OK: Expected execution at printf.c:282
+TEST 118: OK: Expected execution at printf.c:286
+TEST 119: OK: Expected execution at printf.c:287
+TEST 120: OK: Expected execution at printf.c:288
+TEST 121: OK: Expected execution at printf.c:289
+TEST 122: OK: Expected execution at printf.c:290
+TEST 123: OK: Expected execution at printf.c:291
+TEST 124: OK: Expected execution at printf.c:292
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [f]
-TEST 125: OK: Expected signal at printf.c:289
+TEST 125: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [F]
-TEST 126: OK: Expected signal at printf.c:289
+TEST 126: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [e]
-TEST 127: OK: Expected signal at printf.c:289
+TEST 127: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [E]
-TEST 128: OK: Expected signal at printf.c:289
+TEST 128: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [g]
-TEST 129: OK: Expected signal at printf.c:289
+TEST 129: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [G]
-TEST 130: OK: Expected signal at printf.c:289
+TEST 130: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [a]
-TEST 131: OK: Expected signal at printf.c:289
+TEST 131: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [A]
-TEST 132: OK: Expected signal at printf.c:289
+TEST 132: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [c]
-TEST 133: OK: Expected signal at printf.c:289
+TEST 133: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [s]
-TEST 134: OK: Expected signal at printf.c:289
+TEST 134: OK: Expected signal at printf.c:295
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [j] to format specifier [p]
-TEST 135: OK: Expected signal at printf.c:289
-TEST 136: OK: Expected execution at printf.c:290
-TEST 137: OK: Expected execution at printf.c:291
-TEST 138: OK: Expected execution at printf.c:292
-TEST 139: OK: Expected execution at printf.c:293
-TEST 140: OK: Expected execution at printf.c:294
-TEST 141: OK: Expected execution at printf.c:295
-TEST 142: OK: Expected execution at printf.c:296
+TEST 135: OK: Expected signal at printf.c:295
+TEST 136: OK: Expected execution at printf.c:296
+TEST 137: OK: Expected execution at printf.c:297
+TEST 138: OK: Expected execution at printf.c:298
+TEST 139: OK: Expected execution at printf.c:299
+TEST 140: OK: Expected execution at printf.c:300
+TEST 141: OK: Expected execution at printf.c:301
+TEST 142: OK: Expected execution at printf.c:302
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [f]
-TEST 143: OK: Expected signal at printf.c:299
+TEST 143: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [F]
-TEST 144: OK: Expected signal at printf.c:299
+TEST 144: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [e]
-TEST 145: OK: Expected signal at printf.c:299
+TEST 145: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [E]
-TEST 146: OK: Expected signal at printf.c:299
+TEST 146: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [g]
-TEST 147: OK: Expected signal at printf.c:299
+TEST 147: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [G]
-TEST 148: OK: Expected signal at printf.c:299
+TEST 148: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [a]
-TEST 149: OK: Expected signal at printf.c:299
+TEST 149: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [A]
-TEST 150: OK: Expected signal at printf.c:299
+TEST 150: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [c]
-TEST 151: OK: Expected signal at printf.c:299
+TEST 151: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [s]
-TEST 152: OK: Expected signal at printf.c:299
+TEST 152: OK: Expected signal at printf.c:305
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [z] to format specifier [p]
-TEST 153: OK: Expected signal at printf.c:299
-TEST 154: OK: Expected execution at printf.c:304
-TEST 155: OK: Expected execution at printf.c:305
-TEST 156: OK: Expected execution at printf.c:310
-TEST 157: OK: Expected execution at printf.c:311
-TEST 158: OK: Expected execution at printf.c:312
-TEST 159: OK: Expected execution at printf.c:313
-TEST 160: OK: Expected execution at printf.c:314
+TEST 153: OK: Expected signal at printf.c:305
+TEST 154: OK: Expected execution at printf.c:310
+TEST 155: OK: Expected execution at printf.c:311
+TEST 156: OK: Expected execution at printf.c:316
+TEST 157: OK: Expected execution at printf.c:317
+TEST 158: OK: Expected execution at printf.c:318
+TEST 159: OK: Expected execution at printf.c:319
+TEST 160: OK: Expected execution at printf.c:320
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [f]
-TEST 161: OK: Expected signal at printf.c:319
+TEST 161: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [F]
-TEST 162: OK: Expected signal at printf.c:319
+TEST 162: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [e]
-TEST 163: OK: Expected signal at printf.c:319
+TEST 163: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [E]
-TEST 164: OK: Expected signal at printf.c:319
+TEST 164: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [g]
-TEST 165: OK: Expected signal at printf.c:319
+TEST 165: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [G]
-TEST 166: OK: Expected signal at printf.c:319
+TEST 166: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [a]
-TEST 167: OK: Expected signal at printf.c:319
+TEST 167: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [A]
-TEST 168: OK: Expected signal at printf.c:319
+TEST 168: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [c]
-TEST 169: OK: Expected signal at printf.c:319
+TEST 169: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [s]
-TEST 170: OK: Expected signal at printf.c:319
+TEST 170: OK: Expected signal at printf.c:325
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [t] to format specifier [p]
-TEST 171: OK: Expected signal at printf.c:319
-TEST 172: OK: Expected execution at printf.c:321
-TEST 173: OK: Expected execution at printf.c:322
-TEST 174: OK: Expected execution at printf.c:323
-TEST 175: OK: Expected execution at printf.c:324
-TEST 176: OK: Expected execution at printf.c:331
-TEST 177: OK: Expected execution at printf.c:332
-TEST 178: OK: Expected execution at printf.c:333
+TEST 171: OK: Expected signal at printf.c:325
+TEST 172: OK: Expected execution at printf.c:327
+TEST 173: OK: Expected execution at printf.c:328
+TEST 174: OK: Expected execution at printf.c:329
+TEST 175: OK: Expected execution at printf.c:330
+TEST 176: OK: Expected execution at printf.c:337
+TEST 177: OK: Expected execution at printf.c:338
+TEST 178: OK: Expected execution at printf.c:339
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [d]
-TEST 179: OK: Expected signal at printf.c:336
+TEST 179: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [i]
-TEST 180: OK: Expected signal at printf.c:336
+TEST 180: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [o]
-TEST 181: OK: Expected signal at printf.c:336
+TEST 181: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [u]
-TEST 182: OK: Expected signal at printf.c:336
+TEST 182: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [x]
-TEST 183: OK: Expected signal at printf.c:336
+TEST 183: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [c]
-TEST 184: OK: Expected signal at printf.c:336
+TEST 184: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [s]
-TEST 185: OK: Expected signal at printf.c:336
+TEST 185: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [p]
-TEST 186: OK: Expected signal at printf.c:336
+TEST 186: OK: Expected signal at printf.c:342
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of length modifier [L] to format specifier [n]
-TEST 187: OK: Expected signal at printf.c:336
-TEST 188: OK: Expected execution at printf.c:337
-TEST 189: OK: Expected execution at printf.c:338
-TEST 190: OK: Expected execution at printf.c:339
-TEST 191: OK: Expected execution at printf.c:340
-TEST 192: OK: Expected execution at printf.c:341
-TEST 193: OK: Expected execution at printf.c:342
-TEST 194: OK: Expected execution at printf.c:343
-TEST 195: OK: Expected execution at printf.c:344
+TEST 187: OK: Expected signal at printf.c:342
+TEST 188: OK: Expected execution at printf.c:343
+TEST 189: OK: Expected execution at printf.c:344
+TEST 190: OK: Expected execution at printf.c:345
+TEST 191: OK: Expected execution at printf.c:346
+TEST 192: OK: Expected execution at printf.c:347
+TEST 193: OK: Expected execution at printf.c:348
+TEST 194: OK: Expected execution at printf.c:349
+TEST 195: OK: Expected execution at printf.c:350
 Format error: illegal format specifier 'C'
-TEST 196: OK: Expected signal at printf.c:348
+TEST 196: OK: Expected signal at printf.c:354
 Format error: illegal format specifier 'S'
-TEST 197: OK: Expected signal at printf.c:349
+TEST 197: OK: Expected signal at printf.c:355
 Format error: illegal format specifier 'm'
-TEST 198: OK: Expected signal at printf.c:350
-TEST 199: OK: Expected execution at printf.c:353
-TEST 200: OK: Expected execution at printf.c:354
-TEST 201: OK: Expected execution at printf.c:355
-TEST 202: OK: Expected execution at printf.c:356
-TEST 203: OK: Expected execution at printf.c:357
-TEST 204: OK: Expected execution at printf.c:358
+TEST 198: OK: Expected signal at printf.c:356
+TEST 199: OK: Expected execution at printf.c:359
+TEST 200: OK: Expected execution at printf.c:360
+TEST 201: OK: Expected execution at printf.c:361
+TEST 202: OK: Expected execution at printf.c:362
+TEST 203: OK: Expected execution at printf.c:363
+TEST 204: OK: Expected execution at printf.c:364
 printf: directive 1 ('%i') expects argument of type 'int' but the corresponding argument has type 'long'
-TEST 205: OK: Expected signal at printf.c:359
+TEST 205: OK: Expected signal at printf.c:365
 printf: directive 1 ('%d') expects argument of type 'int' but the corresponding argument has type 'long'
-TEST 206: OK: Expected signal at printf.c:360
+TEST 206: OK: Expected signal at printf.c:366
 printf: directive 1 ('%i') expects argument of type 'int' but the corresponding argument has type 'unsigned int'
-TEST 207: OK: Expected signal at printf.c:361
+TEST 207: OK: Expected signal at printf.c:367
 printf: directive 1 ('%d') expects argument of type 'int' but the corresponding argument has type 'unsigned int'
-TEST 208: OK: Expected signal at printf.c:362
+TEST 208: OK: Expected signal at printf.c:368
 printf: directive 1 ('%i') expects argument of type 'int' but the corresponding argument has type 'void*'
-TEST 209: OK: Expected signal at printf.c:363
+TEST 209: OK: Expected signal at printf.c:369
 printf: directive 1 ('%d') expects argument of type 'int' but the corresponding argument has type 'void*'
-TEST 210: OK: Expected signal at printf.c:364
+TEST 210: OK: Expected signal at printf.c:370
 printf: directive 1 ('%i') expects argument of type 'int' but the corresponding argument has type 'double'
-TEST 211: OK: Expected signal at printf.c:365
+TEST 211: OK: Expected signal at printf.c:371
 printf: directive 1 ('%d') expects argument of type 'int' but the corresponding argument has type 'double'
-TEST 212: OK: Expected signal at printf.c:366
-TEST 213: OK: Expected execution at printf.c:369
-TEST 214: OK: Expected execution at printf.c:370
-TEST 215: OK: Expected execution at printf.c:371
-TEST 216: OK: Expected execution at printf.c:372
-TEST 217: OK: Expected execution at printf.c:373
-TEST 218: OK: Expected execution at printf.c:374
-TEST 219: OK: Expected execution at printf.c:375
-TEST 220: OK: Expected execution at printf.c:376
-TEST 221: OK: Expected execution at printf.c:378
-TEST 222: OK: Expected execution at printf.c:379
-TEST 223: OK: Expected execution at printf.c:384
-TEST 224: OK: Expected execution at printf.c:385
-TEST 225: OK: Expected execution at printf.c:388
-TEST 226: OK: Expected execution at printf.c:389
-TEST 227: OK: Expected execution at printf.c:390
-TEST 228: OK: Expected execution at printf.c:391
+TEST 212: OK: Expected signal at printf.c:372
+TEST 213: OK: Expected execution at printf.c:375
+TEST 214: OK: Expected execution at printf.c:376
+TEST 215: OK: Expected execution at printf.c:377
+TEST 216: OK: Expected execution at printf.c:378
+TEST 217: OK: Expected execution at printf.c:379
+TEST 218: OK: Expected execution at printf.c:380
+TEST 219: OK: Expected execution at printf.c:381
+TEST 220: OK: Expected execution at printf.c:382
+TEST 221: OK: Expected execution at printf.c:384
+TEST 222: OK: Expected execution at printf.c:385
+TEST 223: OK: Expected execution at printf.c:390
+TEST 224: OK: Expected execution at printf.c:391
+TEST 225: OK: Expected execution at printf.c:394
+TEST 226: OK: Expected execution at printf.c:395
+TEST 227: OK: Expected execution at printf.c:396
+TEST 228: OK: Expected execution at printf.c:397
 printf: directive 1 ('%u') expects argument of type 'unsigned int' but the corresponding argument has type 'long'
-TEST 229: OK: Expected signal at printf.c:392
+TEST 229: OK: Expected signal at printf.c:398
 printf: directive 1 ('%o') expects argument of type 'unsigned int' but the corresponding argument has type 'long'
-TEST 230: OK: Expected signal at printf.c:393
+TEST 230: OK: Expected signal at printf.c:399
 printf: directive 1 ('%x') expects argument of type 'unsigned int' but the corresponding argument has type 'long'
-TEST 231: OK: Expected signal at printf.c:394
+TEST 231: OK: Expected signal at printf.c:400
 printf: directive 1 ('%X') expects argument of type 'unsigned int' but the corresponding argument has type 'long'
-TEST 232: OK: Expected signal at printf.c:395
+TEST 232: OK: Expected signal at printf.c:401
 printf: directive 1 ('%u') expects argument of type 'unsigned int' but the corresponding argument has type 'unsigned long'
-TEST 233: OK: Expected signal at printf.c:396
+TEST 233: OK: Expected signal at printf.c:402
 printf: directive 1 ('%o') expects argument of type 'unsigned int' but the corresponding argument has type 'unsigned long'
-TEST 234: OK: Expected signal at printf.c:397
+TEST 234: OK: Expected signal at printf.c:403
 printf: directive 1 ('%x') expects argument of type 'unsigned int' but the corresponding argument has type 'unsigned long'
-TEST 235: OK: Expected signal at printf.c:398
+TEST 235: OK: Expected signal at printf.c:404
 printf: directive 1 ('%X') expects argument of type 'unsigned int' but the corresponding argument has type 'unsigned long'
-TEST 236: OK: Expected signal at printf.c:399
+TEST 236: OK: Expected signal at printf.c:405
 printf: directive 1 ('%u') expects argument of type 'unsigned int' but the corresponding argument has type 'double'
-TEST 237: OK: Expected signal at printf.c:400
+TEST 237: OK: Expected signal at printf.c:406
 printf: directive 1 ('%o') expects argument of type 'unsigned int' but the corresponding argument has type 'double'
-TEST 238: OK: Expected signal at printf.c:401
+TEST 238: OK: Expected signal at printf.c:407
 printf: directive 1 ('%x') expects argument of type 'unsigned int' but the corresponding argument has type 'double'
-TEST 239: OK: Expected signal at printf.c:402
+TEST 239: OK: Expected signal at printf.c:408
 printf: directive 1 ('%X') expects argument of type 'unsigned int' but the corresponding argument has type 'double'
-TEST 240: OK: Expected signal at printf.c:403
+TEST 240: OK: Expected signal at printf.c:409
 printf: directive 1 ('%u') expects argument of type 'unsigned int' but the corresponding argument has type 'void*'
-TEST 241: OK: Expected signal at printf.c:404
+TEST 241: OK: Expected signal at printf.c:410
 printf: directive 1 ('%o') expects argument of type 'unsigned int' but the corresponding argument has type 'void*'
-TEST 242: OK: Expected signal at printf.c:405
+TEST 242: OK: Expected signal at printf.c:411
 printf: directive 1 ('%x') expects argument of type 'unsigned int' but the corresponding argument has type 'void*'
-TEST 243: OK: Expected signal at printf.c:406
+TEST 243: OK: Expected signal at printf.c:412
 printf: directive 1 ('%X') expects argument of type 'unsigned int' but the corresponding argument has type 'void*'
-TEST 244: OK: Expected signal at printf.c:407
+TEST 244: OK: Expected signal at printf.c:413
 printf: directive 1 ('%u') expects argument of type 'unsigned int' but the corresponding argument has type 'char*'
-TEST 245: OK: Expected signal at printf.c:408
+TEST 245: OK: Expected signal at printf.c:414
 printf: directive 1 ('%o') expects argument of type 'unsigned int' but the corresponding argument has type 'char*'
-TEST 246: OK: Expected signal at printf.c:409
+TEST 246: OK: Expected signal at printf.c:415
 printf: directive 1 ('%x') expects argument of type 'unsigned int' but the corresponding argument has type 'char*'
-TEST 247: OK: Expected signal at printf.c:410
+TEST 247: OK: Expected signal at printf.c:416
 printf: directive 1 ('%X') expects argument of type 'unsigned int' but the corresponding argument has type 'char*'
-TEST 248: OK: Expected signal at printf.c:411
-TEST 249: OK: Expected execution at printf.c:414
-TEST 250: OK: Expected execution at printf.c:415
-TEST 251: OK: Expected execution at printf.c:416
-TEST 252: OK: Expected execution at printf.c:417
-TEST 253: OK: Expected execution at printf.c:418
-TEST 254: OK: Expected execution at printf.c:419
-TEST 255: OK: Expected execution at printf.c:420
-TEST 256: OK: Expected execution at printf.c:421
-TEST 257: OK: Expected execution at printf.c:423
-TEST 258: OK: Expected execution at printf.c:424
-TEST 259: OK: Expected execution at printf.c:425
-TEST 260: OK: Expected execution at printf.c:426
-TEST 261: OK: Expected execution at printf.c:428
-TEST 262: OK: Expected execution at printf.c:429
-TEST 263: OK: Expected execution at printf.c:430
-TEST 264: OK: Expected execution at printf.c:431
-TEST 265: OK: Expected execution at printf.c:432
-TEST 266: OK: Expected execution at printf.c:433
-TEST 267: OK: Expected execution at printf.c:434
-TEST 268: OK: Expected execution at printf.c:435
-TEST 269: OK: Expected execution at printf.c:436
-TEST 270: OK: Expected execution at printf.c:437
-TEST 271: OK: Expected execution at printf.c:438
-TEST 272: OK: Expected execution at printf.c:439
-TEST 273: OK: Expected execution at printf.c:441
-TEST 274: OK: Expected execution at printf.c:442
-TEST 275: OK: Expected execution at printf.c:443
-TEST 276: OK: Expected execution at printf.c:444
-TEST 277: OK: Expected execution at printf.c:448
-TEST 278: OK: Expected execution at printf.c:449
+TEST 248: OK: Expected signal at printf.c:417
+TEST 249: OK: Expected execution at printf.c:420
+TEST 250: OK: Expected execution at printf.c:421
+TEST 251: OK: Expected execution at printf.c:422
+TEST 252: OK: Expected execution at printf.c:423
+TEST 253: OK: Expected execution at printf.c:424
+TEST 254: OK: Expected execution at printf.c:425
+TEST 255: OK: Expected execution at printf.c:426
+TEST 256: OK: Expected execution at printf.c:427
+TEST 257: OK: Expected execution at printf.c:429
+TEST 258: OK: Expected execution at printf.c:430
+TEST 259: OK: Expected execution at printf.c:431
+TEST 260: OK: Expected execution at printf.c:432
+TEST 261: OK: Expected execution at printf.c:434
+TEST 262: OK: Expected execution at printf.c:435
+TEST 263: OK: Expected execution at printf.c:436
+TEST 264: OK: Expected execution at printf.c:437
+TEST 265: OK: Expected execution at printf.c:438
+TEST 266: OK: Expected execution at printf.c:439
+TEST 267: OK: Expected execution at printf.c:440
+TEST 268: OK: Expected execution at printf.c:441
+TEST 269: OK: Expected execution at printf.c:442
+TEST 270: OK: Expected execution at printf.c:443
+TEST 271: OK: Expected execution at printf.c:444
+TEST 272: OK: Expected execution at printf.c:445
+TEST 273: OK: Expected execution at printf.c:447
+TEST 274: OK: Expected execution at printf.c:448
+TEST 275: OK: Expected execution at printf.c:449
+TEST 276: OK: Expected execution at printf.c:450
+TEST 277: OK: Expected execution at printf.c:454
+TEST 278: OK: Expected execution at printf.c:455
 printf: directive 1 ('%f') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 279: OK: Expected signal at printf.c:450
+TEST 279: OK: Expected signal at printf.c:456
 printf: directive 1 ('%F') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 280: OK: Expected signal at printf.c:451
+TEST 280: OK: Expected signal at printf.c:457
 printf: directive 1 ('%f') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 281: OK: Expected signal at printf.c:452
+TEST 281: OK: Expected signal at printf.c:458
 printf: directive 1 ('%F') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 282: OK: Expected signal at printf.c:453
+TEST 282: OK: Expected signal at printf.c:459
 printf: directive 1 ('%f') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 283: OK: Expected signal at printf.c:454
+TEST 283: OK: Expected signal at printf.c:460
 printf: directive 1 ('%F') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 284: OK: Expected signal at printf.c:455
-TEST 285: OK: Expected execution at printf.c:456
-TEST 286: OK: Expected execution at printf.c:457
+TEST 284: OK: Expected signal at printf.c:461
+TEST 285: OK: Expected execution at printf.c:462
+TEST 286: OK: Expected execution at printf.c:463
 printf: directive 1 ('%a') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 287: OK: Expected signal at printf.c:458
+TEST 287: OK: Expected signal at printf.c:464
 printf: directive 1 ('%A') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 288: OK: Expected signal at printf.c:459
+TEST 288: OK: Expected signal at printf.c:465
 printf: directive 1 ('%a') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 289: OK: Expected signal at printf.c:460
+TEST 289: OK: Expected signal at printf.c:466
 printf: directive 1 ('%A') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 290: OK: Expected signal at printf.c:461
+TEST 290: OK: Expected signal at printf.c:467
 printf: directive 1 ('%a') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 291: OK: Expected signal at printf.c:462
+TEST 291: OK: Expected signal at printf.c:468
 printf: directive 1 ('%A') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 292: OK: Expected signal at printf.c:463
-TEST 293: OK: Expected execution at printf.c:464
-TEST 294: OK: Expected execution at printf.c:465
+TEST 292: OK: Expected signal at printf.c:469
+TEST 293: OK: Expected execution at printf.c:470
+TEST 294: OK: Expected execution at printf.c:471
 printf: directive 1 ('%e') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 295: OK: Expected signal at printf.c:466
+TEST 295: OK: Expected signal at printf.c:472
 printf: directive 1 ('%E') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 296: OK: Expected signal at printf.c:467
+TEST 296: OK: Expected signal at printf.c:473
 printf: directive 1 ('%e') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 297: OK: Expected signal at printf.c:468
+TEST 297: OK: Expected signal at printf.c:474
 printf: directive 1 ('%E') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 298: OK: Expected signal at printf.c:469
+TEST 298: OK: Expected signal at printf.c:475
 printf: directive 1 ('%e') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 299: OK: Expected signal at printf.c:470
+TEST 299: OK: Expected signal at printf.c:476
 printf: directive 1 ('%E') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 300: OK: Expected signal at printf.c:471
-TEST 301: OK: Expected execution at printf.c:472
-TEST 302: OK: Expected execution at printf.c:473
+TEST 300: OK: Expected signal at printf.c:477
+TEST 301: OK: Expected execution at printf.c:478
+TEST 302: OK: Expected execution at printf.c:479
 printf: directive 1 ('%g') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 303: OK: Expected signal at printf.c:474
+TEST 303: OK: Expected signal at printf.c:480
 printf: directive 1 ('%G') expects argument of type 'double' but the corresponding argument has type 'long double'
-TEST 304: OK: Expected signal at printf.c:475
+TEST 304: OK: Expected signal at printf.c:481
 printf: directive 1 ('%g') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 305: OK: Expected signal at printf.c:476
+TEST 305: OK: Expected signal at printf.c:482
 printf: directive 1 ('%G') expects argument of type 'double' but the corresponding argument has type 'int'
-TEST 306: OK: Expected signal at printf.c:477
+TEST 306: OK: Expected signal at printf.c:483
 printf: directive 1 ('%g') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 307: OK: Expected signal at printf.c:478
+TEST 307: OK: Expected signal at printf.c:484
 printf: directive 1 ('%G') expects argument of type 'double' but the corresponding argument has type 'unsigned long'
-TEST 308: OK: Expected signal at printf.c:479
+TEST 308: OK: Expected signal at printf.c:485
 printf: directive 1 ('%Lf') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 309: OK: Expected signal at printf.c:482
+TEST 309: OK: Expected signal at printf.c:488
 printf: directive 1 ('%LF') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 310: OK: Expected signal at printf.c:483
-TEST 311: OK: Expected execution at printf.c:484
-TEST 312: OK: Expected execution at printf.c:485
+TEST 310: OK: Expected signal at printf.c:489
+TEST 311: OK: Expected execution at printf.c:490
+TEST 312: OK: Expected execution at printf.c:491
 printf: directive 1 ('%Lf') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 313: OK: Expected signal at printf.c:486
+TEST 313: OK: Expected signal at printf.c:492
 printf: directive 1 ('%LF') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 314: OK: Expected signal at printf.c:487
+TEST 314: OK: Expected signal at printf.c:493
 printf: directive 1 ('%Lf') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 315: OK: Expected signal at printf.c:488
+TEST 315: OK: Expected signal at printf.c:494
 printf: directive 1 ('%LF') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 316: OK: Expected signal at printf.c:489
+TEST 316: OK: Expected signal at printf.c:495
 printf: directive 1 ('%La') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 317: OK: Expected signal at printf.c:490
+TEST 317: OK: Expected signal at printf.c:496
 printf: directive 1 ('%LA') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 318: OK: Expected signal at printf.c:491
-TEST 319: OK: Expected execution at printf.c:492
-TEST 320: OK: Expected execution at printf.c:493
+TEST 318: OK: Expected signal at printf.c:497
+TEST 319: OK: Expected execution at printf.c:498
+TEST 320: OK: Expected execution at printf.c:499
 printf: directive 1 ('%La') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 321: OK: Expected signal at printf.c:494
+TEST 321: OK: Expected signal at printf.c:500
 printf: directive 1 ('%LA') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 322: OK: Expected signal at printf.c:495
+TEST 322: OK: Expected signal at printf.c:501
 printf: directive 1 ('%La') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 323: OK: Expected signal at printf.c:496
+TEST 323: OK: Expected signal at printf.c:502
 printf: directive 1 ('%LA') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 324: OK: Expected signal at printf.c:497
+TEST 324: OK: Expected signal at printf.c:503
 printf: directive 1 ('%Le') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 325: OK: Expected signal at printf.c:498
+TEST 325: OK: Expected signal at printf.c:504
 printf: directive 1 ('%LE') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 326: OK: Expected signal at printf.c:499
-TEST 327: OK: Expected execution at printf.c:500
-TEST 328: OK: Expected execution at printf.c:501
+TEST 326: OK: Expected signal at printf.c:505
+TEST 327: OK: Expected execution at printf.c:506
+TEST 328: OK: Expected execution at printf.c:507
 printf: directive 1 ('%Le') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 329: OK: Expected signal at printf.c:502
+TEST 329: OK: Expected signal at printf.c:508
 printf: directive 1 ('%LE') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 330: OK: Expected signal at printf.c:503
+TEST 330: OK: Expected signal at printf.c:509
 printf: directive 1 ('%Le') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 331: OK: Expected signal at printf.c:504
+TEST 331: OK: Expected signal at printf.c:510
 printf: directive 1 ('%LE') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 332: OK: Expected signal at printf.c:505
+TEST 332: OK: Expected signal at printf.c:511
 printf: directive 1 ('%Lg') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 333: OK: Expected signal at printf.c:506
+TEST 333: OK: Expected signal at printf.c:512
 printf: directive 1 ('%LG') expects argument of type 'long double' but the corresponding argument has type 'double'
-TEST 334: OK: Expected signal at printf.c:507
-TEST 335: OK: Expected execution at printf.c:508
-TEST 336: OK: Expected execution at printf.c:509
+TEST 334: OK: Expected signal at printf.c:513
+TEST 335: OK: Expected execution at printf.c:514
+TEST 336: OK: Expected execution at printf.c:515
 printf: directive 1 ('%Lg') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 337: OK: Expected signal at printf.c:510
+TEST 337: OK: Expected signal at printf.c:516
 printf: directive 1 ('%LG') expects argument of type 'long double' but the corresponding argument has type 'int'
-TEST 338: OK: Expected signal at printf.c:511
+TEST 338: OK: Expected signal at printf.c:517
 printf: directive 1 ('%Lg') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 339: OK: Expected signal at printf.c:512
+TEST 339: OK: Expected signal at printf.c:518
 printf: directive 1 ('%LG') expects argument of type 'long double' but the corresponding argument has type 'unsigned long'
-TEST 340: OK: Expected signal at printf.c:513
-TEST 341: OK: Expected execution at printf.c:516
-TEST 342: OK: Expected execution at printf.c:517
-TEST 343: OK: Expected execution at printf.c:518
+TEST 340: OK: Expected signal at printf.c:519
+TEST 341: OK: Expected execution at printf.c:522
+TEST 342: OK: Expected execution at printf.c:523
+TEST 343: OK: Expected execution at printf.c:524
 printf: directive 1 ('%c') expects argument of type 'int' but the corresponding argument has type 'unsigned int'
-TEST 344: OK: Expected signal at printf.c:519
+TEST 344: OK: Expected signal at printf.c:525
 printf: directive 1 ('%c') expects argument of type 'int' but the corresponding argument has type 'long'
-TEST 345: OK: Expected signal at printf.c:520
+TEST 345: OK: Expected signal at printf.c:526
 printf: directive 1 ('%c') expects argument of type 'int' but the corresponding argument has type 'double'
-TEST 346: OK: Expected signal at printf.c:521
+TEST 346: OK: Expected signal at printf.c:527
 printf: directive 1 ('%c') expects argument of type 'int' but the corresponding argument has type 'char*'
-TEST 347: OK: Expected signal at printf.c:522
-TEST 348: OK: Expected execution at printf.c:525
+TEST 347: OK: Expected signal at printf.c:528
+TEST 348: OK: Expected execution at printf.c:531
 printf: directive 1 ('%lc') expects argument of type 'unsigned int' but the corresponding argument has type 'long'
-TEST 349: OK: Expected signal at printf.c:526
-TEST 350: OK: Expected execution at printf.c:533
-TEST 351: OK: Expected execution at printf.c:534
+TEST 349: OK: Expected signal at printf.c:532
+TEST 350: OK: Expected execution at printf.c:539
+TEST 351: OK: Expected execution at printf.c:540
 printf: directive 1 ('%s') expects argument of type 'char*' but the corresponding argument has type 'int'
-TEST 352: OK: Expected signal at printf.c:535
+TEST 352: OK: Expected signal at printf.c:541
 printf: directive 1 ('%s') expects argument of type 'char*' but the corresponding argument has type 'void*'
-TEST 353: OK: Expected signal at printf.c:536
+TEST 353: OK: Expected signal at printf.c:542
 printf: attempt to access unallocated memory via directive 1 ('%s')
-TEST 354: OK: Expected signal at printf.c:541
+TEST 354: OK: Expected signal at printf.c:547
 printf: attempt to access unallocated memory via directive 1 ('%s')
-TEST 355: OK: Expected signal at printf.c:542
-TEST 356: OK: Expected execution at printf.c:545
+TEST 355: OK: Expected signal at printf.c:548
+TEST 356: OK: Expected execution at printf.c:551
 printf: unterminated string in directive 1 ('%s')
-TEST 357: OK: Expected signal at printf.c:547
-TEST 358: OK: Expected execution at printf.c:550
-TEST 359: OK: Expected execution at printf.c:551
-TEST 360: OK: Expected execution at printf.c:552
-TEST 361: OK: Expected execution at printf.c:553
+TEST 357: OK: Expected signal at printf.c:553
+TEST 358: OK: Expected execution at printf.c:556
+TEST 359: OK: Expected execution at printf.c:557
+TEST 360: OK: Expected execution at printf.c:558
+TEST 361: OK: Expected execution at printf.c:559
 printf: attempt to access partially unallocated memory via directive 1 ('%.5s')
-TEST 362: OK: Expected signal at printf.c:554
-TEST 363: OK: Expected execution at printf.c:579
+TEST 362: OK: Expected signal at printf.c:560
+TEST 363: OK: Expected execution at printf.c:585
 printf: directive 1 ('%p') expects argument of type 'void*' but the corresponding argument has type 'char*'
-TEST 364: OK: Expected signal at printf.c:580
+TEST 364: OK: Expected signal at printf.c:586
 printf: argument 1 of directive %p not allocated
-TEST 365: OK: Expected signal at printf.c:581
-TEST 366: OK: Expected execution at printf.c:584
+TEST 365: OK: Expected signal at printf.c:587
+TEST 366: OK: Expected execution at printf.c:590
 printf: directive 1 ('%n') expects argument of type 'int*' but the corresponding argument has type 'unsigned int*'
-TEST 367: OK: Expected signal at printf.c:585
+TEST 367: OK: Expected signal at printf.c:591
 printf: directive 1 ('%n') expects argument of type 'int*' but the corresponding argument has type 'void*'
-TEST 368: OK: Expected signal at printf.c:586
+TEST 368: OK: Expected signal at printf.c:592
 printf: argument 0 of directive %n not allocated or writeable
-TEST 369: OK: Expected signal at printf.c:587
+TEST 369: OK: Expected signal at printf.c:593
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag ['] to format specifier [n]
-TEST 370: OK: Expected signal at printf.c:590
+TEST 370: OK: Expected signal at printf.c:596
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [0] to format specifier [n]
-TEST 371: OK: Expected signal at printf.c:591
+TEST 371: OK: Expected signal at printf.c:597
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of flag [#] to format specifier [n]
-TEST 372: OK: Expected signal at printf.c:592
+TEST 372: OK: Expected signal at printf.c:598
 Format error: one of more flags with [n] specifier
-TEST 373: OK: Expected signal at printf.c:593
+TEST 373: OK: Expected signal at printf.c:599
 Format error: one of more flags with [n] specifier
-TEST 374: OK: Expected signal at printf.c:594
+TEST 374: OK: Expected signal at printf.c:600
 Format error: one of more flags with [n] specifier
-TEST 375: OK: Expected signal at printf.c:595
+TEST 375: OK: Expected signal at printf.c:601
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [n]
-TEST 376: OK: Expected signal at printf.c:596
+TEST 376: OK: Expected signal at printf.c:602
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [n]
-TEST 377: OK: Expected signal at printf.c:597
+TEST 377: OK: Expected signal at printf.c:603
 FRAMAC_SHARE/e-acsl/libc_replacements/e_acsl_stdio.c:563: Format error: wrong application of precision [.] to format specifier [n]
-TEST 378: OK: Expected signal at printf.c:598
+TEST 378: OK: Expected signal at printf.c:604
 Format error: field width used with [n] specifier
-TEST 379: OK: Expected signal at printf.c:599
+TEST 379: OK: Expected signal at printf.c:605
 Format error: in directive '%d - %'% - %u times 
 '.the complete conversion specification for '%' is '%%'
-TEST 380: OK: Expected signal at printf.c:602
+TEST 380: OK: Expected signal at printf.c:608
diff --git a/src/plugins/e-acsl/tests/format/printf.c b/src/plugins/e-acsl/tests/format/printf.c
index c1ddba8d5eabf8e0a8db97d538cef13a6ba71859..a70af11be0159a5a338a4f1990f37d513d48481e 100644
--- a/src/plugins/e-acsl/tests/format/printf.c
+++ b/src/plugins/e-acsl/tests/format/printf.c
@@ -1,9 +1,15 @@
 /* run.config
    COMMENT: Check detection of format-string vulnerabilities via printf
+   DEPS: @PTEST_DEPS@ utils/signalled.h
    STDOPT: +"-eva-precision=1"
 */
 /* run.config_dev
    MACRO: ROOT_EACSL_GCC_OPTS_EXT @ROOT_EACSL_GCC_OPTS_EXT@ -e "-Wno-maybe-uninitialized"
+   COMMENT: This part is blank on purpose (test stability + Dune)
+
+
+
+
 */
 
 #include "utils/signalled.h"
diff --git a/src/plugins/e-acsl/tests/special/e-acsl-external-print-value.c b/src/plugins/e-acsl/tests/special/e-acsl-external-print-value.c
index 1de231b4f1471ffc04034ec6f26b0309a1df7bf1..66d855007366323a688fa98bc9ab0610ed601cb3 100644
--- a/src/plugins/e-acsl/tests/special/e-acsl-external-print-value.c
+++ b/src/plugins/e-acsl/tests/special/e-acsl-external-print-value.c
@@ -1,5 +1,5 @@
 /* run.config_dev
-   MACRO: ROOT_EACSL_GCC_OPTS_EXT --assert-print-data --external-print-value @PTEST_DIR@/e-acsl-external-print-value-fct.c
+   MACRO: ROOT_EACSL_GCC_OPTS_EXT --assert-print-data --external-print-value %{dep:@PTEST_DIR@/e-acsl-external-print-value-fct.c}
 */
 
 int main() {
diff --git a/src/plugins/from/callwise.ml b/src/plugins/from/callwise.ml
index 3c7d13ec481e04eaccd7de8149e7bbeeaf616699..0538e56b092f8ab3c20d58f1d2d0d317cc6492d5 100644
--- a/src/plugins/from/callwise.ml
+++ b/src/plugins/from/callwise.ml
@@ -158,13 +158,9 @@ let record_for_individual_froms (call_stack, value_res) =
       | Value_types.NormalStore ((states, _after_states), _) ->
         let cur_kf, _ = List.hd call_stack in
         let froms =
-          try
-            if !Db.Value.no_results (Kernel_function.get_definition cur_kf)
-            then
-              Function_Froms.top
-            else
-              compute_call_from_value_states cur_kf (Lazy.force states)
-          with Kernel_function.No_Definition -> Function_Froms.top
+          if Eva.Analysis.save_results cur_kf
+          then compute_call_from_value_states cur_kf (Lazy.force states)
+          else Function_Froms.top
         in
         let pre_state = match !call_froms_stack with
           | [] -> assert false
diff --git a/src/plugins/from/from_compute.ml b/src/plugins/from/from_compute.ml
index 17afc0cb0009c8dd7452ed1ee8f6940e60b21f00..9a53f5d988a5505a7a857d8bc1061685a8f38f6c 100644
--- a/src/plugins/from/from_compute.ml
+++ b/src/plugins/from/from_compute.ml
@@ -604,7 +604,7 @@ struct
     match kf.fundec with
     | Declaration _ -> assert false
     | Definition (f,_) ->
-      if !Db.Value.no_results f then Function_Froms.top
+      if not (Eva.Analysis.save_results kf) then Function_Froms.top
       else
         try
           Stack.iter
@@ -689,7 +689,7 @@ struct
        !s);
     Db.yield ();
     let result =
-      if !Db.Value.use_spec_instead_of_definition kf
+      if Eva.Analysis.use_spec_instead_of_definition kf
       then compute_using_prototype kf
       else compute_using_cfg kf
     in
diff --git a/src/plugins/from/from_register.ml b/src/plugins/from/from_register.ml
index d807740cf802b11d785e27cf7522d8cf673567f9..61a61f23ed3bab0bf24cd21deaad33401ef4743c 100644
--- a/src/plugins/from/from_register.ml
+++ b/src/plugins/from/from_register.ml
@@ -98,7 +98,7 @@ let print_calldeps () =
   let treat_call s funtype =
     let caller = Kernel_function.find_englobing_kf s in
     let f, typ_f =
-      if !Db.Value.no_results (Kernel_function.get_definition caller)
+      if not (Eva.Analysis.save_results caller)
       then "<unknown>", funtype
       else
         match Eva.Results.callee s with
diff --git a/src/plugins/inout/cumulative_analysis.ml b/src/plugins/inout/cumulative_analysis.ml
index 5fd0ef62e515072e44dde831fba0e2cfb0723517..5381137ce69085bf124554bfc4163c28d2f5b422 100644
--- a/src/plugins/inout/cumulative_analysis.ml
+++ b/src/plugins/inout/cumulative_analysis.ml
@@ -155,7 +155,7 @@ struct
         r_glob
 
     method compute_kf kf =
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Eva.Analysis.use_spec_instead_of_definition kf then
         (* If only a declaration is available, or we are instructed to use
            the spec, do so. If a current stmt is available (most of the times),
            do not cache the results. Maybe [compute_funspec] will be able
diff --git a/src/plugins/inout/operational_inputs.ml b/src/plugins/inout/operational_inputs.ml
index e8b14ef8fe536ca7469bddd1e8c1162ed7a8eb74..216604ca8dfdda61b9313d38391e8949340c88a3 100644
--- a/src/plugins/inout/operational_inputs.ml
+++ b/src/plugins/inout/operational_inputs.ml
@@ -512,7 +512,7 @@ let get_internal_aux ?stmt kf =
   | Some stmt ->
     try CallwiseResults.find (kf, Kstmt stmt)
     with Not_found ->
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Eva.Analysis.use_spec_instead_of_definition kf then
         compute_using_prototype ~stmt kf
       else !Db.Operational_inputs.get_internal kf
 
@@ -524,7 +524,7 @@ let get_external_aux ?stmt kf =
       let internals = CallwiseResults.find (kf, Kstmt stmt) in
       externalize ~with_formals:false kf internals
     with Not_found ->
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Eva.Analysis.use_spec_instead_of_definition kf then
         let r = compute_externals_using_prototype ~stmt kf in
         CallwiseResults.add (kf, Kstmt stmt) r;
         r
@@ -702,12 +702,9 @@ module Callwise = struct
       | Value_types.NormalStore ((states, _after_states), _) ->
         let kf, _ = List.hd call_stack in
         let inout =
-          try
-            if !Db.Value.no_results (Kernel_function.get_definition kf) then
-              top
-            else
-              compute_call_from_value_states kf call_stack (Lazy.force states)
-          with Kernel_function.No_Definition -> top
+          if Eva.Analysis.save_results kf
+          then compute_call_from_value_states kf call_stack (Lazy.force states)
+          else top
         in
         (match value_res with
          | Value_types.NormalStore (_, memexec_counter) ->
@@ -778,7 +775,7 @@ module FunctionWise = struct
                                               }*)
 
   let compute_internal_using_cfg kf =
-    if !Db.Value.no_results (Kernel_function.get_definition kf) then
+    if not (Eva.Analysis.save_results kf) then
       top
     else begin
       Inout_parameters.feedback ~level:2 "computing for function %a%s"
@@ -805,7 +802,7 @@ let get_internal =
                                 to Eva.Analysis.compute *)
        with
        | Not_found ->
-         if!Db.Value.use_spec_instead_of_definition kf then
+         if Eva.Analysis.use_spec_instead_of_definition kf then
            compute_using_prototype kf
          else
            FunctionWise.compute_internal_using_cfg kf
diff --git a/src/plugins/instantiate/Makefile.in b/src/plugins/instantiate/Makefile.in
index 5658325fc33460de75c7ad25981c3f778e63818d..1243f1bb6bedf316c9d36d046e21dee5c5c7a2df 100644
--- a/src/plugins/instantiate/Makefile.in
+++ b/src/plugins/instantiate/Makefile.in
@@ -66,6 +66,14 @@ PLUGIN_DISTRIBUTED := $(PLUGIN_ENABLE)
 PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
 #PLUGIN_NO_DEFAULT_TEST := no
 PLUGIN_TESTS_DIRS := string stdlib options api plugin
+PLUGIN_DISTRIB_TESTS := \
+  $(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/oracle/* \
+    $(filter-out result oracle,$(dir)/*)) \
+  ) \
+  $(filter-out result oracle,tests/*)) \
+  $(foreach dir, tests $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/test_config)
 
 ################
 # Generic part #
diff --git a/src/plugins/instantiate/tests/options/test_config b/src/plugins/instantiate/tests/options/test_config
index 01d3ae76752389c86266658217efba589a7e71e0..b5a180b54364b476c60b7ec846eb330e5b84d2ff 100644
--- a/src/plugins/instantiate/tests/options/test_config
+++ b/src/plugins/instantiate/tests/options/test_config
@@ -1 +1 @@
-OPT: @PTEST_FILE@ -instantiate -print
\ No newline at end of file
+OPT: @PTEST_FILE@ -instantiate -print
diff --git a/src/plugins/instantiate/tests/plugin/ast_clear.c b/src/plugins/instantiate/tests/plugin/ast_clear.c
index d3dfbb6ad2a2fb83924f23cba30589f680d415e9..7efc3990bd099a9f2d634f975e82efe66e589c10 100644
--- a/src/plugins/instantiate/tests/plugin/ast_clear.c
+++ b/src/plugins/instantiate/tests/plugin/ast_clear.c
@@ -6,4 +6,4 @@
 
 int foo(char* s1, char* s2, size_t len){
   return memcmp(s1, s2, len) ;
-}
\ No newline at end of file
+}
diff --git a/src/plugins/instantiate/tests/plugin/function_pointers.i b/src/plugins/instantiate/tests/plugin/function_pointers.i
index 8f27dd1ab187cf20f3fd5572383a80d7e5be4dd9..b40b49be87beb6cc3670325f2f3047cfda6e986a 100644
--- a/src/plugins/instantiate/tests/plugin/function_pointers.i
+++ b/src/plugins/instantiate/tests/plugin/function_pointers.i
@@ -3,4 +3,4 @@
 */
 void foo(void (* bar)()){
   (*bar)();
-}
\ No newline at end of file
+}
diff --git a/src/plugins/instantiate/tests/stdlib/calloc.c b/src/plugins/instantiate/tests/stdlib/calloc.c
index d87508ad415bcf21b677949b5429c8b8b376fc97..6b100ff812eddc17145ebc067f7fa31b5c3faf80 100644
--- a/src/plugins/instantiate/tests/stdlib/calloc.c
+++ b/src/plugins/instantiate/tests/stdlib/calloc.c
@@ -23,4 +23,4 @@ int main(void){
   struct Flex* f = calloc(1, sizeof(struct Flex) + 3 * sizeof(int)) ;
   void *v = calloc(10, sizeof(char));
   struct incomplete* inc = calloc(10, 10);
-}
\ No newline at end of file
+}
diff --git a/src/plugins/instantiate/tests/stdlib/free.c b/src/plugins/instantiate/tests/stdlib/free.c
index e61ed8864c1d2657e6dc1f65a0d047735b3a2d6b..f2786b05cb0fdfcdfa1dc295a4f5085080b3b4f8 100644
--- a/src/plugins/instantiate/tests/stdlib/free.c
+++ b/src/plugins/instantiate/tests/stdlib/free.c
@@ -14,4 +14,4 @@ void with_void(void * x){
 }
 void with_incomplete(struct incomplete* t){
   free(t);
-}
\ No newline at end of file
+}
diff --git a/src/plugins/instantiate/tests/stdlib/malloc.c b/src/plugins/instantiate/tests/stdlib/malloc.c
index 00a07820a9ac4377c39826e16538d62e6f8c2322..70fab21bc4751ff7ac5920cfc4b044693f990f29 100644
--- a/src/plugins/instantiate/tests/stdlib/malloc.c
+++ b/src/plugins/instantiate/tests/stdlib/malloc.c
@@ -22,4 +22,4 @@ int main(void){
   struct Flex* f = malloc(sizeof(struct Flex) + 3 * sizeof(int)) ;
   void *v = malloc(sizeof(char) * 10);
   struct incomplete* inc = malloc(10);
-}
\ No newline at end of file
+}
diff --git a/src/plugins/markdown-report/Makefile.in b/src/plugins/markdown-report/Makefile.in
index d757a1afca069dc4dbe1cf245d5abaf76ff5651e..1319104e18fc93bb3628eb66df1c26e52f7754ac 100644
--- a/src/plugins/markdown-report/Makefile.in
+++ b/src/plugins/markdown-report/Makefile.in
@@ -43,6 +43,14 @@ PLUGIN_DISTRIB_EXTERNAL:=\
  eva_info.ml eva_info.mli
 PLUGIN_DEPFLAGS:= $(PLUGIN_DIR)/eva_info.mli $(PLUGIN_DIR)/eva_info.ml
 PLUGIN_TESTS_DIRS:= md sarif
+PLUGIN_DISTRIB_TESTS := \
+  $(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/oracle/* \
+    $(filter-out result oracle,$(dir)/*)) \
+  ) \
+  $(filter-out result oracle,tests/*)) \
+  $(foreach dir, tests $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/test_config)
 
 include $(FRAMAC_SHARE)/Makefile.dynamic
 
diff --git a/src/plugins/markdown-report/md_gen.ml b/src/plugins/markdown-report/md_gen.ml
index 7d306b15ece681ac9dd5e8ef70c4b38e3f1525aa..3179c4a4835c38dc24a66aaa6775bf209e75631b 100644
--- a/src/plugins/markdown-report/md_gen.ml
+++ b/src/plugins/markdown-report/md_gen.ml
@@ -615,7 +615,9 @@ let gen_report ~draft:is_draft () =
   else
     try
       Command.print_file (file:>string)
-        (fun fmt -> Markdown.pp_pandoc fmt doc) ;
+        (fun fmt ->
+           Markdown.pp_pandoc fmt doc;
+           Format.pp_print_newline fmt ()) ;
       Mdr_params.result "Report %a generated" Filepath.Normalized.pretty file
     with Sys_error s ->
       Mdr_params.warning
diff --git a/src/plugins/markdown-report/sarif_gen.ml b/src/plugins/markdown-report/sarif_gen.ml
index c6cfaa1e235d59deed95dc34bb0df1044c35c6f6..7378f6b6b85eaaf91cb59bc239328a692d3956a3 100644
--- a/src/plugins/markdown-report/sarif_gen.ml
+++ b/src/plugins/markdown-report/sarif_gen.ml
@@ -255,15 +255,7 @@ let gen_run remarks =
         (key, (dir :> string))
       ) (Filepath.all_symbolic_dirs ())
   in
-  (* TODO: we currently use Sys.getenv "PWD" instead of Sys.getcwd ()
-     because OCaml has no function in its stdlib to resolve symbolic links
-     (e.g. realpath) for a given path.
-     'getcwd' always resolves them, but if the user supplies a path with
-     symbolic links, this may cause issues.
-     Instead of forcing the user to always provide resolved paths, we
-     currently choose to never resolve them.
-     We only resort to getcwd() to avoid issues when PWD does not exist. *)
-  let pwd = try Sys.getenv "PWD" with Not_found -> Sys.getcwd () in
+  let pwd = Filepath.pwd () in
   let uriBases = ("PWD", pwd) :: symbolicDirs in
   let uriBasesJson =
     List.fold_left (fun acc (name, dir) ->
@@ -291,7 +283,9 @@ let generate () =
     let file = Mdr_params.Output.get () in
     try
       Command.write_file (file:>string)
-        (fun out -> Yojson.Safe.pretty_to_channel ~std:true out json) ;
+        (fun out ->
+           Yojson.Safe.pretty_to_channel ~std:true out json;
+           output_char out '\n') ;
       Mdr_params.result "Report %a generated" Filepath.Normalized.pretty file
     with Sys_error s ->
       Mdr_params.abort "Unable to generate %a (%s)"
diff --git a/src/plugins/markdown-report/tests/md/cwe126.remarks.md b/src/plugins/markdown-report/tests/md/cwe126.remarks.md
index 9e40167cfed25932494165b9044ea105c4081d67..de91a5414ce1d727209f59aa1aa7c6d9def02342 100644
--- a/src/plugins/markdown-report/tests/md/cwe126.remarks.md
+++ b/src/plugins/markdown-report/tests/md/cwe126.remarks.md
@@ -128,4 +128,4 @@ any spurious alarm anywhere else.
 
 <!-- BEGIN_REMARK -->
 
-<!-- END_REMARK -->
\ No newline at end of file
+<!-- END_REMARK -->
diff --git a/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md b/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md
index 7cf06c232a619ad0ae15cd66cea3a3f08c8f3763..0b7517ee5ebe307b81b66eecd564ec368fb67c21 100644
--- a/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md
+++ b/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md
@@ -102,4 +102,4 @@ assert mem_access: \valid_read(data + i);
 
 
 This alarm is real: Eva correctly identified the issue and did not report
-any spurious alarm anywhere else.
\ No newline at end of file
+any spurious alarm anywhere else.
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif
index da06272b08fbcd4e20ad7b0874c0bb2871a2d4fd..acc869f1702094b879063c996189554198d4a3fc 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif
@@ -235,4 +235,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
index 9bdfc7fac24aa8f1787849f3c58530b524772f32..1d95d640cd6cef31fc2b3aa0cf91877a62ddd440 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
@@ -26422,4 +26422,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
index 5f59008899a557fa248242e5703ca4eb249d0c5b..1cf990c6f9b24cb801a7bc7668b06a1a9d0d3f28 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
@@ -9767,4 +9767,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif
index de7a03fe0f5d5031aef2b1fee89d7dcb9f6f4ea3..e088d8a8609618ee3856cc516f437894746a0fe0 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif
@@ -81,4 +81,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/src/plugins/nonterm/Makefile.in b/src/plugins/nonterm/Makefile.in
index 70c5b92517bc9256d7866f05dc369ec9da26feed..a45d5b990a5a9f948f6ebd1db46811a427c8c344 100644
--- a/src/plugins/nonterm/Makefile.in
+++ b/src/plugins/nonterm/Makefile.in
@@ -42,6 +42,14 @@ PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
 PLUGIN_DEPENDENCIES:=Eva
 #PLUGIN_NO_DEFAULT_TEST:=no
 PLUGIN_TESTS_DIRS:=nonterm
+PLUGIN_DISTRIB_TESTS := \
+  $(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/oracle/* \
+    $(filter-out result oracle,$(dir)/*)) \
+  ) \
+  $(filter-out result oracle,tests/*)) \
+  $(foreach dir, tests $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/test_config)
 
 ################
 # Generic part #
diff --git a/src/plugins/nonterm/nonterm_run.ml b/src/plugins/nonterm/nonterm_run.ml
index ef4c4fe0442172ec0191686dec8f5ee6b592e5ed..6f8a6a82532f10bd0eb744e9189bf6b738960a28 100644
--- a/src/plugins/nonterm/nonterm_run.ml
+++ b/src/plugins/nonterm/nonterm_run.ml
@@ -197,30 +197,29 @@ end
    1. SyntacticallyUnreachable is disabled (otherwise it already checks them);
    2. No warnings were emitted for the function (otherwise it may be redundant). *)
 let check_unreachable_returns kf =
-  if Eva.Results.is_called kf then begin
-    try
-      let ret_stmt = Kernel_function.find_return kf in
-      if not (Eva.Results.is_reachable ret_stmt) then
-        warn_unreachable_statement ret_stmt
-    with
-    | Kernel_function.No_Statement -> (* should never happen *)
-      Self.error "function %a has no return statement, skipping"
-        Kernel_function.pretty kf;
-  end
+  try
+    let ret_stmt = Kernel_function.find_return kf in
+    if not (Eva.Results.is_reachable ret_stmt) then
+      warn_unreachable_statement ret_stmt
+  with
+  | Kernel_function.No_Statement -> (* should never happen *)
+    Self.error "function %a has no return statement, skipping"
+      Kernel_function.pretty kf
 
 (* Checks [kf] for unreachable statements (ignoring those in [to_ignore])
    and emits warnings. [warned_kfs] indicates functions which already had
    warnings emitted, to minimize the amount of redundant ones. *)
 let check_unreachable_statements kf ~to_ignore ~dead_code ~warned_kfs =
-  if !Db.Value.use_spec_instead_of_definition kf then
+  match Eva.Analysis.status kf with
+  | Unreachable | Analyzed NoResults -> ()
+  | SpecUsed | Builtin _ ->
     (* TODO: consider as non-terminating if spec has
        \terminates(false) or \ensures(false) *)
     Self.debug "not analyzing function %a@ \
                 (using specification instead of definition),@ \
                 considered as always terminating"
       Kernel_function.pretty kf
-  else
-  if Eva.Results.is_called kf then begin
+  | Analyzed _ ->
     try
       let vis = new unreachable_stmt_visitor kf to_ignore in
       ignore (Visitor.visitFramacKf (vis :> Visitor.frama_c_visitor) kf);
@@ -236,30 +235,18 @@ let check_unreachable_statements kf ~to_ignore ~dead_code ~warned_kfs =
     with
     | Kernel_function.No_Statement -> (* should never happen *)
       Self.error "function %a has no return statement, skipping"
-        Kernel_function.pretty kf;
-  end
+        Kernel_function.pretty kf
 
 (* To avoid redundant warnings, calls to possibly non-terminating functions
    are ignored if:
    1. the function is in the list of functions to be ignored;
-   2. or the function has a body AND its specification is not being used
-      via -eva-use-spec.
+   2. or Eva results are available for the function.
    In case 2, the call is ignored because non-terminating statements inside
    it will already be reported. *)
 let ignore_kf name =
   try
     let kf = Globals.Functions.find_by_name name in
-    let has_definition =
-      try ignore (Kernel_function.get_definition kf); true
-      with Kernel_function.No_Definition -> false
-    in
-    match Ignore.mem name,
-          !Db.Value.use_spec_instead_of_definition kf,
-          has_definition
-    with
-    | true, _, _ -> true
-    | false, false, true -> true
-    | _, _, _ -> false
+    Ignore.mem name || Eva.Results.are_available kf
   with Not_found -> false
 
 (* simple statement collector: accumulates a list of all
diff --git a/src/plugins/nonterm/tests/nonterm/oracle/n5.res.oracle b/src/plugins/nonterm/tests/nonterm/oracle/n5.res.oracle
index 46379ed00ac854e9956120efd17acd2f8156cabf..c46055dd4a58a205e31956206de4d70292a59bbd 100644
--- a/src/plugins/nonterm/tests/nonterm/oracle/n5.res.oracle
+++ b/src/plugins/nonterm/tests/nonterm/oracle/n5.res.oracle
@@ -4,18 +4,18 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   nondet ∈ [--..--]
-[eva] computing for function may_not_terminate <- main.
-  Called from n5.i:21.
 [kernel] n5.i:21: Warning: 
   No code nor implicit assigns clause for function may_not_terminate, generating default assigns from the prototype
+[eva] computing for function may_not_terminate <- main.
+  Called from n5.i:21.
 [eva] using specification for function may_not_terminate
 [eva] Done for function may_not_terminate
 [eva] computing for function f <- main.
   Called from n5.i:22.
-[eva] computing for function never_terminates <- f <- main.
-  Called from n5.i:12.
 [kernel] n5.i:12: Warning: 
   No code nor implicit assigns clause for function never_terminates, generating default assigns from the prototype
+[eva] computing for function never_terminates <- f <- main.
+  Called from n5.i:12.
 [eva] using specification for function never_terminates
 [eva] Done for function never_terminates
 [eva] Recording results for f
diff --git a/src/plugins/pdg/build.ml b/src/plugins/pdg/build.ml
index d0df6abb5b2ed376ab6186867a5170e3ee651e0f..256f3d9f9980db347853fa0fcef8ed3ab51deb27 100644
--- a/src/plugins/pdg/build.ml
+++ b/src/plugins/pdg/build.ml
@@ -84,7 +84,7 @@ type pdg_build = {
 (** create an empty build pdg for the function*)
 let create_pdg_build kf =
   let nb_stmts =
-    if !Db.Value.use_spec_instead_of_definition kf then 17
+    if Eva.Analysis.use_spec_instead_of_definition kf then 17
     else List.length (Kernel_function.get_definition kf).sallstmts
   in
   let index = FctIndex.create nb_stmts in
@@ -946,13 +946,12 @@ exception Value_State_Top
 let compute_pdg_for_f kf =
   let pdg = create_pdg_build kf in
   let f_locals, f_stmts =
-    if !Db.Value.use_spec_instead_of_definition kf then [], []
-    else
+    if Eva.Analysis.use_spec_instead_of_definition kf then [], []
+    else if Eva.Analysis.save_results kf
+    then
       let f = Kernel_function.get_definition kf in
-      if !Db.Value.no_results f then
-        raise Value_State_Top
-      else
-        f.slocals, f.sbody.bstmts
+      f.slocals, f.sbody.bstmts
+    else raise Value_State_Top
   in
   let init_state =
     process_entry_point pdg f_stmts;
diff --git a/src/plugins/pdg/ctrlDpds.ml b/src/plugins/pdg/ctrlDpds.ml
index 124de06e6d73bf81ee4d5522aa251c506cf0f759..9a8b6f9693db0e781b72016b838a68a4e4313d58 100644
--- a/src/plugins/pdg/ctrlDpds.ml
+++ b/src/plugins/pdg/ctrlDpds.ml
@@ -135,7 +135,7 @@ end = struct
   let compute kf =
     Pdg_parameters.debug ~dkey "computing for function %s@."
       (Kernel_function.get_name kf);
-    if !Db.Value.use_spec_instead_of_definition kf then Stmt.Hashtbl.create 0
+    if Eva.Analysis.use_spec_instead_of_definition kf then Stmt.Hashtbl.create 0
     else let graph = Stmt.Hashtbl.create 17 in
       let f = Kernel_function.get_definition kf in
       let _ = process_block graph  f.sbody in graph
@@ -288,7 +288,7 @@ end = struct
     in
     let _ = add_postdom infos return (State.ToReturn (Stmt.Hptset.empty)) in
     let stmts =
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Eva.Analysis.use_spec_instead_of_definition kf then
         invalid_arg "[traces] cannot compute for a leaf function"
       else
         let f = Kernel_function.get_definition kf in f.sallstmts
diff --git a/src/plugins/pdg/sets.ml b/src/plugins/pdg/sets.ml
index 89b83596775910a2d19721723910ccdd42e323e1..275477477b083ab80dca3d0e8df4ae8a95a30e96 100644
--- a/src/plugins/pdg/sets.ml
+++ b/src/plugins/pdg/sets.ml
@@ -157,7 +157,7 @@ let find_location_nodes_at_end pdg loc =
 let find_location_nodes_at_begin pdg loc =
   let kf =  PdgTypes.Pdg.get_kf pdg in
   let stmts =
-    if !Db.Value.use_spec_instead_of_definition kf then []
+    if Eva.Analysis.use_spec_instead_of_definition kf then []
     else let f = Kernel_function.get_definition kf in f.sbody.bstmts
   in
   let state = match stmts with
diff --git a/src/plugins/report/tests/report/oracle/csv.res.oracle b/src/plugins/report/tests/report/oracle/csv.res.oracle
index b476eeb4126e85ea99a46c608c380c756defad9b..5647ffdfd1d4c01f4910a6efcdfc05e2ae610bd3 100644
--- a/src/plugins/report/tests/report/oracle/csv.res.oracle
+++ b/src/plugins/report/tests/report/oracle/csv.res.oracle
@@ -10,10 +10,10 @@
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
   Called from csv.c:55.
-[eva] computing for function f <- main2 <- main.
-  Called from csv.c:21.
 [kernel] csv.c:21: Warning: 
   No code nor implicit assigns clause for function f, generating default assigns from the prototype
+[eva] computing for function f <- main2 <- main.
+  Called from csv.c:21.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function f <- main2 <- main.
diff --git a/src/plugins/scope/datascope.ml b/src/plugins/scope/datascope.ml
index 5346f20489d1e8ba65fc11e5233236ea4a5e9ac8..dce2cdd9512711ca3a9da433c35d8381edb2310c 100644
--- a/src/plugins/scope/datascope.ml
+++ b/src/plugins/scope/datascope.ml
@@ -584,10 +584,7 @@ class check_annot_visitor = object(self)
     Cil.SkipChildren
 
   method! vglob_aux g = match g with
-    | GFun (fdec, _loc) when
-        Eva.Results.is_called (Option.get self#current_kf) &&
-        not (!Db.Value.no_results fdec)
-      ->
+    | GFun _ when Eva.Results.are_available (Option.get self#current_kf) ->
       Cil.DoChildren
     | _ -> Cil.SkipChildren
 
diff --git a/src/plugins/scope/defs.ml b/src/plugins/scope/defs.ml
index eb00bc5f799b60533281b3f6ff5e721ac5e84c1a..5011918f24e5533ee5c2c2a578eb6ec135e7aab0 100644
--- a/src/plugins/scope/defs.ml
+++ b/src/plugins/scope/defs.ml
@@ -199,7 +199,7 @@ let compute_with_def_type_zone kf stmt zone =
              | Instr (Call (_, { enode = Lval (Var vi, NoOffset)}, _, _)
                      | Local_init (_, ConsInit(vi,_,_),_))
                when let kf = Globals.Functions.get vi in
-                 !Db.Value.use_spec_instead_of_definition kf
+                 Eva.Analysis.use_spec_instead_of_definition kf
                ->
                (* defined through a call, but function has no body *)
                change s (true, false)
diff --git a/src/plugins/security_slicing/components.ml b/src/plugins/security_slicing/components.ml
index 132d4a01c783dbaa134b77210a4dfeaf6a4b276a..7786adf110e9fb15a44296b8944471e838fee245 100644
--- a/src/plugins/security_slicing/components.ml
+++ b/src/plugins/security_slicing/components.ml
@@ -371,7 +371,7 @@ module Component = struct
       match kind with
       | Forward _ -> Lazy.force lazy_l
       | Direct | Indirect_Backward ->
-        if !Db.Value.use_spec_instead_of_definition kf
+        if Eva.Analysis.use_spec_instead_of_definition kf
         then Lazy.force lazy_l
         else []
     with Not_found ->
diff --git a/src/plugins/slicing/slicingCmds.ml b/src/plugins/slicing/slicingCmds.ml
index 2b4088fad63b39d273741101b68e797151128ff7..65c51a49d3de59b54b75d4d0fba00e3dc7794acc 100644
--- a/src/plugins/slicing/slicingCmds.ml
+++ b/src/plugins/slicing/slicingCmds.ml
@@ -383,7 +383,7 @@ let select_lval_rw set mark ~rd ~wr ~eval kf ki_opt=
           Globals.Functions.iter
             (fun kf ->
                if Eva.Results.is_called kf then
-                 if not (!Db.Value.use_spec_instead_of_definition kf)
+                 if not (Eva.Analysis.use_spec_instead_of_definition kf)
                  then (* Called function with source code: just looks at its stmt *)
                    Kinstr.iter_from_func (select_rw_from_stmt kf) kf
                  else begin (* Called function without source code: looks at its effect *)
diff --git a/src/plugins/slicing/slicingMacros.ml b/src/plugins/slicing/slicingMacros.ml
index 6a762bdc15ca721092346b965b5a07e447af0e2a..d221c7299c34279593def3da2e49322dd59c3e88 100644
--- a/src/plugins/slicing/slicingMacros.ml
+++ b/src/plugins/slicing/slicingMacros.ml
@@ -71,7 +71,7 @@ let get_kf_fi kf =
     let fi_def, is_def =
       match kf.fundec with
       | Declaration _ -> None, false
-      | Definition _ when !Db.Value.use_spec_instead_of_definition kf ->
+      | Definition _ when Eva.Analysis.use_spec_instead_of_definition kf ->
         None, false
       | Definition (def, _) -> Some def, true
     in
diff --git a/src/plugins/slicing/slicingTransform.ml b/src/plugins/slicing/slicingTransform.ml
index da5c14f22b2a58f2bb6a5d3a09e37611a204211b..5d7b4d1c5282e14d1fcfe0777d92e5d020051606 100644
--- a/src/plugins/slicing/slicingTransform.ml
+++ b/src/plugins/slicing/slicingTransform.ml
@@ -50,7 +50,7 @@ module Visibility (SliceName : sig
 
   let keep_body kf =
     Kernel_function.is_definition kf &&
-    not (!Db.Value.use_spec_instead_of_definition kf)
+    not (Eva.Analysis.use_spec_instead_of_definition kf)
 
   (* _project is left to comply with a module signature defined outside
      the slicing module (in filter) *)
diff --git a/src/plugins/studia/reads.ml b/src/plugins/studia/reads.ml
index 4f4e3f4f4c421ccb25cd4fc259cb8e88dc00f326..70b8beda6ebf30a5d145f29294c14f5ae6cc17b2 100644
--- a/src/plugins/studia/reads.ml
+++ b/src/plugins/studia/reads.ml
@@ -58,7 +58,7 @@ class find_read zlval = object
              let inout = !Db.Operational_inputs.get_internal_precise ~stmt kf in
              let inputs = inout.Inout_type.over_inputs in *)
           if Zone.intersects inputs zlval then
-            if !Db.Value.use_spec_instead_of_definition kf then
+            if Eva.Analysis.use_spec_instead_of_definition kf then
               (* Direst, as there is no body for this funtion. *)
               { effects with direct = true }
             else
diff --git a/src/plugins/studia/writes.ml b/src/plugins/studia/writes.ml
index 81cb42d3637910aa03a4dd653572c5e694af5763..53b8d1f3282911215b3e96b17ace52e12c515012 100644
--- a/src/plugins/studia/writes.ml
+++ b/src/plugins/studia/writes.ml
@@ -39,7 +39,7 @@ let effects_of_call stmt zlval effects  =
     let inout = !Db.Operational_inputs.get_internal_precise ~stmt kf in
     let out = inout.Inout_type.over_outputs in
     if Zone.intersects out zlval then
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Eva.Analysis.use_spec_instead_of_definition kf then
         { effects with direct = true } (* Mark the effect as direct, there is
                                           no body for this funtion. *)
       else
diff --git a/src/plugins/value/Eva.ml.in b/src/plugins/value/Eva.ml.in
index 612736cbcd23a842af3f327902f5cfd41b14059a..9931040bf9c5e1673271d57bac9d1f99a26c09d9 100644
--- a/src/plugins/value/Eva.ml.in
+++ b/src/plugins/value/Eva.ml.in
@@ -34,7 +34,8 @@ module Private = struct
   module Red_statuses = Eva__Red_statuses
   module Abstract_value = Eva__Abstract_value
   module Abstract_domain = Eva__Abstract_domain
-  module Mark_noresults = Eva__Mark_noresults
+  module Active_behaviors = Active_behaviors
+  module Function_calls = Function_calls
   module Simple_memory = Eva__Simple_memory
   module Structure = Eva__Structure
   module Eval_typ = Eva__Eval_typ
diff --git a/src/plugins/value/Eva.mli.in b/src/plugins/value/Eva.mli.in
index 5c256dbae1ffe869c51b24447fb970da9f81b813..836f6e7afef456a79115a3991ba7781b1e8baf0e 100644
--- a/src/plugins/value/Eva.mli.in
+++ b/src/plugins/value/Eva.mli.in
@@ -39,7 +39,8 @@ module Private: sig
   module Red_statuses = Red_statuses
   module Abstract_value = Abstract_value
   module Abstract_domain = Abstract_domain
-  module Mark_noresults = Mark_noresults
+  module Active_behaviors = Active_behaviors
+  module Function_calls = Function_calls
   module Simple_memory = Simple_memory
   module Structure = Structure
   module Eval_typ = Eval_typ
diff --git a/src/plugins/value/api/general_requests.ml b/src/plugins/value/api/general_requests.ml
index 4cbfd6f0af85695976d06833b4e2871f6110b76b..8053dcd4eee70529da2424b8b09cb8371a66745d 100644
--- a/src/plugins/value/api/general_requests.ml
+++ b/src/plugins/value/api/general_requests.ml
@@ -57,17 +57,12 @@ let _computation_signal =
     ~add_hook:Analysis.register_computation_hook
     ()
 
-let is_computed kf =
-  Analysis.is_computed () &&
-  match kf with
-  | { fundec = Definition (fundec, _) } ->
-    Mark_noresults.should_memorize_function fundec
-  | { fundec = Declaration _ } -> false
+let is_computed kf = Analysis.is_computed () && Results.are_available kf
 
 module CallSite = Data.Jpair (Kernel_ast.Kf) (Kernel_ast.Stmt)
 
 let callers kf =
-  let list = Eva_results.callers kf in
+  let list = Results.callsites kf in
   List.concat (List.map (fun (kf, l) -> List.map (fun s -> kf, s) l) list)
 
 let () = Request.register ~package
diff --git a/src/plugins/value/domains/apron/apron_domain.ml b/src/plugins/value/domains/apron/apron_domain.ml
index 6ef329f821be7f14259f19480f3e72264681257f..6653a648949f87fbf5840645d9efe55608bc109e 100644
--- a/src/plugins/value/domains/apron/apron_domain.ml
+++ b/src/plugins/value/domains/apron/apron_domain.ml
@@ -291,7 +291,7 @@ let rec constraint_expr eval oracle env expr positive =
     let typ = translate_typ (Cil.unrollType typ) in
     let e = Texpr1.Binop (Texpr1.Sub, e1'', e2'', typ, round) in
     let expr = Texpr1.of_expr env e in
-    let binop = Eva.Private.Eva_utils.conv_comp binop in
+    let binop = Eva_utils.conv_comp binop in
     let binop = if positive then binop else Abstract_interp.Comp.inv  binop in
     translate_relation expr typ binop
   | _ -> raise (Out_of_Scope "constraint_expr not handled")
diff --git a/src/plugins/value/domains/cvalue/cvalue_specification.ml b/src/plugins/value/domains/cvalue/cvalue_specification.ml
index 4336ecdaf401a9f1eca74ec30d9b86e2c376df5c..aebbdbd39bcbf3bd9e84a94dc30a53652b3deaf3 100644
--- a/src/plugins/value/domains/cvalue/cvalue_specification.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_specification.ml
@@ -22,8 +22,6 @@
 
 open Cil_types
 
-module AB = Transfer_logic.ActiveBehaviors
-
 (* Eval: under-approximation of the term.  Note that ACSL states
    that assigns clauses are evaluated in the pre-state.
    We skip [\result]: it is meaningless when evaluating the 'assigns' part,
@@ -114,7 +112,7 @@ let check_fct_assigns kf ab ~pre_state found_froms =
   let link zones = List.fold_left Zone.link Zone.bottom zones in
   let outputs = Function_Froms.outputs found_froms in
   let check_for_behavior b =
-    let activity = AB.is_active ab b in
+    let activity = Active_behaviors.is_active ab b in
     match activity with
     | False -> ()
     | True | Unknown ->
@@ -187,7 +185,7 @@ let verify_assigns_from kf ~pre froms =
     | Eval_terms.False -> Alarmset.False
     | Eval_terms.Unknown -> Alarmset.Unknown
   in
-  let ab = AB.create eval_predicate funspec in
+  let ab = Active_behaviors.create eval_predicate funspec in
   check_fct_assigns kf ab ~pre_state:pre froms;;
 
 Db.Value.verify_assigns_froms := verify_assigns_from;;
diff --git a/src/plugins/value/dune b/src/plugins/value/dune
index a50ec626d084519eedcadb6034d17db096f59d97..2be344b810c90e2e9fc886b20c8741f4b55be3b9 100644
--- a/src/plugins/value/dune
+++ b/src/plugins/value/dune
@@ -24,6 +24,7 @@
   abstract_location
   abstract_value
   abstractions
+  active_behaviors
   alarmset
   analysis
   auto_loop_unroll
@@ -66,6 +67,7 @@
   eval_typ
   evaluation
   function_args
+  function_calls
   gauges_domain
   general_requests
   hcexprs
@@ -77,7 +79,6 @@
   location_lift
   main_locations
   main_values
-  mark_noresults
   mem_exec
   multidim_domain
   octagons
diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml
index ca4771584258e22ee4118a368c3cbd5e4366acf8..11e429d42db8d613075e2221437624747db08395 100644
--- a/src/plugins/value/engine/analysis.ml
+++ b/src/plugins/value/engine/analysis.ml
@@ -28,19 +28,36 @@ type computation_state = Self.computation_state =
 let current_computation_state = Self.current_computation_state
 let register_computation_hook = Self.register_computation_hook
 let is_computed = Self.is_computed
+let self = Self.state
+
+type results = Function_calls.results = Complete | Partial | NoResults
+type status = Function_calls.analysis_status =
+    Unreachable | SpecUsed | Builtin of string | Analyzed of results
+let status kf =
+  match Function_calls.analysis_status kf with
+  | Analyzed Complete as status ->
+    if is_computed () then status else Analyzed Partial
+  | status -> status
+
+let use_spec_instead_of_definition =
+  Function_calls.use_spec_instead_of_definition ?recursion_depth:None
+
+let save_results kf =
+  try Function_calls.save_results (Kernel_function.get_definition kf)
+  with Kernel_function.No_Definition -> false
 
 module type Results = sig
   type state
   type value
   type location
 
-  val get_global_state: unit -> state or_bottom
-  val get_stmt_state : after:bool -> stmt -> state or_bottom
+  val get_global_state: unit -> state or_top_bottom
+  val get_stmt_state : after:bool -> stmt -> state or_top_bottom
   val get_stmt_state_by_callstack:
     ?selection:callstack list ->
     after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t or_top_bottom
   val get_initial_state:
-    kernel_function -> state or_bottom
+    kernel_function -> state or_top_bottom
   val get_initial_state_by_callstack:
     ?selection:callstack list ->
     kernel_function -> state Value_types.Callstack.Hashtbl.t or_top_bottom
@@ -78,22 +95,38 @@ module Make (Abstract: Abstractions.S) = struct
   include Abstract
   include Compute_functions.Make (Abstract)
 
+  let find stmt f =
+    if is_computed ()
+    then
+      let kf = Kernel_function.find_englobing_kf stmt in
+      match status kf with
+      | Unreachable | SpecUsed | Builtin _ -> `Bottom
+      | Analyzed NoResults -> `Top
+      | Analyzed (Complete | Partial) -> f stmt
+    else `Top
+
   let get_stmt_state ~after stmt =
-    let fundec = Kernel_function.(get_definition (find_englobing_kf stmt)) in
-    if Mark_noresults.should_memorize_function fundec && is_computed ()
-    then Abstract.Dom.Store.get_stmt_state ~after stmt
-    else `Value Abstract.Dom.top
+    find stmt (Dom.Store.get_stmt_state ~after :> stmt -> Dom.t or_top_bottom)
 
-  let get_global_state = Abstract.Dom.Store.get_global_state
+  let get_stmt_state_by_callstack ?selection ~after stmt =
+    find stmt (Abstract.Dom.Store.get_stmt_state_by_callstack ?selection ~after)
 
-  let get_stmt_state_by_callstack =
-    Abstract.Dom.Store.get_stmt_state_by_callstack
+  let get_global_state () =
+    (Abstract.Dom.Store.get_global_state () :> Dom.t or_top_bottom)
 
-  let get_initial_state =
-    Abstract.Dom.Store.get_initial_state
+  let get_initial_state kf =
+    if is_computed () then
+      if Function_calls.is_called kf
+      then (Abstract.Dom.Store.get_initial_state kf :> Dom.t or_top_bottom)
+      else `Bottom
+    else `Top
 
-  let get_initial_state_by_callstack =
-    Abstract.Dom.Store.get_initial_state_by_callstack
+  let get_initial_state_by_callstack ?selection kf =
+    if is_computed () then
+      if Function_calls.is_called kf
+      then Abstract.Dom.Store.get_initial_state_by_callstack ?selection kf
+      else `Bottom
+    else `Top
 
   let eval_expr state expr = Eval.evaluate state expr >>=: snd
 
@@ -201,5 +234,3 @@ let () =
   Project.register_after_set_current_hook
     ~user_only:true (fun _ -> reset_analyzer ());
   Project.register_after_global_load_hook reset_analyzer
-
-let self = Self.state
diff --git a/src/plugins/value/engine/analysis.mli b/src/plugins/value/engine/analysis.mli
index 510972db9184b41e85601f6ef1c11cb2f390482c..789e483758683ceca1214b554257bd43c1f5d25e 100644
--- a/src/plugins/value/engine/analysis.mli
+++ b/src/plugins/value/engine/analysis.mli
@@ -28,13 +28,13 @@ module type Results = sig
   type value
   type location
 
-  val get_global_state: unit -> state or_bottom
-  val get_stmt_state : after:bool -> stmt -> state or_bottom
+  val get_global_state: unit -> state or_top_bottom
+  val get_stmt_state : after:bool -> stmt -> state or_top_bottom
   val get_stmt_state_by_callstack:
     ?selection:callstack list ->
     after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t or_top_bottom
   val get_initial_state:
-    kernel_function -> state or_bottom
+    kernel_function -> state or_top_bottom
   val get_initial_state_by_callstack:
     ?selection:callstack list ->
     kernel_function -> state Value_types.Callstack.Hashtbl.t or_top_bottom
@@ -106,6 +106,49 @@ val is_computed : unit -> bool
 val self : State.t
 (** Internal state of Eva analysis from projects viewpoint. *)
 
+
+(** Kind of results for the analysis of a function body. *)
+type results =
+  | Complete
+  (** The results are complete: they cover all possible call contexts of the
+      given function. *)
+  | Partial
+  (** The results are partial, as the functions has not been analyzed in all
+      possible call contexts. This happens for recursive functions that are
+      not completely unrolled, or if the analysis has stopped unexpectedly. *)
+  | NoResults
+  (** No results were saved for the function, due to option -eva-no-results.
+      Any request at a statement of this function will lead to a Top result. *)
+
+(* Analysis status of a function. *)
+type status =
+  | Unreachable
+  (** The function has not been reached by the analysis. Any request in this
+      function will lead to a Bottom result. *)
+  | SpecUsed
+  (** The function specification has been used to interpret its calls:
+      its body has not been analyzed. Any request at a statement of this
+      function will lead to a Bottom result. *)
+  | Builtin of string
+  (** The builtin of the given name has been used to interpret the function:
+      its body has not been analyzed. Any request at a statement of this
+      function will lead to a Bottom result. *)
+  | Analyzed of results
+  (** The function body has been analyzed. *)
+
+(** Returns the analysis status of a given function. *)
+val status: Cil_types.kernel_function -> status
+
+(** Does the analysis ignores the body of a given function, and uses instead
+    its specification or a builtin to interpret it?
+    Please use {!Eva.Results.are_available} instead to known whether results
+    are available for a given function. *)
+val use_spec_instead_of_definition: Cil_types.kernel_function -> bool
+
+(** Returns [true] if the user has requested that no results should be recorded
+    for the given function. Please use {!Eva.Results.are_available} instead
+    to known whether results are available for a given function. *)
+val save_results: Cil_types.kernel_function -> bool
 [@@@ api_end]
 
 val cvalue_initial_state: unit -> Cvalue.Model.t
diff --git a/src/plugins/value/engine/compute_functions.ml b/src/plugins/value/engine/compute_functions.ml
index 32ebe6a24ae98bb0848f11475bbd4ea4f2ba3bd0..7dfc10b2fe83127fa48e17a7c1650a5fed144172 100644
--- a/src/plugins/value/engine/compute_functions.ml
+++ b/src/plugins/value/engine/compute_functions.ml
@@ -165,111 +165,97 @@ module Make (Abstract: Abstractions.Eva) = struct
     | None -> fun _ -> assert false
     | Some get -> fun location -> get location
 
-  (* Compute a call to [kf] in the state [state]. The evaluation will
-     be done either using the body of [kf] or its specification, depending
-     on whether the body exists and on option [-eva-use-spec]. [call_kinstr]
-     is the instruction at which the call takes place, and is used to update
-     the statuses of the preconditions of [kf]. If [show_progress] is true,
-     the callstack and additional information are printed. *)
-  let compute_using_spec_or_body call_kinstr call recursion state =
-    let kf = call.kf in
-    Eva_results.mark_kf_as_called kf;
-    let global = match call_kinstr with Kglobal -> true | _ -> false in
+  (* ----- Mem Exec cache --------------------------------------------------- *)
+
+  module MemExec = Mem_exec.Make (Abstract.Val) (Abstract.Dom)
+
+  let compute_and_cache_call compute kinstr call init_state =
+    let args =
+      List.map (fun {avalue} -> Eval.value_assigned avalue) call.arguments
+    in
+    match MemExec.reuse_previous_call call.kf init_state args with
+    | None ->
+      let call_result = compute kinstr call init_state in
+      let () =
+        if call_result.Transfer.cacheable = Eval.Cacheable
+        then
+          let final_states = call_result.Transfer.states in
+          MemExec.store_computed_call call.kf init_state args final_states
+      in
+      call_result
+    | Some (states, i) ->
+      let stack = Eva_utils.call_stack () in
+      let cvalue = Abstract.Dom.get_cvalue_or_top init_state in
+      Db.Value.Call_Type_Value_Callbacks.apply (`Memexec, cvalue, stack);
+      (* Evaluate the preconditions of kf, to update the statuses
+         at this call. *)
+      let spec = Annotations.funspec call.kf in
+      if not (Eva_utils.skip_specifications call.kf) &&
+         Eval_annots.has_requires spec
+      then begin
+        let ab = Logic.create init_state call.kf in
+        ignore (Logic.check_fct_preconditions kinstr call.kf ab init_state);
+      end;
+      if Parameters.ValShowProgress.get () then begin
+        Self.feedback ~current:true
+          "Reusing old results for call to %a" Kernel_function.pretty call.kf;
+        Self.debug ~dkey
+          "calling Record_Value_New callbacks on saved previous result";
+      end;
+      Db.Value.Record_Value_Callbacks_New.apply (stack, Value_types.Reuse i);
+      (* call can be cached since it was cached once *)
+      Transfer.{states; cacheable = Cacheable; builtin=false}
+
+  (* ----- Body or specification analysis ----------------------------------- *)
+
+  (* Interprets a [call] at callsite [kinstr] in the state [state] by analyzing
+     the body of the called function. *)
+  let compute_using_body fundec ~save_results kinstr call state =
+    let result = Computer.compute ~save_results call.kf kinstr state in
+    Summary.FunctionStats.recompute fundec;
+    result
+
+  (* Interprets a [call] at callsite [kinstr] in the state [state] by using the
+     specification of the called function. *)
+  let compute_using_spec spec kinstr call state =
+    if Parameters.InterpreterMode.get ()
+    then Self.abort "Library function call. Stopping.";
+    Self.feedback ~once:true
+      "@[using specification for function %a@]" Kernel_function.pretty call.kf;
+    let vi = Kernel_function.get_vi call.kf in
+    if Cil.is_in_libc vi.vattr then
+      Library_functions.warn_unsupported_spec vi.vorig_name;
+    Spec.compute_using_specification ~warn:true kinstr call spec state,
+    Eval.Cacheable
+
+  (* Interprets a [call] at callsite [kinstr] in state [state], using its
+     specification or body according to [target]. If [-eva-show-progress] is
+     true, the callstack and additional information are printed. *)
+  let compute_using_spec_or_body target kinstr call state =
+    let global = match kinstr with Kglobal -> true | _ -> false in
     let pp = not global && Parameters.ValShowProgress.get () in
     let call_stack = Eva_utils.call_stack () in
     if pp then
       Self.feedback
         "@[computing for function %a.@\nCalled from %a.@]"
         Value_types.Callstack.pretty_short call_stack
-        Cil_datatype.Location.pretty (Cil_datatype.Kinstr.loc call_kinstr);
-    let use_spec =
-      match recursion with
-      | Some { depth } when depth >= Parameters.RecursiveUnroll.get () ->
-        `Spec (Recursion.get_spec call_kinstr kf)
-      | _ ->
-        match kf.fundec with
-        | Declaration (_,_,_,_) -> `Spec (Annotations.funspec kf)
-        | Definition (def, _) ->
-          if Kernel_function.Set.mem kf (Parameters.UsePrototype.get ())
-          then `Spec (Annotations.funspec kf)
-          else `Def def
-    in
+        Cil_datatype.Location.pretty (Cil_datatype.Kinstr.loc kinstr);
     let cvalue_state = Abstract.Dom.get_cvalue_or_top state in
-    let resulting_states, cacheable = match use_spec with
-      | `Spec spec ->
-        Db.Value.Call_Type_Value_Callbacks.apply
-          (`Spec spec, cvalue_state, call_stack);
-        if Parameters.InterpreterMode.get ()
-        then Self.abort "Library function call. Stopping.";
-        Self.feedback ~once:true
-          "@[using specification for function %a@]" Kernel_function.pretty kf;
-        let vi = Kernel_function.get_vi kf in
-        if Cil.is_in_libc vi.vattr then
-          Library_functions.warn_unsupported_spec vi.vorig_name;
-        Spec.compute_using_specification ~warn:true call_kinstr call spec state,
-        Eval.Cacheable
-      | `Def fundec ->
-        Db.Value.Call_Type_Value_Callbacks.apply (`Def, cvalue_state, call_stack);
-        let result = Computer.compute kf call_kinstr state in
-        Summary.FunctionStats.recompute fundec;
-        result
+    let compute, kind =
+      match target with
+      | `Def (fundec, save_results) ->
+        compute_using_body fundec ~save_results, `Def
+      | `Spec funspec ->
+        compute_using_spec funspec, `Spec funspec
     in
+    Db.Value.Call_Type_Value_Callbacks.apply (kind, cvalue_state, call_stack);
+    let resulting_states, cacheable = compute kinstr call state in
     if pp then
       Self.feedback
-        "Done for function %a" Kernel_function.pretty kf;
+        "Done for function %a" Kernel_function.pretty call.kf;
     Transfer.{ states = resulting_states; cacheable; builtin=false }
 
-
-  (* Mem Exec *)
-
-  module MemExec = Mem_exec.Make (Abstract.Val) (Abstract.Dom)
-
-  let compute_and_cache_call stmt call recursion init_state =
-    let default () =
-      compute_using_spec_or_body (Kstmt stmt) call recursion init_state
-    in
-    if Parameters.MemExecAll.get () then
-      let args =
-        List.map (fun {avalue} -> Eval.value_assigned avalue) call.arguments
-      in
-      match MemExec.reuse_previous_call call.kf init_state args with
-      | None ->
-        let call_result = default () in
-        let () =
-          if not (!Db.Value.use_spec_instead_of_definition call.kf)
-          && call_result.Transfer.cacheable = Eval.Cacheable
-          then
-            let final_states = call_result.Transfer.states in
-            MemExec.store_computed_call call.kf init_state args final_states
-        in
-        call_result
-      | Some (states, i) ->
-        let stack = Eva_utils.call_stack () in
-        let cvalue = Abstract.Dom.get_cvalue_or_top init_state in
-        Db.Value.Call_Type_Value_Callbacks.apply (`Memexec, cvalue, stack);
-        (* Evaluate the preconditions of kf, to update the statuses
-           at this call. *)
-        let spec = Annotations.funspec call.kf in
-        if not (Eva_utils.skip_specifications call.kf) &&
-           Eval_annots.has_requires spec
-        then begin
-          let ab = Logic.create init_state call.kf in
-          ignore (Logic.check_fct_preconditions
-                    (Kstmt stmt) call.kf ab init_state);
-        end;
-        if Parameters.ValShowProgress.get () then begin
-          Self.feedback ~current:true
-            "Reusing old results for call to %a" Kernel_function.pretty call.kf;
-          Self.debug ~dkey
-            "calling Record_Value_New callbacks on saved previous result";
-        end;
-        let stack_with_call = Eva_utils.call_stack () in
-        Db.Value.Record_Value_Callbacks_New.apply
-          (stack_with_call, Value_types.Reuse i);
-        (* call can be cached since it was cached once *)
-        Transfer.{states; cacheable = Cacheable; builtin=false}
-    else
-      default ()
+  (* ----- Use of cvalue builtins ------------------------------------------- *)
 
   let get_cvalue_call call =
     let lift_left left = { left with lloc = get_ploc left.lloc } in
@@ -288,53 +274,73 @@ module Make (Abstract: Abstractions.Eva) = struct
     | (_k,s) :: l  ->
       `Value (List.fold_left Abstract.Dom.join s (List.map snd l))
 
-  let compute_call_or_builtin stmt call recursion state =
-    match Builtins.find_builtin_override call.kf with
-    | None -> compute_and_cache_call stmt call recursion state
-    | Some (name, builtin, cacheable, spec) ->
-      Eva_results.mark_kf_as_called call.kf;
-      let kinstr = Kstmt stmt in
-      let kf_name = Kernel_function.get_name call.kf in
-      if Parameters.ValShowProgress.get ()
-      then
-        Self.feedback ~current:true "Call to builtin %s%s"
-          name (if kf_name = name then "" else " for function " ^ kf_name);
-      (* Do not track garbled mixes created when interpreting the specification,
-         as the result of the cvalue builtin will overwrite them. *)
-      Locations.Location_Bytes.do_track_garbled_mix false;
-      let states =
-        Spec.compute_using_specification ~warn:false kinstr call spec state
+  (* Interprets a call to [kf] at callsite [kinstr] in the state [state]
+     by using a cvalue builtin. *)
+  let compute_builtin (name, builtin, cacheable, spec) kinstr call state =
+    let kf_name = Kernel_function.get_name call.kf in
+    if Parameters.ValShowProgress.get ()
+    then
+      Self.feedback ~current:true "Call to builtin %s%s"
+        name (if kf_name = name then "" else " for function " ^ kf_name);
+    (* Do not track garbled mixes created when interpreting the specification,
+       as the result of the cvalue builtin will overwrite them. *)
+    Locations.Location_Bytes.do_track_garbled_mix false;
+    let states =
+      Spec.compute_using_specification ~warn:false kinstr call spec state
+    in
+    Locations.Location_Bytes.do_track_garbled_mix true;
+    let final_state = join_states states in
+    let cvalue_state = Abstract.Dom.get_cvalue_or_top state in
+    match final_state with
+    | `Bottom ->
+      let cs = Eva_utils.call_stack () in
+      Db.Value.Call_Type_Value_Callbacks.apply (`Spec spec, cvalue_state, cs);
+      let cacheable = Eval.Cacheable in
+      Transfer.{states; cacheable; builtin=true}
+    | `Value final_state ->
+      let cvalue_call = get_cvalue_call call in
+      let post = Abstract.Dom.get_cvalue_or_top final_state in
+      let cvalue_states =
+        Builtins.apply_builtin builtin cvalue_call ~pre:cvalue_state ~post
       in
-      Locations.Location_Bytes.do_track_garbled_mix true;
-      let final_state = join_states states in
-      let cvalue_state = Abstract.Dom.get_cvalue_or_top state in
-      match final_state with
-      | `Bottom ->
-        let cs = Eva_utils.call_stack () in
-        Db.Value.Call_Type_Value_Callbacks.apply (`Spec spec, cvalue_state, cs);
-        let cacheable = Eval.Cacheable in
-        Transfer.{states; cacheable; builtin=true}
-      | `Value final_state ->
-        let cvalue_call = get_cvalue_call call in
-        let post = Abstract.Dom.get_cvalue_or_top final_state in
-        let cvalue_states =
-          Builtins.apply_builtin builtin cvalue_call ~pre:cvalue_state ~post
-        in
-        let insert cvalue_state =
-          Partition.Key.empty,
-          Abstract.Dom.set Cvalue_domain.State.key cvalue_state final_state
-        in
-        let states = List.map insert cvalue_states in
-        Transfer.{states; cacheable; builtin=true}
-
-  let compute_call =
+      let insert cvalue_state =
+        Partition.Key.empty,
+        Abstract.Dom.set Cvalue_domain.State.key cvalue_state final_state
+      in
+      let states = List.map insert cvalue_states in
+      Transfer.{states; cacheable; builtin=true}
+
+  (* Uses cvalue builtin only if the cvalue domain is available. Otherwise, only
+     use the called function specification. *)
+  let compute_builtin =
     if Abstract.Dom.mem Cvalue_domain.State.key
     && Abstract.Val.mem Main_values.CVal.key
     && Abstract.Loc.mem Main_locations.PLoc.key
-    then compute_call_or_builtin
-    else compute_and_cache_call
+    then compute_builtin
+    else fun (_, _, _, spec) -> compute_using_spec_or_body (`Spec spec)
+
+  (* ----- Call computation ------------------------------------------------- *)
+
+  (* Interprets a [call] at callsite [kinstr] in the state [state],
+     using a builtin, the specification or the body of the called function,
+     according to [Function_calls.register]. *)
+  let compute_call kinstr call recursion state =
+    let recursion_depth = Option.map (fun r -> r.depth) recursion in
+    let target =
+      Function_calls.define_analysis_target ?recursion_depth kinstr call.kf
+    in
+    match target with
+    | `Builtin builtin_info -> compute_builtin builtin_info kinstr call state
+    | `Spec _ as spec -> compute_using_spec_or_body spec kinstr call state
+    | `Def _ as def ->
+      let compute = compute_using_spec_or_body def in
+      if Parameters.MemExecAll.get ()
+      then compute_and_cache_call compute kinstr call state
+      else compute kinstr call state
 
-  let () = Transfer.compute_call_ref := compute_call
+  let () = Transfer.compute_call_ref := (fun stmt -> compute_call (Kstmt stmt))
+
+  (* ----- Main call -------------------------------------------------------- *)
 
   let store_initial_state kf init_state =
     Abstract.Dom.Store.register_initial_state (Eva_utils.call_stack ()) init_state;
@@ -349,9 +355,7 @@ module Make (Abstract: Abstractions.Eva) = struct
       let call =
         { kf; callstack = []; arguments = []; rest = []; return = None; }
       in
-      let final_result =
-        compute_using_spec_or_body Kglobal call None init_state
-      in
+      let final_result = compute_call Kglobal call None init_state in
       let final_states = List.map snd (final_result.Transfer.states) in
       let final_state = PowersetDomain.(final_states |> of_list |> join) in
       Eva_utils.pop_call_stack ();
diff --git a/src/plugins/value/engine/evaluation.ml b/src/plugins/value/engine/evaluation.ml
index aaef33f5418aaa61710b7e891c1916d054a622cb..10974ea5bb1026d3f8f8089856549ec0eaf13ca4 100644
--- a/src/plugins/value/engine/evaluation.ml
+++ b/src/plugins/value/engine/evaluation.ml
@@ -1623,7 +1623,7 @@ module Make
       Self.abort ~current:true
         "Calls through function pointers are not supported without the cvalue \
          domain.";
-    if Mark_noresults.no_memoization_enabled () then
+    if Function_calls.partial_results () then
       Self.abort ~current:true
         "Function pointer evaluates to anything. Try deactivating \
          option(s) -eva-no-results and -eva-no-results-function."
diff --git a/src/plugins/value/engine/function_calls.ml b/src/plugins/value/engine/function_calls.ml
new file mode 100644
index 0000000000000000000000000000000000000000..5eaea0596b07af64a050ec4622a02e2e92d1e12b
--- /dev/null
+++ b/src/plugins/value/engine/function_calls.ml
@@ -0,0 +1,195 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2022                                               *)
+(*    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
+open Eval
+
+let save_results f =
+  Parameters.ResultsAll.get () && not (Parameters.NoResultsFunctions.mem f)
+
+let () =
+  Db.Value.no_results :=
+    (fun fd -> not (save_results fd) || not (Parameters.Domains.mem "cvalue"))
+
+(* Signal that some results are not stored. The gui or some API calls
+   may fail ungracefully. *)
+let partial_results () =
+  not (Parameters.ResultsAll.get ()) ||
+  not (Parameters.NoResultsFunctions.is_empty ())
+
+
+let info name : (module State_builder.Info_with_size) =
+  (module struct
+    let name = "Eva.Function_calls." ^ name
+    let size = 17
+    let dependencies = [ Self.state ]
+  end)
+
+module StmtSet = Cil_datatype.Stmt.Set
+module Callers = Kernel_function.Map.Make (StmtSet)
+module CallersTable = Kernel_function.Make_Table (Callers) (val info "Callers")
+
+let register_call kinstr kf =
+  match kinstr, Eva_utils.call_stack () with
+  | Kglobal, _ -> CallersTable.add kf Kernel_function.Map.empty
+  | Kstmt _, ([] | [_]) -> assert false
+  | Kstmt stmt, (kf', kinstr') :: (caller, _) :: _ ->
+    assert (Kernel_function.equal kf kf');
+    assert (Cil_datatype.Kinstr.equal kinstr kinstr');
+    let callsite = StmtSet.singleton stmt in
+    let change calls =
+      let prev_stmts = Kernel_function.Map.find_opt caller calls in
+      let new_stmts =
+        Option.fold ~none:callsite ~some:(StmtSet.union callsite) prev_stmts
+      in
+      Kernel_function.Map.add caller new_stmts calls
+    in
+    let add _kf = Kernel_function.Map.singleton caller callsite in
+    ignore (CallersTable.memo ~change add kf)
+
+let is_called = CallersTable.mem
+
+let callers kf =
+  try
+    let calls = Kernel_function.Map.bindings (CallersTable.find kf) in
+    List.map fst calls
+  with Not_found -> []
+
+let callsites kf =
+  try
+    let calls = Kernel_function.Map.bindings (CallersTable.find kf) in
+    List.map (fun (kf, set) -> kf, StmtSet.elements set) calls
+  with Not_found -> []
+
+
+type analysis_target =
+  [ `Builtin of string * Builtins.builtin * cacheable * funspec
+  | `Spec of Cil_types.funspec
+  | `Def of Cil_types.fundec * bool ]
+
+type results = Complete | Partial | NoResults
+type analysis_status =
+    Unreachable | SpecUsed | Builtin of string | Analyzed of results
+
+module Status = Datatype.Make (
+  struct
+    include Datatype.Serializable_undefined
+    type t = analysis_status
+    let name = "Function_calls.Status"
+    let reprs = [ Unreachable ]
+    let structural_descr = Structural_descr.t_sum [| [| |] |]
+    let pretty fmt t =
+      let str = match t with
+        | Unreachable -> "Unreachable"
+        | SpecUsed -> "Spec"
+        | Builtin name -> "Builtin " ^ name
+        | Analyzed _ -> "Analyzed"
+      in
+      Format.fprintf fmt "%s" str
+  end)
+
+module StatusTable = Kernel_function.Make_Table (Status) (val info "StatusTable")
+
+(* All statuses bound to a given function should be identical, except for
+   recursive functions that may not be completely unrolled: the body is first
+   analyzed, and then the spec is used. This can also lead to partial and
+   complete analyses of the same function, depending on the success of the
+   unrolling for each call. *)
+let merge_status s1 s2 =
+  match s1, s2 with
+  | Analyzed result, SpecUsed  | SpecUsed, Analyzed result ->
+    Analyzed (if result = Complete then Partial else result)
+  | Analyzed Partial, Analyzed Complete | Analyzed Complete, Analyzed Partial ->
+    Analyzed Partial
+  | _, _ ->
+    assert (s1 = s2);
+    s1
+
+let register_status kf kind =
+  let status =
+    match kind with
+    | `Builtin (name, _, _, _) -> Builtin name
+    | `Spec _ -> SpecUsed
+    | `Def (_, results) -> Analyzed (if results then Complete else NoResults)
+  in
+  let change prev_status = merge_status prev_status status in
+  ignore (StatusTable.memo ~change (fun _ -> status) kf)
+
+let analysis_status kf =
+  try StatusTable.find kf
+  with Not_found -> Unreachable
+
+
+(* Must be consistent with the choice made by [analysis_target] below. *)
+let use_spec_instead_of_definition ?(recursion_depth = -1) kf =
+  Ast_info.is_frama_c_builtin (Kernel_function.get_name kf) ||
+  Builtins.is_builtin_overridden kf ||
+  recursion_depth >= Parameters.RecursiveUnroll.get () ||
+  not (Kernel_function.is_definition kf) ||
+  Kernel_function.Set.mem kf (Parameters.UsePrototype.get ())
+
+let analysis_target ~recursion_depth callsite kf =
+  match Builtins.find_builtin_override kf with
+  | Some (name, builtin, cache, spec) ->
+    `Builtin (name, builtin, cache, spec)
+  | None ->
+    if recursion_depth >= Parameters.RecursiveUnroll.get ()
+    then `Spec (Recursion.get_spec callsite kf)
+    else
+      match kf.fundec with
+      | Declaration (_,_,_,_) -> `Spec (Annotations.funspec kf)
+      | Definition (def, _) ->
+        if Kernel_function.Set.mem kf (Parameters.UsePrototype.get ())
+        then `Spec (Annotations.funspec kf)
+        else `Def (def, save_results def)
+
+let define_analysis_target ?(recursion_depth = -1) callsite kf  =
+  let kind = analysis_target callsite kf ~recursion_depth in
+  register_call callsite kf;
+  register_status kf kind;
+  kind
+
+
+type t = (analysis_status * Callers.t) Kernel_function.Map.t
+
+let get_results () =
+  StatusTable.fold_sorted
+    (fun kf status acc ->
+       let callers = CallersTable.find kf in
+       Kernel_function.Map.add kf (status, callers) acc)
+    Kernel_function.Map.empty
+
+let set_results =
+  let register kf (status, callers) =
+    StatusTable.replace kf status;
+    CallersTable.replace kf callers
+  in
+  Kernel_function.Map.iter register
+
+let merge_results =
+  let union _kf (status1, callers1) (status2, callers2) =
+    let union_stmt _kf s1 s2 = Some (StmtSet.union s1 s2) in
+    let callers = Kernel_function.Map.union union_stmt callers1 callers2 in
+    let status = merge_status status1 status2 in
+    Some (status, callers)
+  in
+  Kernel_function.Map.union union
diff --git a/src/plugins/value/engine/function_calls.mli b/src/plugins/value/engine/function_calls.mli
new file mode 100644
index 0000000000000000000000000000000000000000..332d9f518ab60b57420bb1b86f931c98c73897bb
--- /dev/null
+++ b/src/plugins/value/engine/function_calls.mli
@@ -0,0 +1,77 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2022                                               *)
+(*    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
+
+(** True if the results should be saved for the given function. *)
+val save_results: fundec -> bool
+
+(** True if some results are not stored due to options -eva-no-results
+    or -eva-no-results-function. *)
+val partial_results: unit -> bool
+
+(** What is used for the analysis of a given function:
+    - a Cvalue builtin (and other domains use the specification)
+    - the function specification
+    - the function body. The boolean indicates whether the resulting states
+      must be recorded at each statement of this function. *)
+type analysis_target =
+  [ `Builtin of string * Builtins.builtin * Eval.cacheable * funspec
+  | `Spec of Cil_types.funspec
+  | `Def of Cil_types.fundec * bool ]
+
+(** Define the analysis target of a function according to Eva parameters.
+    Also registers the call in tables for the functions below. *)
+val define_analysis_target:
+  ?recursion_depth:int -> kinstr -> kernel_function -> analysis_target
+
+(** Returns true if the Eva analysis use the specification of the given
+    function instead of its body to interpret its calls. *)
+val use_spec_instead_of_definition:
+  ?recursion_depth:int -> kernel_function -> bool
+
+
+(** Returns true if the function has been analyzed. *)
+val is_called: kernel_function -> bool
+
+(** Returns the list of inferred callers of the given function. *)
+val callers : Cil_types.kernel_function -> Cil_types.kernel_function list
+
+(** Returns the list of inferred callers, and for each of them, the list
+    of callsites (the call statements) inside. *)
+val callsites: kernel_function -> (kernel_function * stmt list) list
+
+
+type results = Complete | Partial | NoResults
+type analysis_status =
+    Unreachable | SpecUsed | Builtin of string | Analyzed of results
+
+(** Returns the current analysis status of a given function. *)
+val analysis_status: kernel_function -> analysis_status
+
+(** The functions below are used by Eva_results.ml to save, merge and load
+    the results of multiple Eva analyses.  *)
+
+type t
+val get_results: unit -> t
+val set_results: t -> unit
+val merge_results: t -> t -> t
diff --git a/src/plugins/value/engine/iterator.ml b/src/plugins/value/engine/iterator.ml
index d9d50612ebb06d92a81cf5218fdffdb626428c9e..3be91801bcbca06a175e6401925edbe0caf4568e 100644
--- a/src/plugins/value/engine/iterator.ml
+++ b/src/plugins/value/engine/iterator.ml
@@ -667,7 +667,7 @@ module Make_Dataflow
     );
     states_after
 
-  let merge_results () =
+  let merge_results ~save_results =
     let get_merged_states =
       let merged_states = VertexTable.create control_point_count
       and get_smashed_store v =
@@ -700,7 +700,7 @@ module Make_Dataflow
     let merged_pre_cvalues = lazy (lift_to_cvalues merged_pre_states)
     and merged_post_cvalues = lazy (lift_to_cvalues merged_post_states) in
     let callstack = Eva_utils.call_stack () in
-    if Mark_noresults.should_memorize_function fundec then begin
+    if save_results then begin
       let register_pre = Domain.Store.register_state_before_stmt callstack
       and register_post = Domain.Store.register_state_after_stmt callstack in
       StmtTable.iter register_pre (Lazy.force merged_pre_states);
@@ -762,7 +762,7 @@ module Computer
      end)
 = struct
 
-  let compute kf call_kinstr state =
+  let compute ~save_results kf call_kinstr state =
     let module Dataflow =
       Make_Dataflow
         (Abstract) (States) (Transfer) (Init) (Logic) (Spec)
@@ -778,7 +778,7 @@ module Computer
       if Parameters.ValShowProgress.get () then
         Self.feedback "Recording results for %a"
           Kernel_function.pretty kf;
-      Dataflow.merge_results ();
+      Dataflow.merge_results ~save_results;
       let f = Kernel_function.get_definition kf in
       if Cil.hasAttribute "noreturn" f.svar.vattr && results <> [] then
         Eva_utils.warning_once_current
@@ -788,7 +788,7 @@ module Computer
     in
     let cleanup () =
       Dataflow.mark_degeneration ();
-      Dataflow.merge_results ()
+      Dataflow.merge_results ~save_results
     in
     Eva_utils.protect compute ~cleanup
 end
diff --git a/src/plugins/value/engine/iterator.mli b/src/plugins/value/engine/iterator.mli
index 81c8cc65844e581f7db400f9d885168b3b2d9af3..47ca49314a2ec62e4ac5d3f7044bb01307d4c4d1 100644
--- a/src/plugins/value/engine/iterator.mli
+++ b/src/plugins/value/engine/iterator.mli
@@ -44,6 +44,7 @@ module Computer
   : sig
 
     val compute:
+      save_results:bool ->
       kernel_function -> kinstr -> Abstract.Dom.t ->
       (Partition.key * Abstract.Dom.t) list * Eval.cacheable
 
diff --git a/src/plugins/value/engine/transfer_logic.ml b/src/plugins/value/engine/transfer_logic.ml
index 124437be116a36a44e19b63c3f447152329acabf..74a8d6d679985101272a63334dc9c6a1bb24a24e 100644
--- a/src/plugins/value/engine/transfer_logic.ml
+++ b/src/plugins/value/engine/transfer_logic.ml
@@ -54,7 +54,7 @@ let pp_p_kind fmt = function
 let post_kind kf =
   if Builtins.is_builtin_overridden kf
   then PostBuiltin
-  else if !Db.Value.use_spec_instead_of_definition kf then
+  else if Function_calls.use_spec_instead_of_definition kf then
     if Kernel_function.is_definition kf
     then PostUseSpec
     else PostLeaf
@@ -141,68 +141,6 @@ let create_conjunction l=
   in
   Logic_const.(List.fold_right (fun p1 p2 -> pand ?loc (p1, p2)) (List.map pred_of_id_pred l) ptrue)
 
-(* -------------------------- Active behaviors ------------------------------ *)
-
-module ActiveBehaviors = struct
-
-  type t = {
-    funspec: funspec;
-    is_active: funbehavior -> Alarmset.status
-  }
-
-  module HashBehaviors = Hashtbl.Make(
-    struct
-      type t = funbehavior
-      let equal b1 b2 = b1.b_name = b2.b_name
-      let hash b = Hashtbl.hash b.b_name
-    end)
-
-  let is_active eval_predicate b =
-    let assumes = create_conjunction b.b_assumes in
-    eval_predicate assumes
-
-  let create eval_predicate funspec =
-    let h = HashBehaviors.create 3 in
-    let is_active = fun b ->
-      try HashBehaviors.find h b
-      with Not_found ->
-        let active = is_active eval_predicate b in
-        HashBehaviors.add h b active;
-        active
-    in
-    { is_active; funspec }
-
-  let is_active ab behavior = ab.is_active behavior
-
-  let active_behaviors ab =
-    List.filter
-      (fun b -> is_active ab b != Alarmset.False)
-      ab.funspec.spec_behavior
-
-  let is_active_from_name ab name =
-    try
-      let list = ab.funspec.spec_behavior in
-      let behavior = List.find (fun b' -> b'.b_name = name) list in
-      is_active ab behavior
-    (* This case happens for behaviors of statement contract, that are not
-       handled by this module. *)
-    with Not_found -> Alarmset.Unknown
-end
-
-let () =
-  Db.Value.valid_behaviors :=
-    (fun kf state ->
-       let funspec = Annotations.funspec kf in
-       let eval_predicate pred =
-         match Eval_terms.(eval_predicate (env_pre_f ~pre:state ()) pred) with
-         | Eval_terms.True -> Alarmset.True
-         | Eval_terms.False -> Alarmset.False
-         | Eval_terms.Unknown -> Alarmset.Unknown
-       in
-       let ab = ActiveBehaviors.create eval_predicate funspec in
-       ActiveBehaviors.active_behaviors ab
-    )
-
 let ip_from_precondition kf call_ki b pre =
   let ip_precondition = Property.ip_of_requires kf Kglobal b pre in
   match call_ki with
@@ -269,22 +207,22 @@ module type S = sig
   type state
   type states
 
-  val create: state -> kernel_function -> ActiveBehaviors.t
-  val create_from_spec: state -> spec -> ActiveBehaviors.t
+  val create: state -> kernel_function -> Active_behaviors.t
+  val create_from_spec: state -> spec -> Active_behaviors.t
 
   val check_fct_preconditions_for_behaviors:
     kinstr -> kernel_function -> behavior list -> Alarmset.status ->
     states -> states
 
   val check_fct_preconditions:
-    kinstr -> kernel_function -> ActiveBehaviors.t -> state -> states or_bottom
+    kinstr -> kernel_function -> Active_behaviors.t -> state -> states or_bottom
 
   val check_fct_postconditions_for_behaviors:
     kernel_function -> behavior list -> Alarmset.status ->
     pre_state:state -> post_states:states -> result:varinfo option -> states
 
   val check_fct_postconditions:
-    kernel_function -> ActiveBehaviors.t -> termination_kind ->
+    kernel_function -> Active_behaviors.t -> termination_kind ->
     pre_state:state -> post_states:states -> result:varinfo option ->
     states or_bottom
 
@@ -292,7 +230,7 @@ module type S = sig
 
   val interp_annot:
     limit:int -> record:bool ->
-    kernel_function -> ActiveBehaviors.t -> stmt -> code_annotation ->
+    kernel_function -> Active_behaviors.t -> stmt -> code_annotation ->
     initial_state:state -> states -> states
 end
 
@@ -344,7 +282,7 @@ module Make
 
   let create_from_spec pre funspec =
     let eval_predicate = Domain.evaluate_predicate (pre_env ~pre) pre in
-    ActiveBehaviors.create eval_predicate funspec
+    Active_behaviors.create eval_predicate funspec
 
   let create init_state kf =
     let funspec = Annotations.funspec kf in
@@ -421,7 +359,7 @@ module Make
         | Postcondition (PostLeaf | PostUseSpec) -> true
         | _ -> false)
        && pr.pred_content <> Pfalse then
-      Self.warning ~once:true ~source
+      Self.warning ~once:true ~source ~wkey:Self.wkey_ensures_false
         "@[%a:@ this postcondition@ evaluates to@ false@ in this@ context.\
          @ If it is valid,@ either@ a precondition@ was not@ verified@ \
          for this@ call%t,@ or some assigns/from@ clauses@ are \
@@ -537,7 +475,7 @@ module Make
       to help reduce the final state. *)
   let check_fct_postconditions kf ab kind ~pre_state ~post_states ~result =
     let behaviors = Annotations.behaviors kf in
-    let is_active = ActiveBehaviors.is_active ab in
+    let is_active = Active_behaviors.is_active ab in
     let states =
       check_fct_postconditions_of_behaviors
         kf behaviors is_active kind ~per_behavior:false
@@ -583,7 +521,7 @@ module Make
   let check_fct_preconditions call_ki kf ab init_state =
     let init_states = States.singleton init_state in
     let behaviors = Annotations.behaviors kf in
-    let is_active = ActiveBehaviors.is_active ab in
+    let is_active = Active_behaviors.is_active ab in
     let states =
       check_fct_preconditions_of_behaviors call_ki kf ~per_behavior:false
         behaviors is_active init_states
@@ -625,7 +563,7 @@ module Make
         | [] -> `True
         | behavs ->
           let aux acc b =
-            match ActiveBehaviors.is_active_from_name ab b with
+            match Active_behaviors.is_active_from_name ab b with
             | Alarmset.True -> `True
             | Alarmset.Unknown -> if acc = `True then `True else `Unknown
             | Alarmset.False -> acc
diff --git a/src/plugins/value/engine/transfer_logic.mli b/src/plugins/value/engine/transfer_logic.mli
index 2512aac64e2d9e1c6827bf4d3b30a52aa673d17d..e328d5a9c0beafe5728a12262fc3d251561e746d 100644
--- a/src/plugins/value/engine/transfer_logic.mli
+++ b/src/plugins/value/engine/transfer_logic.mli
@@ -23,13 +23,6 @@
 open Cil_types
 open Eval
 
-module ActiveBehaviors : sig
-  type t
-  val is_active: t -> behavior -> Alarmset.status
-  val active_behaviors: t -> behavior list
-  val create: (predicate -> Alarmset.status) -> spec -> t
-end
-
 (* Marks all behaviors of the list as inactive. *)
 val process_inactive_behaviors:
   kinstr -> kernel_function -> behavior list -> unit
@@ -38,22 +31,22 @@ module type S = sig
   type state
   type states
 
-  val create: state -> kernel_function -> ActiveBehaviors.t
-  val create_from_spec: state -> spec -> ActiveBehaviors.t
+  val create: state -> kernel_function -> Active_behaviors.t
+  val create_from_spec: state -> spec -> Active_behaviors.t
 
   val check_fct_preconditions_for_behaviors:
     kinstr -> kernel_function -> behavior list -> Alarmset.status ->
     states -> states
 
   val check_fct_preconditions:
-    kinstr -> kernel_function -> ActiveBehaviors.t -> state -> states or_bottom
+    kinstr -> kernel_function -> Active_behaviors.t -> state -> states or_bottom
 
   val check_fct_postconditions_for_behaviors:
     kernel_function -> behavior list -> Alarmset.status ->
     pre_state:state -> post_states:states -> result:varinfo option -> states
 
   val check_fct_postconditions:
-    kernel_function -> ActiveBehaviors.t -> termination_kind ->
+    kernel_function -> Active_behaviors.t -> termination_kind ->
     pre_state:state -> post_states:states -> result:varinfo option ->
     states or_bottom
 
@@ -61,7 +54,7 @@ module type S = sig
 
   val interp_annot:
     limit:int -> record:bool ->
-    kernel_function -> ActiveBehaviors.t -> stmt -> code_annotation ->
+    kernel_function -> Active_behaviors.t -> stmt -> code_annotation ->
     initial_state:state -> states -> states
 end
 
diff --git a/src/plugins/value/engine/transfer_stmt.ml b/src/plugins/value/engine/transfer_stmt.ml
index 8e3c04f6d31f20deb9bbaf4aa09966db3482974d..303e69ee16dde632435d82c0f774c42a3d3b122a 100644
--- a/src/plugins/value/engine/transfer_stmt.ml
+++ b/src/plugins/value/engine/transfer_stmt.ml
@@ -85,7 +85,7 @@ let do_copy_at = function
    on functions whose body is analyzed. *)
 let is_determinate kf =
   let name = Kernel_function.get_name kf in
-  (warn_indeterminate kf || !Db.Value.use_spec_instead_of_definition kf)
+  (warn_indeterminate kf || Function_calls.use_spec_instead_of_definition kf)
   && not (Ast_info.is_frama_c_builtin name)
 
 let subdivide_stmt = Eva_utils.get_subdivision
@@ -748,7 +748,6 @@ module Make (Abstract: Abstractions.Eva) = struct
     let cacheable = ref Cacheable in
     let eval =
       let+ functions = functions in
-      let current_kf = Eva_utils.current_kf () in
       let process_one_function kf valuation =
         (* The special Frama_C_ functions to print states are handled here. *)
         if apply_special_directives ~subdivnb kf args state
@@ -761,8 +760,6 @@ module Make (Abstract: Abstractions.Eva) = struct
           Alarmset.emit ki_call alarms;
           let states =
             let+ call, recursion, valuation = eval in
-            (* Register the call. *)
-            Eva_results.add_kf_caller call.kf ~caller:(current_kf, stmt);
             (* Do the call. *)
             let c, states =
               do_one_call valuation stmt lval_option call recursion state
diff --git a/src/plugins/value/gui_files/gui_eval.ml b/src/plugins/value/gui_files/gui_eval.ml
index c212bc4d9166d46a1361a6a74e135940f113c5f6..9264bfb55403509312c971ee1ea1b614d1381777 100644
--- a/src/plugins/value/gui_files/gui_eval.ml
+++ b/src/plugins/value/gui_files/gui_eval.ml
@@ -24,12 +24,8 @@ open Cil_types
 open Gui_types
 open Lattice_bounds
 
-let results_kf_computed kf =
-  Eva.Analysis.is_computed () &&
-  match kf with
-  | { fundec = Definition (fundec, _) } ->
-    Mark_noresults.should_memorize_function fundec
-  | { fundec = Declaration _ } -> true (* This value is not really used *)
+let results_kf_computed kf = Analysis.is_computed () && Results.are_available kf
+let kf_called kf = Analysis.is_computed () && Results.is_called kf
 
 let term_c_type t =
   Logic_const.plain_or_set
@@ -343,7 +339,7 @@ module Make (X: Analysis.S) = struct
     let pre = pre_kf kf callstack in
     let post = X.Dom.get_cvalue_or_top post in
     let result =
-      if !Db.Value.use_spec_instead_of_definition kf then
+      if Function_calls.use_spec_instead_of_definition kf then
         None
       else
         let ret_stmt = Kernel_function.find_return kf in
@@ -386,7 +382,7 @@ module Make (X: Analysis.S) = struct
      and correspond to the states before reduction by any precondition.
      After states are not available. *)
   let callstacks_at_pre kf =
-    if results_kf_computed kf then
+    if kf_called kf then
       let states_before = X.get_initial_state_by_callstack kf in
       { states_before; states_after = `Top }
     else top_states_by_callstacks
@@ -395,7 +391,8 @@ module Make (X: Analysis.S) = struct
      normal termination, and only when the function is called.
      After states are not available. *)
   let callstacks_at_post kf =
-    if not (!Db.Value.use_spec_instead_of_definition kf) && results_kf_computed kf
+    if not (Function_calls.use_spec_instead_of_definition kf)
+    && results_kf_computed kf
     then
       let ret = Kernel_function.find_return kf in
       let states_before = X.get_stmt_state_by_callstack ~after:true ret in
diff --git a/src/plugins/value/gui_files/register_gui.ml b/src/plugins/value/gui_files/register_gui.ml
index fda18017f390f47ab0a3da7bd9929391f795de2a..31d005daf3e195dac525dbafe363ac52e7ba978c 100644
--- a/src/plugins/value/gui_files/register_gui.ml
+++ b/src/plugins/value/gui_files/register_gui.ml
@@ -43,7 +43,7 @@ module UsedVarState =
 
 let used_var = UsedVarState.memo
     (fun var ->
-       Mark_noresults.no_memoization_enabled () ||
+       Function_calls.partial_results () ||
        try
          let f = fst (Globals.entry_point ()) in
          let inputs = !Db.Inputs.get_external f in
@@ -172,7 +172,7 @@ let active_highlighter buffer localizable ~start ~stop =
         | Some color_area ->
           apply_tag buffer color_area start stop
         | None ->
-          if Gui_eval.results_kf_computed kf then begin
+          if Analysis.status kf <> Analyzed NoResults then begin
             let csf = Gui_callstacks_filters.focused_callstacks () in
             if Gui_callstacks_filters.is_reachable_stmt csf stmt then begin
               if Gui_callstacks_filters.is_non_terminating_instr csf stmt then
@@ -528,7 +528,7 @@ module Select (Eval: Eval) = struct
                | Kstmt stmt -> Eval.Analysis.get_stmt_state ~after:false stmt
              in
              match state  with
-             | `Bottom -> ()
+             | `Bottom | `Top -> ()
              | `Value state ->
                let funs, _ = Eval.Analysis.eval_function_exp state e in
                match funs with
diff --git a/src/plugins/value/legacy/eval_annots.ml b/src/plugins/value/legacy/eval_annots.ml
index 8c83557fd2a766d1dde996152ae20a256e009ece..4bf4155529115dd9930da1dc8a5f579a32f3e1c4 100644
--- a/src/plugins/value/legacy/eval_annots.ml
+++ b/src/plugins/value/legacy/eval_annots.ml
@@ -109,7 +109,7 @@ let mark_unreachable () =
   Visitor.visitFramacFileFunctions unreach (Ast.get ())
 
 let c_labels kf cs =
-  if !Db.Value.use_spec_instead_of_definition kf then
+  if Function_calls.use_spec_instead_of_definition kf then
     Cil_datatype.Logic_label.Map.empty
   else
     let fdec = Kernel_function.get_definition kf in
diff --git a/src/plugins/value/register.ml b/src/plugins/value/register.ml
index c57f8f46daae27c684ebb342d69dd314407365f0..e48168230e40b04321390fa52dde2dbc0b2e9907 100644
--- a/src/plugins/value/register.ml
+++ b/src/plugins/value/register.ml
@@ -124,14 +124,6 @@ let find_deps_term_no_transitivity_state state t =
     r.Eval_terms.ldeps
   with Eval_terms.LogicEvalError _ -> raise Db.From.Not_lval
 
-(* If the function is a builtin, or if the user has requested it, use
-   \assigns and \from clauses, that give an approximation of the result *)
-let use_spec_instead_of_definition kf =
-  not (Kernel_function.is_definition kf) ||
-  Ast_info.is_frama_c_builtin (Kernel_function.get_name kf) ||
-  Builtins.is_builtin_overridden kf ||
-  Kernel_function.Set.mem kf (Parameters.UsePrototype.get ())
-
 let eval_predicate ~pre ~here p =
   let open Eval_terms in
   let env = env_annot ~pre ~here () in
@@ -140,9 +132,22 @@ let eval_predicate ~pre ~here p =
   | False -> Property_status.False_if_reachable
   | Unknown -> Property_status.Dont_know
 
+let valid_behaviors kf state =
+  let funspec = Annotations.funspec kf in
+  let eval_predicate pred =
+    match Eval_terms.(eval_predicate (env_pre_f ~pre:state ()) pred) with
+    | Eval_terms.True -> Alarmset.True
+    | Eval_terms.False -> Alarmset.False
+    | Eval_terms.Unknown -> Alarmset.Unknown
+  in
+  let ab = Active_behaviors.create eval_predicate funspec in
+  Active_behaviors.active_behaviors ab
+
 let () =
-  (* Pretty-printing *)
-  Db.Value.use_spec_instead_of_definition := use_spec_instead_of_definition;
+  Db.Value.is_called := Function_calls.is_called;
+  Db.Value.callers := Function_calls.callsites;
+  Db.Value.use_spec_instead_of_definition :=
+    Function_calls.use_spec_instead_of_definition;
   Db.Value.assigns_outputs_to_zone := assigns_outputs_to_zone;
   Db.Value.assigns_outputs_to_locations := assigns_outputs_to_locations;
   Db.Value.assigns_inputs_to_zone := assigns_inputs_to_zone;
@@ -150,6 +155,7 @@ let () =
   Db.Value.access_location := access_value_of_location;
   Db.Value.access_expr := access_value_of_expr;
   Db.Value.Logic.eval_predicate := eval_predicate;
+  Db.Value.valid_behaviors := valid_behaviors;
   Db.From.find_deps_term_no_transitivity_state :=
     find_deps_term_no_transitivity_state;
 
diff --git a/src/plugins/value/self.ml b/src/plugins/value/self.ml
index 84e12b63e791fbc0c4193ff32bc6ca8113e8fdfe..430ed2dfde6c190fe6d58c1fca3c4af01cadfcf1 100644
--- a/src/plugins/value/self.ml
+++ b/src/plugins/value/self.ml
@@ -132,3 +132,4 @@ let wkey_invalid_assigns = register_warn_category "invalid-assigns"
 let () = set_warn_status wkey_invalid_assigns Log.Wfeedback
 let wkey_experimental = register_warn_category "experimental"
 let wkey_unknown_size = register_warn_category "unknown-size"
+let wkey_ensures_false = register_warn_category "ensures-false"
diff --git a/src/plugins/value/self.mli b/src/plugins/value/self.mli
index f975ab4db65c66f3a491aedc74f8b647f0c675b5..97b25ff341643a3f700ffffb5f2fe9a0ab4a8ddb 100644
--- a/src/plugins/value/self.mli
+++ b/src/plugins/value/self.mli
@@ -77,3 +77,4 @@ val wkey_signed_overflow : warn_category
 val wkey_invalid_assigns : warn_category
 val wkey_experimental : warn_category
 val wkey_unknown_size : warn_category
+val wkey_ensures_false : warn_category
diff --git a/src/plugins/value/utils/mark_noresults.ml b/src/plugins/value/utils/active_behaviors.ml
similarity index 53%
rename from src/plugins/value/utils/mark_noresults.ml
rename to src/plugins/value/utils/active_behaviors.ml
index f679f39b8bad2d0148e1771357d6cb1e508bd16d..bd8599329f878218e82c8acf86f520db710135ff 100644
--- a/src/plugins/value/utils/mark_noresults.ml
+++ b/src/plugins/value/utils/active_behaviors.ml
@@ -20,25 +20,56 @@
 (*                                                                        *)
 (**************************************************************************)
 
-let should_memorize_function f =
-  Parameters.ResultsAll.get () &&
-  not (Cil_datatype.Fundec.Set.mem
-         f (Parameters.NoResultsFunctions.get ()))
+open Cil_types
 
-let () = Db.Value.no_results :=
-    (fun fd -> not (should_memorize_function fd)
-               || not (Parameters.Domains.mem "cvalue"))
+let create_conjunction l =
+  let open Logic_const in
+  let loc = match l with
+    | [] -> None
+    | p :: _ -> Some (pred_of_id_pred p).pred_loc
+  in
+  let predicates = List.map pred_of_id_pred l in
+  List.fold_right (fun p1 p2 -> pand ?loc (p1, p2)) predicates ptrue
 
-(* Signal that some results are not stored. The gui, or some calls to
-   Db.Value, may fail ungracefully *)
-let no_memoization_enabled () =
-  not (Parameters.ResultsAll.get ()) ||
-  not (Parameters.NoResultsFunctions.is_empty ())
+type t = {
+  funspec: funspec;
+  is_active: funbehavior -> Alarmset.status
+}
 
+module HashBehaviors = Hashtbl.Make(
+  struct
+    type t = funbehavior
+    let equal b1 b2 = b1.b_name = b2.b_name
+    let hash b = Hashtbl.hash b.b_name
+  end)
 
+let is_active eval_predicate b =
+  let assumes = create_conjunction b.b_assumes in
+  eval_predicate assumes
 
-(*
-Local Variables:
-compile-command: "make -C ../../../.."
-End:
-*)
+let create eval_predicate funspec =
+  let h = HashBehaviors.create 3 in
+  let is_active = fun b ->
+    try HashBehaviors.find h b
+    with Not_found ->
+      let active = is_active eval_predicate b in
+      HashBehaviors.add h b active;
+      active
+  in
+  { is_active; funspec }
+
+let is_active ab behavior = ab.is_active behavior
+
+let active_behaviors ab =
+  List.filter
+    (fun b -> is_active ab b != Alarmset.False)
+    ab.funspec.spec_behavior
+
+let is_active_from_name ab name =
+  try
+    let list = ab.funspec.spec_behavior in
+    let behavior = List.find (fun b' -> b'.b_name = name) list in
+    is_active ab behavior
+  (* This case happens for behaviors of statement contract, that are not
+     handled by this module. *)
+  with Not_found -> Alarmset.Unknown
diff --git a/src/plugins/value/utils/mark_noresults.mli b/src/plugins/value/utils/active_behaviors.mli
similarity index 87%
rename from src/plugins/value/utils/mark_noresults.mli
rename to src/plugins/value/utils/active_behaviors.mli
index 2710d864476daa6534727114716eb87ca7434ea4..5ca99b054e509adff1e01890f8612d1cdd4c2c62 100644
--- a/src/plugins/value/utils/mark_noresults.mli
+++ b/src/plugins/value/utils/active_behaviors.mli
@@ -20,8 +20,10 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Are the states of the function analysis saved? *)
-val should_memorize_function: Cil_types.fundec -> bool
+open Cil_types
 
-(** Signal that some analysis results are not stored. *)
-val no_memoization_enabled: unit -> bool
+type t
+val is_active: t -> behavior -> Alarmset.status
+val is_active_from_name: t -> string -> Alarmset.status
+val active_behaviors: t -> behavior list
+val create: (predicate -> Alarmset.status) -> spec -> t
diff --git a/src/plugins/value/utils/eva_results.ml b/src/plugins/value/utils/eva_results.ml
index 266589b752a99adadbf133b3d3825a6b9b096e56..fcdde083d16286edfcb8b0059f098e4381f94ae6 100644
--- a/src/plugins/value/utils/eva_results.ml
+++ b/src/plugins/value/utils/eva_results.ml
@@ -22,62 +22,6 @@
 
 open Cil_datatype
 
-(* {2 Is called} *)
-
-module Is_Called =
-  Kernel_function.Make_Table
-    (Datatype.Bool)
-    (struct
-      let name = "Value.Eva_results.is_called"
-      let dependencies = [ Self.state ]
-      let size = 17
-    end)
-
-let is_called =
-  Is_Called.memo
-    (fun kf ->
-       try Db.Value.is_reachable_stmt (Kernel_function.find_first_stmt kf)
-       with Kernel_function.No_Statement -> false)
-
-let mark_kf_as_called kf =
-  Is_Called.replace kf true
-
-
-(* {2 Callers} *)
-
-module Callers =
-  Kernel_function.Make_Table
-    (Kernel_function.Map.Make(Stmt.Set))
-    (struct
-      let name = "Value.Eva_results.Callers"
-      let dependencies = [ Self.state ]
-      let size = 17
-    end)
-
-let add_kf_caller ~caller:(caller_kf, call_site) kf =
-  let add m = Kernel_function.Map.add caller_kf (Stmt.Set.singleton call_site) m
-  in
-  let change m =
-    try
-      let call_sites = Kernel_function.Map.find caller_kf m in
-      Kernel_function.Map.add caller_kf (Stmt.Set.add call_site call_sites) m
-    with Not_found ->
-      add m
-  in
-  ignore (Callers.memo ~change (fun _kf -> add Kernel_function.Map.empty) kf)
-
-
-let callers kf =
-  try
-    let m = Callers.find kf in
-    Kernel_function.Map.fold
-      (fun key v acc -> (key, Stmt.Set.elements v) :: acc)
-      m
-      []
-  with Not_found ->
-    []
-
-
 (* {2 Termination.} *)
 
 let partition_terminating_instr stmt =
@@ -103,13 +47,6 @@ let is_non_terminating_instr stmt =
   | _, _ -> false
 
 
-(* {2 Registration.} *)
-
-let () =
-  Db.Value.is_called := is_called;
-  Db.Value.callers := callers;
-;;
-
 (* {2 Saving and restoring state} *)
 
 type stmt_by_callstack = Cvalue.Model.t Value_types.Callstack.Hashtbl.t
@@ -123,8 +60,7 @@ type results = {
   before_states: stmt_by_callstack Stmt.Hashtbl.t;
   after_states: stmt_by_callstack Stmt.Hashtbl.t;
   kf_initial_states: stmt_by_callstack Kernel_function.Hashtbl.t;
-  kf_is_called: bool Kernel_function.Hashtbl.t;
-  kf_callers: Stmt.Set.t Kernel_function.Map.t Kernel_function.Hashtbl.t;
+  kf_callers: Function_calls.t;
   initial_state: Cvalue.Model.t;
   initial_args: Cvalue.V.t list option;
   alarms: Property_status.emitted_status AlarmsStmt.Hashtbl.t;
@@ -156,16 +92,7 @@ let get_results () =
     Globals.Functions.iter copy;
     h
   in
-  let kf_is_called =
-    let h = Kernel_function.Hashtbl.create 128 in
-    Is_Called.iter (Kernel_function.Hashtbl.add h);
-    h
-  in
-  let kf_callers =
-    let h = Kernel_function.Hashtbl.create 128 in
-    Callers.iter (Kernel_function.Hashtbl.add h);
-    h
-  in
+  let kf_callers = Function_calls.get_results () in
   let initial_state = Db.Value.globals_state () in
   let initial_args = Db.Value.fun_get_args () in
   let aux_statuses f_status ip =
@@ -198,7 +125,7 @@ let get_results () =
     | _ -> add ()
   in
   Property_status.iter aux_ip;
-  { before_states; after_states; kf_initial_states; kf_is_called; kf_callers;
+  { before_states; after_states; kf_initial_states; kf_callers;
     initial_state; initial_args; alarms; statuses; main }
 
 let set_results results =
@@ -229,19 +156,7 @@ let set_results results =
     Value_types.Callstack.Hashtbl.iter aux_callstack h
   in
   Kernel_function.Hashtbl.iter aux_initial_state results.kf_initial_states;
-  (* Kf is_called *)
-  Kernel_function.Hashtbl.iter Is_Called.replace results.kf_is_called;
-  (* Kf callers *)
-  let aux_callers callee m =
-    let aux_caller caller stmts =
-      let aux_stmt callsite =
-        add_kf_caller ~caller:(caller, callsite) callee
-      in
-      Stmt.Set.iter aux_stmt stmts
-    in
-    Kernel_function.Map.iter aux_caller m
-  in
-  Kernel_function.Hashtbl.iter aux_callers results.kf_callers;
+  Function_calls.set_results results.kf_callers;
   (* Alarms *)
   let aux_alarms (alarm, stmt) st =
     let ki = Cil_types.Kstmt stmt in
@@ -322,10 +237,6 @@ let merge r1 r2 =
     | Dont_know, _ | _, Dont_know -> Dont_know
     | True, True -> True
   in
-  let merge_callers _ m1 m2 =
-    let aux _kf s1 s2 = Some (Stmt.Set.union s1 s2) in
-    Kernel_function.Map.union aux m1 m2
-  in
   let merge_s_cs = StmtH.merge merge_cs in
   let main = match r1.main, r2.main with
     | None, _ | _, None -> None
@@ -337,10 +248,7 @@ let merge r1 r2 =
   let kf_initial_states =
     KfH.merge merge_cs r1.kf_initial_states r2.kf_initial_states
   in
-  let kf_is_called =
-    KfH.merge (fun _ -> (||)) r1.kf_is_called r2.kf_is_called
-  in
-  let kf_callers = KfH.merge merge_callers r1.kf_callers r2.kf_callers in
+  let kf_callers = Function_calls.merge_results r1.kf_callers r2.kf_callers in
   let alarms = AlarmsStmtH.merge merge_statuses r1.alarms r2.alarms in
   let statuses = PropertyH.merge merge_statuses r1.statuses r2.statuses in
   let initial_state = Cvalue.Model.join r1.initial_state r2.initial_state in
@@ -352,7 +260,7 @@ let merge r1 r2 =
       try Some (List.map2 Cvalue.V.join args1 args2)
       with Invalid_argument _ -> None (* should not occur *)
   in
-  { main; before_states; after_states; kf_initial_states; kf_is_called;
+  { main; before_states; after_states; kf_initial_states;
     initial_state; initial_args; alarms; statuses; kf_callers }
 
 
diff --git a/src/plugins/value/utils/eva_results.mli b/src/plugins/value/utils/eva_results.mli
index 4a40e7f9d069e2ed58e22ea8d92e8ee3f507b997..09c2bd8d36b9e45847560ad7e5ed5180728dc9ff 100644
--- a/src/plugins/value/utils/eva_results.mli
+++ b/src/plugins/value/utils/eva_results.mli
@@ -22,14 +22,6 @@
 
 open Cil_types
 
-val is_called: kernel_function -> bool
-val mark_kf_as_called: kernel_function -> unit
-val add_kf_caller: caller:kernel_function * stmt -> kernel_function -> unit
-
-val callers: kernel_function -> (kernel_function*stmt list) list
-(** @return the list of callers with their call sites. Each function is
-    present only once in the list. *)
-
 val is_non_terminating_instr: stmt -> bool
 (** Returns [true] iff there exists executions of the statement that does
     not always fail/loop (for function calls). Must be called *only* on
diff --git a/src/plugins/value/utils/results.ml b/src/plugins/value/utils/results.ml
index 6e92b4373d7234f4919ff260b91e34f67b68df90..540bc32142af6c42de9b85c1dbca17bc36ab2504 100644
--- a/src/plugins/value/utils/results.ml
+++ b/src/plugins/value/utils/results.ml
@@ -22,6 +22,12 @@
 
 open Lattice_bounds
 
+let are_available kf =
+  Analysis.is_computed () &&
+  match Analysis.status kf with
+  | Analyzed (Complete | Partial) -> true
+  | SpecUsed | Builtin _ | Unreachable | Analyzed NoResults -> false
+
 module Callstack = Value_types.Callstack
 
 type callstack = Callstack.t
@@ -102,14 +108,16 @@ struct
 
   (* Constructors *)
 
-  let consolidated =
+  let consolidated ~top =
     function
     | `Bottom -> Bottom
+    | `Top -> Consolidated top
     | `Value state -> Consolidated state
 
   let singleton cs =
     function
     | `Bottom -> Bottom
+    | `Top -> Top
     | `Value state -> ByCallstack [cs,state]
 
   let by_callstack : request ->
@@ -232,7 +240,7 @@ struct
         | Start kf -> A.get_initial_state kf
         | Initial -> A.get_global_state ()
       in
-      consolidated state
+      consolidated ~top:A.Dom.top state
 
   let convert : 'a or_top_bottom -> 'a result = function
     | `Top -> Result.error Top
@@ -670,10 +678,6 @@ let is_bottom : type a. a evaluation -> bool =
     let module L = (val lvaluation : Lvaluation) in
     L.is_bottom L.v
 
-let is_called kf =
-  let module M = Make () in
-  M.is_reachable (at_start_of kf)
-
 let is_reachable stmt =
   let module M = Make () in
   M.is_reachable (before stmt)
@@ -686,29 +690,9 @@ let condition_truth_value = Db.Value.condition_truth_value
 
 (* Callers / callsites *)
 
-let callers kf =
-  let f = function
-    | [] | [_] -> None
-    | _ :: (caller,_) :: _-> Some caller
-  in
-  at_start_of kf |> callstacks |>
-  List.filter_map f |> List.sort_uniq Kernel_function.compare
-
-let uniq_sites = List.sort_uniq Cil_datatype.Stmt.compare
-
-let callsites kf =
-  let module Map = Kernel_function.Map in
-  let f acc = function
-    | [] | (_,Cil_types.Kglobal) :: _ -> acc
-    | [(_,Kstmt _)] -> assert false (* End of callstacks should have no callsite *)
-    | (_kf,Kstmt stmt) :: (caller,_) :: _ -> (* kf = _kf *)
-      Map.update caller
-        (fun old -> Some (stmt :: Option.value ~default:[] old)) acc
-  in
-  at_start_of kf |> callstacks |>
-  List.fold_left f Map.empty |> Map.to_seq |> List.of_seq |>
-  List.map (fun (kf,sites) -> kf, uniq_sites sites)
-
+let is_called = Function_calls.is_called
+let callers = Function_calls.callers
+let callsites = Function_calls.callsites
 
 (* Result conversion *)
 
diff --git a/src/plugins/value/utils/results.mli b/src/plugins/value/utils/results.mli
index a35f29f8d30cc08b81ea9531ead9184e34b242df..de423c3260fa3a6da2d8bcf3c7c9cb8fdb911092 100644
--- a/src/plugins/value/utils/results.mli
+++ b/src/plugins/value/utils/results.mli
@@ -54,6 +54,16 @@
       default O (as_int (eval_var vi (in_callstack cs (before stmt))))
 *)
 
+(** Are results available for a given function? True if the function body has
+    been has been analyzed and the results have been saved.
+    False if:
+    - the function has not been reached by the analysis: all requests in the
+      function will lead to a Bottom error.
+    - a specification or a builtin has been used instead of analyzing the
+      function body: all requests in the function will lead to a Bottom error.
+    - results have not been saved, due to the [-eva-no-results] parameter:
+      all requests in the function will lead to a Top error. *)
+val are_available: Cil_types.kernel_function -> bool
 
 type callstack = (Cil_types.kernel_function * Cil_types.kinstr) list
 
diff --git a/src/plugins/value/values/numerors/numerors_float.ml b/src/plugins/value/values/numerors/numerors_float.ml
index ae8c540a2880f5df43bde964c58ba5089e245a44..07bdd9f9f455aee8a939051bcca4a008c1f73c8c 100644
--- a/src/plugins/value/values/numerors/numerors_float.ml
+++ b/src/plugins/value/values/numerors/numerors_float.ml
@@ -122,7 +122,7 @@ let neg_inf prec = of_mpfr prec @@ Mpfrf.of_float neg_infinity  Mpfr.Near
  *---------------------------------------------------------------------------*)
 let compare (px, nx) (py, ny) =
   if not (Precisions.eq px py) then
-    Eva.Private.Self.fatal
+    Self.fatal
       "Numerors: impossible to compare two numbers with different precisions"
   else Mpfrf.cmp nx ny
 let eq a b = compare a b =  0
diff --git a/src/plugins/variadic/Makefile.in b/src/plugins/variadic/Makefile.in
index e6d7e0ca24c30195cee5e5450789feaa092a27d2..d1eb8663af0792793af4ca6100f175156d607270 100644
--- a/src/plugins/variadic/Makefile.in
+++ b/src/plugins/variadic/Makefile.in
@@ -45,6 +45,14 @@ PLUGIN_DISTRIBUTED := $(PLUGIN_ENABLE)
 PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
 #PLUGIN_NO_DEFAULT_TEST := no
 PLUGIN_TESTS_DIRS := declared defined known erroneous
+PLUGIN_DISTRIB_TESTS := \
+  $(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/oracle/* \
+    $(filter-out result oracle,$(dir)/*)) \
+  ) \
+  $(filter-out result oracle,tests/*)) \
+  $(foreach dir, tests $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
+    $(dir)/test_config)
 
 ################
 # Generic part #
diff --git a/src/plugins/variadic/tests/declared/function-ptr-with-ghost.i b/src/plugins/variadic/tests/declared/function-ptr-with-ghost.i
index 0ab1f1a1c0c7e5597794b56a0192ee6cb5cf9206..58f175bdf3a37f53121551512ab109b9d966baef 100644
--- a/src/plugins/variadic/tests/declared/function-ptr-with-ghost.i
+++ b/src/plugins/variadic/tests/declared/function-ptr-with-ghost.i
@@ -5,4 +5,4 @@ void va_f(int, ...) /*@ ghost(int x) */ ;
 
 int main(void){
   function(va_f, 3);
-}
\ No newline at end of file
+}
diff --git a/src/plugins/wp/wp_parameters.ml b/src/plugins/wp/wp_parameters.ml
index 143cc25dde16f434cac1a50a059917370ebbb0ef..77b25a189666b5ac51fb1fdebdb614392a3c1610 100644
--- a/src/plugins/wp/wp_parameters.ml
+++ b/src/plugins/wp/wp_parameters.ml
@@ -1129,15 +1129,7 @@ let get_output_dir d =
 (* --- Session dir                                                        --- *)
 (* -------------------------------------------------------------------------- *)
 
-(* TODO: we currently use PWD instead of Sys.getcwd () because OCaml has
-   no function in its stdlib to resolve symbolic links (e.g. realpath)
-   for a given path. 'getcwd' always resolves them, but if the user
-   supplies a path with symbolic links, this may cause issues.
-   Instead of forcing the user to always provide resolved paths, we
-   currently choose to never resolve them.
-   We only resort to getcwd() to avoid issues when PWD does not exist. *)
-let default =
-  (try Sys.getenv "PWD" with Not_found -> Sys.getcwd ()) ^ "/.frama-c"
+let default = Fc_Filepath.pwd () ^ "/.frama-c"
 
 let has_session () =
   Session.is_set () ||
diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle
index b61a66f867893673b1b2dc405b68d0dd3d493381..c5d23a2cbd6870325adf211e6bde1b09c99cfab4 100644
--- a/tests/builtins/oracle/imprecise.res.oracle
+++ b/tests/builtins/oracle/imprecise.res.oracle
@@ -129,10 +129,10 @@
 [eva] Done for function cast_address
 [eva] computing for function garbled_mix_null <- main.
   Called from imprecise.c:148.
-[eva] computing for function gm_f1 <- garbled_mix_null <- main.
-  Called from imprecise.c:75.
 [kernel:annot:missing-spec] imprecise.c:75: Warning: 
   Neither code nor specification for function gm_f1, generating default assigns from the prototype
+[eva] computing for function gm_f1 <- garbled_mix_null <- main.
+  Called from imprecise.c:75.
 [eva] using specification for function gm_f1
 [eva] Done for function gm_f1
 [eva] imprecise.c:76: 
@@ -167,10 +167,10 @@
 [eva:alarm] imprecise.c:77: Warning: 
   accessing left-value that contains escaping addresses.
   assert ¬\dangling(p_gm_null);
-[eva] computing for function gm_f2 <- garbled_mix_null <- main.
-  Called from imprecise.c:77.
 [kernel:annot:missing-spec] imprecise.c:77: Warning: 
   Neither code nor specification for function gm_f2, generating default assigns from the prototype
+[eva] computing for function gm_f2 <- garbled_mix_null <- main.
+  Called from imprecise.c:77.
 [eva] using specification for function gm_f2
 [eva] Done for function gm_f2
 [eva] imprecise.c:78: 
diff --git a/tests/builtins/oracle/watch.res.oracle b/tests/builtins/oracle/watch.res.oracle
index d4614af09571f9432fc8944a259c19c8b41d79f7..d0a7fe337f5359bd6bd41e7536d4d1c6d7489935 100644
--- a/tests/builtins/oracle/watch.res.oracle
+++ b/tests/builtins/oracle/watch.res.oracle
@@ -15,10 +15,10 @@
 [eva] watch.c:10: Call to builtin Frama_C_watch_value
 [eva] watch.c:13: Watchpoint: & c [--..--]
 [eva] watch.c:14: Watchpoint: & c [--..--]
-[eva] computing for function u <- main.
-  Called from watch.c:16.
 [kernel:annot:missing-spec] watch.c:16: Warning: 
   Neither code nor specification for function u, generating default assigns from the prototype
+[eva] computing for function u <- main.
+  Called from watch.c:16.
 [eva] using specification for function u
 [eva] Done for function u
 [eva] watch.c:17: Watchpoint: & c [--..--]
diff --git a/tests/constant_propagation/oracle/fct_ptr.res.oracle b/tests/constant_propagation/oracle/fct_ptr.res.oracle
index 89f9227804b66c8807052a458436b2125ba9e4d8..3b6bf0a4150ceb31f0c6c4089e29839eda1dffd4 100644
--- a/tests/constant_propagation/oracle/fct_ptr.res.oracle
+++ b/tests/constant_propagation/oracle/fct_ptr.res.oracle
@@ -7,10 +7,10 @@
   pf ∈ {0}
 [eva] computing for function g <- main.
   Called from fct_ptr.i:15.
-[eva] computing for function f <- g <- main.
-  Called from fct_ptr.i:8.
 [kernel:annot:missing-spec] fct_ptr.i:8: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- g <- main.
+  Called from fct_ptr.i:8.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for g
diff --git a/tests/fc_script/make-wrapper.c b/tests/fc_script/make-wrapper.c
index cea0c8d5e3d6e0ab46cf2143359bf783552bde51..571dd185ada00e6bfdb91bdbc88d2609a951656e 100644
--- a/tests/fc_script/make-wrapper.c
+++ b/tests/fc_script/make-wrapper.c
@@ -2,8 +2,11 @@
 MACRO: RM_TMP_DIR rm -rf make-for-make-wrapper.parse make-for-make-wrapper.eva
    NOFRAMAC: testing frama-c-script
    COMMENT: in case of errors, remove the 'grep' part to get the full output
-   EXECNOW: LOG make-wrapper.res LOG make-wrapper.err (cd @PTEST_DIR@ && touch %{dep:make-wrapper2.c} && touch %{dep:make-wrapper3.c} && @RM_TMP_DIR@ && FRAMAC=%{bin:frama-c} PTESTS_TESTING=1 %{bin:frama-c-script} make-wrapper --make-dir . -f %{dep:make-for-make-wrapper.mk} | grep -A999999 "make-wrapper recommendations" && @RM_TMP_DIR@) > @PTEST_RESULT@/make-wrapper.res 2> @PTEST_RESULT@/make-wrapper.err
+   PLUGIN: eva,from,inout,metrics,nonterm,report,scope,variadic
+   EXECNOW: LOG make-wrapper.res LOG make-wrapper.err (cd @PTEST_DIR@ && touch %{dep:make-wrapper2.c} && touch %{dep:make-wrapper3.c} && @RM_TMP_DIR@ && FRAMAC='%{bin:frama-c} @PTEST_DEFAULT_OPTIONS@ @PTEST_LOAD_OPTIONS@' PTESTS_TESTING=1 %{bin:frama-c-script} make-wrapper --make-dir . -f %{dep:make-for-make-wrapper.mk} | grep -A999999 "make-wrapper recommendations" && @RM_TMP_DIR@) > @PTEST_RESULT@/make-wrapper.res 2> @PTEST_RESULT@/make-wrapper.err
 */
+
+
 int defined(int a);
 
 int specified(int a);
diff --git a/tests/fc_script/oracle/heuristic_list_functions.res b/tests/fc_script/oracle/heuristic_list_functions.res
index b9cfea105053534f7a392710bc375f1b5bf61e1b..e6e9c83fdb59cc02b45869c5e9bbbe1c015c15c1 100644
--- a/tests/fc_script/oracle/heuristic_list_functions.res
+++ b/tests/fc_script/oracle/heuristic_list_functions.res
@@ -12,12 +12,12 @@ main2.c:6:8: fake_main (definition)
 main2.c:10:12: domain (definition)
 main2.c:14:16: main2 (definition)
 main3.c:6:9: main (definition)
-make-wrapper.c:7:7: defined (declaration)
-make-wrapper.c:9:9: specified (declaration)
-make-wrapper.c:11:11: external (declaration)
-make-wrapper.c:13:15: large_name_to_force_line_break_in_stack_msg (definition)
-make-wrapper.c:17:19: rec (definition)
-make-wrapper.c:21:27: main (definition)
+make-wrapper.c:10:10: defined (declaration)
+make-wrapper.c:12:12: specified (declaration)
+make-wrapper.c:14:14: external (declaration)
+make-wrapper.c:16:18: large_name_to_force_line_break_in_stack_msg (definition)
+make-wrapper.c:20:22: rec (definition)
+make-wrapper.c:24:30: main (definition)
 make-wrapper2.c:5:7: defined (definition)
 make-wrapper2.c:13:13: specified (declaration)
 make-wrapper2.c:16:16: external (declaration)
diff --git a/tests/fc_script/oracle/make-wrapper.res b/tests/fc_script/oracle/make-wrapper.res
index 160d23b9cd9a58a418a134bd6782f5575f8a29f0..a291cdc31ab4cd51a4176787f3cbe67776a4972d 100644
--- a/tests/fc_script/oracle/make-wrapper.res
+++ b/tests/fc_script/oracle/make-wrapper.res
@@ -3,9 +3,9 @@
 *** recommendation #1 ***
 
 1. Found recursive call at:
-   stack: large_name_to_force_line_break_in_stack_msg :: make-wrapper.c:14 <-
-          large_name_to_force_line_break_in_stack_msg :: make-wrapper.c:18 <-
-          rec :: make-wrapper.c:23 <-
+   stack: large_name_to_force_line_break_in_stack_msg :: make-wrapper.c:17 <-
+          large_name_to_force_line_break_in_stack_msg :: make-wrapper.c:21 <-
+          rec :: make-wrapper.c:26 <-
           main
 
 Consider patching, stubbing or adding an ACSL specification to the recursive call, then re-run the analysis.
diff --git a/tests/float/oracle/alarms.0.res.oracle b/tests/float/oracle/alarms.0.res.oracle
index 56452818c480a652a5846f033d785d4c754fe0da..8e964fd6c677d12e8068ca89de3c960044b80c11 100644
--- a/tests/float/oracle/alarms.0.res.oracle
+++ b/tests/float/oracle/alarms.0.res.oracle
@@ -32,10 +32,10 @@
   tmp ∈ UNINITIALIZED
   l ∈ [--..--]
   ==END OF DUMP==
-[eva] computing for function fd <- main1 <- main.
-  Called from alarms.i:21.
 [kernel:annot:missing-spec] alarms.i:21: Warning: 
   Neither code nor specification for function fd, generating default assigns from the prototype
+[eva] computing for function fd <- main1 <- main.
+  Called from alarms.i:21.
 [eva] using specification for function fd
 [eva] Done for function fd
 [eva:alarm] alarms.i:21: Warning: 
diff --git a/tests/float/oracle/alarms.1.res.oracle b/tests/float/oracle/alarms.1.res.oracle
index e6c9a72e274d561e744c9b83cf14d450cac99886..95735134c42367149c53c4ba8502e4cc652e78e4 100644
--- a/tests/float/oracle/alarms.1.res.oracle
+++ b/tests/float/oracle/alarms.1.res.oracle
@@ -29,10 +29,10 @@
   tmp ∈ UNINITIALIZED
   l ∈ [--..--]
   ==END OF DUMP==
-[eva] computing for function fd <- main1 <- main.
-  Called from alarms.i:21.
 [kernel:annot:missing-spec] alarms.i:21: Warning: 
   Neither code nor specification for function fd, generating default assigns from the prototype
+[eva] computing for function fd <- main1 <- main.
+  Called from alarms.i:21.
 [eva] using specification for function fd
 [eva] Done for function fd
 [eva:alarm] alarms.i:21: Warning: 
diff --git a/tests/float/oracle/alarms.2.res.oracle b/tests/float/oracle/alarms.2.res.oracle
index 41b7b1439a87c1d8fe89d3e63226cc6a3a8c321e..6c47a9b44c57b387e173f5f380b9e47c2e794498 100644
--- a/tests/float/oracle/alarms.2.res.oracle
+++ b/tests/float/oracle/alarms.2.res.oracle
@@ -26,10 +26,10 @@
   tmp ∈ UNINITIALIZED
   l ∈ [--..--]
   ==END OF DUMP==
-[eva] computing for function fd <- main1 <- main.
-  Called from alarms.i:21.
 [kernel:annot:missing-spec] alarms.i:21: Warning: 
   Neither code nor specification for function fd, generating default assigns from the prototype
+[eva] computing for function fd <- main1 <- main.
+  Called from alarms.i:21.
 [eva] using specification for function fd
 [eva] Done for function fd
 [eva] computing for function fd <- main1 <- main.
diff --git a/tests/float/oracle/contract_special_float.1.res.oracle b/tests/float/oracle/contract_special_float.1.res.oracle
index fe8edb1fd33ab883cdfdee3b00b9c7ecfe98c5f0..86c08416bbdaff949193ab85ef743721a2d09340 100644
--- a/tests/float/oracle/contract_special_float.1.res.oracle
+++ b/tests/float/oracle/contract_special_float.1.res.oracle
@@ -16,10 +16,10 @@
 [eva] Done for function fun
 [eva:alarm] contract_special_float.c:93: Warning: 
   NaN double value. assert ¬\is_NaN(v);
-[eva] computing for function fun_no_default <- main.
-  Called from contract_special_float.c:94.
 [kernel] contract_special_float.c:94: Warning: 
   No code nor explicit assigns clause for function fun_no_default, generating default assigns from the specification
+[eva] computing for function fun_no_default <- main.
+  Called from contract_special_float.c:94.
 [eva] using specification for function fun_no_default
 [eva:alarm] contract_special_float.c:94: Warning: 
   function fun_no_default: precondition 'not_negative' got status unknown.
diff --git a/tests/float/oracle/contract_special_float.2.res.oracle b/tests/float/oracle/contract_special_float.2.res.oracle
index 3224017364e22a08d51e47a88d6a0cd9417437b8..daefc3e0500b277b95d58763b0a48636faf4978f 100644
--- a/tests/float/oracle/contract_special_float.2.res.oracle
+++ b/tests/float/oracle/contract_special_float.2.res.oracle
@@ -8,10 +8,10 @@
   Called from contract_special_float.c:92.
 [eva] using specification for function fun
 [eva] Done for function fun
-[eva] computing for function fun_no_default <- main.
-  Called from contract_special_float.c:94.
 [kernel] contract_special_float.c:94: Warning: 
   No code nor explicit assigns clause for function fun_no_default, generating default assigns from the specification
+[eva] computing for function fun_no_default <- main.
+  Called from contract_special_float.c:94.
 [eva] using specification for function fun_no_default
 [eva] Done for function fun_no_default
 [eva] computing for function fun_no_disjoint <- main.
diff --git a/tests/float/oracle/s.res.oracle b/tests/float/oracle/s.res.oracle
index 6efaa5f37230b6b9441b3ac90e4f12c471c609ce..4981289b342551b63ac74d396431c9e71950ca1d 100644
--- a/tests/float/oracle/s.res.oracle
+++ b/tests/float/oracle/s.res.oracle
@@ -244,18 +244,18 @@
   G19 ∈ {0}
 [eva] computing for function F4 <- main.
   Called from s.i:260.
-[eva] computing for function F1 <- F4 <- main.
-  Called from s.i:230.
 [kernel:annot:missing-spec] s.i:230: Warning: 
   Neither code nor specification for function F1, generating default assigns from the prototype
+[eva] computing for function F1 <- F4 <- main.
+  Called from s.i:230.
 [eva] using specification for function F1
 [eva] Done for function F1
 [eva:alarm] s.i:231: Warning: accessing out of bounds index. assert 0 ≤ V4;
 [eva:alarm] s.i:231: Warning: accessing out of bounds index. assert V4 < 64;
-[eva] computing for function F2 <- F4 <- main.
-  Called from s.i:233.
 [kernel:annot:missing-spec] s.i:233: Warning: 
   Neither code nor specification for function F2, generating default assigns from the prototype
+[eva] computing for function F2 <- F4 <- main.
+  Called from s.i:233.
 [eva] using specification for function F2
 [eva] Done for function F2
 [eva:alarm] s.i:238: Warning: accessing out of bounds index. assert 0 ≤ V5;
@@ -265,10 +265,10 @@
 [eva] Done for function F2
 [eva:alarm] s.i:242: Warning: accessing out of bounds index. assert 0 ≤ V6;
 [eva:alarm] s.i:242: Warning: accessing out of bounds index. assert V6 < 64;
-[eva] computing for function F3 <- F4 <- main.
-  Called from s.i:244.
 [kernel:annot:missing-spec] s.i:244: Warning: 
   Neither code nor specification for function F3, generating default assigns from the prototype
+[eva] computing for function F3 <- F4 <- main.
+  Called from s.i:244.
 [eva] using specification for function F3
 [eva] Done for function F3
 [eva:alarm] s.i:245: Warning: accessing out of bounds index. assert 0 ≤ V7;
diff --git a/tests/impact/oracle/call.0.res.oracle b/tests/impact/oracle/call.0.res.oracle
index 20364db19a0bcb57304643cffb859085f6d40fef..10834db797c6b9fd61331ed083dfe5cd8bcd6edd 100644
--- a/tests/impact/oracle/call.0.res.oracle
+++ b/tests/impact/oracle/call.0.res.oracle
@@ -12,10 +12,10 @@
   Called from call.i:16.
 [eva] using specification for function p1
 [eva] Done for function p1
-[eva] computing for function p2 <- test <- main.
-  Called from call.i:16.
 [kernel:annot:missing-spec] call.i:16: Warning: 
   Neither code nor specification for function p2, generating default assigns from the prototype
+[eva] computing for function p2 <- test <- main.
+  Called from call.i:16.
 [eva] using specification for function p2
 [eva] Done for function p2
 [eva] Recording results for test
diff --git a/tests/impact/oracle/call.1.res.oracle b/tests/impact/oracle/call.1.res.oracle
index 9f1a28300c66fcac0559aa738d890905eb7ca679..7388b39fa5c93ed2feb78abc754f6311667da8f7 100644
--- a/tests/impact/oracle/call.1.res.oracle
+++ b/tests/impact/oracle/call.1.res.oracle
@@ -14,10 +14,10 @@
   Called from call.i:16.
 [eva] using specification for function p1
 [eva] Done for function p1
-[eva] computing for function p2 <- test <- call_test <- main2.
-  Called from call.i:16.
 [kernel:annot:missing-spec] call.i:16: Warning: 
   Neither code nor specification for function p2, generating default assigns from the prototype
+[eva] computing for function p2 <- test <- call_test <- main2.
+  Called from call.i:16.
 [eva] using specification for function p2
 [eva] Done for function p2
 [eva] Recording results for test
diff --git a/tests/impact/oracle/call.2.res.oracle b/tests/impact/oracle/call.2.res.oracle
index 517e087479b9f93b1cecb56c69aec47611bc556c..8f91333b85850fc0097eda8efa92321f9859d39a 100644
--- a/tests/impact/oracle/call.2.res.oracle
+++ b/tests/impact/oracle/call.2.res.oracle
@@ -15,10 +15,10 @@
 [eva] using specification for function p3
 [eva] call.i:41: Warning: no \from part for clause 'assigns G;'
 [eva] Done for function p3
-[eva] computing for function p2 <- test3 <- call_test3 <- main3.
-  Called from call.i:45.
 [kernel:annot:missing-spec] call.i:45: Warning: 
   Neither code nor specification for function p2, generating default assigns from the prototype
+[eva] computing for function p2 <- test3 <- call_test3 <- main3.
+  Called from call.i:45.
 [eva] using specification for function p2
 [eva] Done for function p2
 [eva] Recording results for test3
diff --git a/tests/impact/oracle/undef_function.res.oracle b/tests/impact/oracle/undef_function.res.oracle
index a62609de5f28d0975a112d12effa7d1eb17a31e8..59f4b23f32d44712c698d013533a2cc08693aef3 100644
--- a/tests/impact/oracle/undef_function.res.oracle
+++ b/tests/impact/oracle/undef_function.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   y ∈ {0}
-[eva] computing for function g <- main.
-  Called from undef_function.i:10.
 [kernel:annot:missing-spec] undef_function.i:10: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from undef_function.i:10.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for main
diff --git a/tests/impact/oracle/variadic.res.oracle b/tests/impact/oracle/variadic.res.oracle
index e36dee6c9a0c0ad3ed90ce5f401da521949b7d6a..b2c68043834b6fd0229f28e39869ed0c22cd78a8 100644
--- a/tests/impact/oracle/variadic.res.oracle
+++ b/tests/impact/oracle/variadic.res.oracle
@@ -6,10 +6,10 @@
 [eva:initial-state] Values of globals at initialization
   y ∈ {0}
   z ∈ {0}
-[eva] computing for function f <- main.
-  Called from variadic.i:12.
 [kernel:annot:missing-spec] variadic.i:12: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from variadic.i:12.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/journal/oracle/intra.res.oracle b/tests/journal/oracle/intra.res.oracle
index 1cd1571223722dac18125880403465facf99258e..052f7084beaf919d15fdb51263abd24d850c2459 100644
--- a/tests/journal/oracle/intra.res.oracle
+++ b/tests/journal/oracle/intra.res.oracle
@@ -48,10 +48,10 @@
   Called from intra.i:89.
 [eva] Recording results for assign
 [eva] Done for function assign
-[eva] computing for function stop <- main.
-  Called from intra.i:92.
 [kernel:annot:missing-spec] intra.i:92: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- main.
+  Called from intra.i:92.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for main
diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle
index 6ba53d2036b480268f8f925ee06e00879500715d..eb9d4cd87ec5c6171e6fb573668971226b2196c1 100644
--- a/tests/libc/oracle/fc_libc.1.res.oracle
+++ b/tests/libc/oracle/fc_libc.1.res.oracle
@@ -3222,17 +3222,42 @@ extern int pipe(int pipefd[2]);
 
 /*@ 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);
+    
+    behavior full_read:
+      assumes
+        nondet_small_count:
+          Frama_C_entropy_source ≢ 0 ∧ count ≤ 2147483647;
+      ensures res_full: \result ≡ \old(count);
+      ensures
+        res_init: initialization:
+          \initialized((char *)\old(buf) + (0 .. \old(count) - 1));
+    
+    behavior large_read_implementation_defined:
+      assumes
+        nondet_large_count:
+          Frama_C_entropy_source ≢ 0 ∧ count > 2147483647;
+      ensures
+        res_init: initialization:
+          \initialized((char *)\old(buf) + (0 .. \old(count) - 1));
+    
+    behavior partial_or_error:
+      assumes nondet: Frama_C_entropy_source ≡ 0;
+      ensures result_error_or_read_length: -1 ≤ \result < \old(count);
+      ensures
+        initialization: buf:
+          \initialized((char *)\old(buf) + (0 .. \result - 1));
+    
+    complete behaviors partial_or_error,
+                       large_read_implementation_defined,
+                       full_read;
+    disjoint behaviors partial_or_error,
+                       large_read_implementation_defined,
+                       full_read;
  */
 extern ssize_t read(int fd, void *buf, size_t count);
 
diff --git a/tests/libc/oracle/search_h.res.oracle b/tests/libc/oracle/search_h.res.oracle
index 4c13bafba7279dc080a6ef0ddf38420223081c44..d4e3751938630cc926bf1afeda75acff53d06fa0 100644
--- a/tests/libc/oracle/search_h.res.oracle
+++ b/tests/libc/oracle/search_h.res.oracle
@@ -35,10 +35,10 @@
 [eva] Done for function strcpy
 [eva:alarm] search_h.c:32: Warning: 
   out of bounds write. assert \valid(&elementptr->count);
-[eva] computing for function tsearch <- main.
-  Called from search_h.c:34.
 [kernel:annot:missing-spec] search_h.c:34: Warning: 
   Neither code nor specification for function tsearch, generating default assigns from the prototype
+[eva] computing for function tsearch <- main.
+  Called from search_h.c:34.
 [eva] using specification for function tsearch
 [eva:invalid-assigns] search_h.c:34: 
   Completely invalid destination for assigns clause *compar. Ignoring.
@@ -54,10 +54,10 @@
 [eva] Done for function exit
 [eva:alarm] search_h.c:40: Warning: 
   out of bounds read. assert \valid_read((struct element **)node);
-[eva] computing for function twalk <- main.
-  Called from search_h.c:46.
 [kernel:annot:missing-spec] search_h.c:46: Warning: 
   Neither code nor specification for function twalk, generating default assigns from the prototype
+[eva] computing for function twalk <- main.
+  Called from search_h.c:46.
 [eva] using specification for function twalk
 [eva:invalid-assigns] search_h.c:46: 
   Completely invalid destination for assigns clause *action. Ignoring.
diff --git a/tests/libc/oracle/socket.0.res.oracle b/tests/libc/oracle/socket.0.res.oracle
index 4acfb213c4bf47fc7efa2270fb213a80678388ba..99635468b5f16ccf760bd70d5fed0ea3c85f3cd9 100644
--- a/tests/libc/oracle/socket.0.res.oracle
+++ b/tests/libc/oracle/socket.0.res.oracle
@@ -50,6 +50,8 @@
 [eva] using specification for function read
 [eva] socket.c:61: function read: precondition 'valid_fd' got status valid.
 [eva] socket.c:61: function read: precondition 'buf_has_room' got status valid.
+[eva] socket.c:61: 
+  function read, behavior large_read_implementation_defined: assumes got status invalid; behavior not evaluated.
 [eva] Done for function read
 [eva] computing for function printf_va_1 <- test_read <- main.
   Called from socket.c:62.
@@ -173,6 +175,8 @@
   Called from socket.c:115.
 [eva] socket.c:115: function read: precondition 'valid_fd' got status valid.
 [eva] socket.c:115: function read: precondition 'buf_has_room' got status valid.
+[eva] socket.c:115: 
+  function read, behavior large_read_implementation_defined: assumes got status invalid; behavior not evaluated.
 [eva] Done for function read
 [eva] computing for function write <- test_server_echo <- main.
   Called from socket.c:117.
diff --git a/tests/libc/oracle/socket.1.res.oracle b/tests/libc/oracle/socket.1.res.oracle
index 0b2bd9c09e3acafc53c4fcdc3283110c241bc1c4..8f908c607936382b0b3797665fb94079fd895b78 100644
--- a/tests/libc/oracle/socket.1.res.oracle
+++ b/tests/libc/oracle/socket.1.res.oracle
@@ -50,6 +50,8 @@
 [eva] using specification for function read
 [eva] socket.c:61: function read: precondition 'valid_fd' got status valid.
 [eva] socket.c:61: function read: precondition 'buf_has_room' got status valid.
+[eva] socket.c:61: 
+  function read, behavior large_read_implementation_defined: assumes got status invalid; behavior not evaluated.
 [eva] Done for function read
 [eva] computing for function printf_va_1 <- test_read <- main.
   Called from socket.c:62.
@@ -173,6 +175,8 @@
   Called from socket.c:115.
 [eva] socket.c:115: function read: precondition 'valid_fd' got status valid.
 [eva] socket.c:115: function read: precondition 'buf_has_room' got status valid.
+[eva] socket.c:115: 
+  function read, behavior large_read_implementation_defined: assumes got status invalid; behavior not evaluated.
 [eva] Done for function read
 [eva] computing for function write <- test_server_echo <- main.
   Called from socket.c:117.
diff --git a/tests/libc/oracle/spawn_h.res.oracle b/tests/libc/oracle/spawn_h.res.oracle
index b687f61add5134e4d083b5ebae573336f0840311..2f4e8e1010d683fc6d97ab5a26862ec2f9459ca8 100644
--- a/tests/libc/oracle/spawn_h.res.oracle
+++ b/tests/libc/oracle/spawn_h.res.oracle
@@ -11,10 +11,10 @@
 [eva] spawn_h.c:36: 
   Assigning imprecise value to opt.
   The imprecision originates from Library function {spawn_h.c:36}
-[eva] computing for function posix_spawn_file_actions_init <- main.
-  Called from spawn_h.c:43.
 [kernel:annot:missing-spec] spawn_h.c:43: Warning: 
   Neither code nor specification for function posix_spawn_file_actions_init, generating default assigns from the prototype
+[eva] computing for function posix_spawn_file_actions_init <- main.
+  Called from spawn_h.c:43.
 [eva] using specification for function posix_spawn_file_actions_init
 [eva] Done for function posix_spawn_file_actions_init
 [eva] computing for function perror <- main.
@@ -27,10 +27,10 @@
   Called from spawn_h.c:45.
 [eva] using specification for function exit
 [eva] Done for function exit
-[eva] computing for function posix_spawn_file_actions_addclose <- main.
-  Called from spawn_h.c:47.
 [kernel:annot:missing-spec] spawn_h.c:47: Warning: 
   Neither code nor specification for function posix_spawn_file_actions_addclose, generating default assigns from the prototype
+[eva] computing for function posix_spawn_file_actions_addclose <- main.
+  Called from spawn_h.c:47.
 [eva] using specification for function posix_spawn_file_actions_addclose
 [eva] Done for function posix_spawn_file_actions_addclose
 [eva] computing for function perror <- main.
@@ -41,10 +41,10 @@
 [eva] computing for function exit <- main.
   Called from spawn_h.c:50.
 [eva] Done for function exit
-[eva] computing for function posix_spawnattr_init <- main.
-  Called from spawn_h.c:60.
 [kernel:annot:missing-spec] spawn_h.c:60: Warning: 
   Neither code nor specification for function posix_spawnattr_init, generating default assigns from the prototype
+[eva] computing for function posix_spawnattr_init <- main.
+  Called from spawn_h.c:60.
 [eva] using specification for function posix_spawnattr_init
 [eva] Done for function posix_spawnattr_init
 [eva] computing for function perror <- main.
@@ -55,10 +55,10 @@
 [eva] computing for function exit <- main.
   Called from spawn_h.c:62.
 [eva] Done for function exit
-[eva] computing for function posix_spawnattr_setflags <- main.
-  Called from spawn_h.c:63.
 [kernel:annot:missing-spec] spawn_h.c:63: Warning: 
   Neither code nor specification for function posix_spawnattr_setflags, generating default assigns from the prototype
+[eva] computing for function posix_spawnattr_setflags <- main.
+  Called from spawn_h.c:63.
 [eva] using specification for function posix_spawnattr_setflags
 [eva] Done for function posix_spawnattr_setflags
 [eva] computing for function perror <- main.
@@ -75,10 +75,10 @@
 [eva] spawn_h.c:67: 
   function sigfillset: precondition 'valid_set' got status valid.
 [eva] Done for function sigfillset
-[eva] computing for function posix_spawnattr_setsigmask <- main.
-  Called from spawn_h.c:68.
 [kernel:annot:missing-spec] spawn_h.c:68: Warning: 
   Neither code nor specification for function posix_spawnattr_setsigmask, generating default assigns from the prototype
+[eva] computing for function posix_spawnattr_setsigmask <- main.
+  Called from spawn_h.c:68.
 [eva] using specification for function posix_spawnattr_setsigmask
 [eva] Done for function posix_spawnattr_setsigmask
 [eva] computing for function perror <- main.
@@ -143,10 +143,10 @@
 [eva] Done for function exit
 [eva:alarm] spawn_h.c:82: Warning: 
   out of bounds read. assert \valid_read(argv + optind);
-[eva] computing for function posix_spawnp <- main.
-  Called from spawn_h.c:82.
 [kernel:annot:missing-spec] spawn_h.c:82: Warning: 
   Neither code nor specification for function posix_spawnp, generating default assigns from the prototype
+[eva] computing for function posix_spawnp <- main.
+  Called from spawn_h.c:82.
 [eva] using specification for function posix_spawnp
 [eva] Done for function posix_spawnp
 [eva] computing for function perror <- main.
@@ -157,10 +157,10 @@
 [eva] computing for function exit <- main.
   Called from spawn_h.c:85.
 [eva] Done for function exit
-[eva] computing for function posix_spawnattr_destroy <- main.
-  Called from spawn_h.c:90.
 [kernel:annot:missing-spec] spawn_h.c:90: Warning: 
   Neither code nor specification for function posix_spawnattr_destroy, generating default assigns from the prototype
+[eva] computing for function posix_spawnattr_destroy <- main.
+  Called from spawn_h.c:90.
 [eva] using specification for function posix_spawnattr_destroy
 [eva] Done for function posix_spawnattr_destroy
 [eva] computing for function perror <- main.
@@ -171,10 +171,10 @@
 [eva] computing for function exit <- main.
   Called from spawn_h.c:92.
 [eva] Done for function exit
-[eva] computing for function posix_spawn_file_actions_destroy <- main.
-  Called from spawn_h.c:96.
 [kernel:annot:missing-spec] spawn_h.c:96: Warning: 
   Neither code nor specification for function posix_spawn_file_actions_destroy, generating default assigns from the prototype
+[eva] computing for function posix_spawn_file_actions_destroy <- main.
+  Called from spawn_h.c:96.
 [eva] using specification for function posix_spawn_file_actions_destroy
 [eva] Done for function posix_spawn_file_actions_destroy
 [eva] computing for function perror <- main.
diff --git a/tests/libc/oracle/unistd_h.0.res.oracle b/tests/libc/oracle/unistd_h.0.res.oracle
index 2c6070858f6f0ab0c1849eab3272d2ddba7fc3be..69911d84a7244a5f0a797b6dfe46824a5ca3c93b 100644
--- a/tests/libc/oracle/unistd_h.0.res.oracle
+++ b/tests/libc/oracle/unistd_h.0.res.oracle
@@ -11,6 +11,7 @@
   \return(isatty) == 0 (auto)
   \return(lseek) == -1 (auto)
   \return(pipe) == 0 (auto)
+  \return(read) == -1, 32 (auto)
   \return(setegid) == 0 (auto)
   \return(seteuid) == 0 (auto)
   \return(setgid) == 0 (auto)
@@ -564,6 +565,53 @@
   Called from unistd_h.c:107.
 [eva] Done for function sleep
 [eva] unistd_h.c:108: assertion got status valid.
+[eva] computing for function read <- main.
+  Called from unistd_h.c:111.
+[eva] using specification for function read
+[eva] unistd_h.c:111: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:111: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:111.
+[eva] Done for function read
+[eva] unistd_h.c:113: assertion got status valid.
+[eva] computing for function read <- main.
+  Called from unistd_h.c:117.
+[eva] unistd_h.c:117: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:117: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:117.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] unistd_h.c:118: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:118: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -591,4 +639,6 @@
   halfpipe ∈ UNINITIALIZED
   pipefd[0..1] ∈ [0..1023] or UNINITIALIZED
   unslept ∈ [0..42]
+  buf[0..4294967294] ∈ [--..--] or UNINITIALIZED
+  rread ∈ [--..--]
   __retres ∈ {0; 1}
diff --git a/tests/libc/oracle/unistd_h.1.res.oracle b/tests/libc/oracle/unistd_h.1.res.oracle
index 31219df8042f56171d9fabbbe9c30c8662d4ab4b..85607de98dd75b610ec922e97d6186922ef614cc 100644
--- a/tests/libc/oracle/unistd_h.1.res.oracle
+++ b/tests/libc/oracle/unistd_h.1.res.oracle
@@ -11,6 +11,7 @@
   \return(isatty) == 0 (auto)
   \return(lseek) == -1 (auto)
   \return(pipe) == 0 (auto)
+  \return(read) == -1, 32 (auto)
   \return(setegid) == 0 (auto)
   \return(seteuid) == 0 (auto)
   \return(setgid) == 0 (auto)
@@ -564,6 +565,53 @@
   Called from unistd_h.c:107.
 [eva] Done for function sleep
 [eva] unistd_h.c:108: assertion got status valid.
+[eva] computing for function read <- main.
+  Called from unistd_h.c:111.
+[eva] using specification for function read
+[eva] unistd_h.c:111: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:111: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:111.
+[eva] Done for function read
+[eva] unistd_h.c:113: assertion got status valid.
+[eva] computing for function read <- main.
+  Called from unistd_h.c:117.
+[eva] unistd_h.c:117: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:117: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:117.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] unistd_h.c:118: function read: precondition 'valid_fd' got status valid.
+[eva] unistd_h.c:118: 
+  function read: precondition 'buf_has_room' got status valid.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
+[eva] computing for function read <- main.
+  Called from unistd_h.c:118.
+[eva] Done for function read
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -591,4 +639,6 @@
   halfpipe ∈ UNINITIALIZED
   pipefd[0..1] ∈ [0..1023] or UNINITIALIZED
   unslept ∈ [0..42]
+  buf[0..4294967294] ∈ [--..--] or UNINITIALIZED
+  rread ∈ [--..--]
   __retres ∈ {0; 1}
diff --git a/tests/libc/unistd_h.c b/tests/libc/unistd_h.c
index 5bb417437e2cf0245e3cc735ab6b8f0b288cef99..a8b8dbba169df6fe6632a2f50137619af62162b1 100644
--- a/tests/libc/unistd_h.c
+++ b/tests/libc/unistd_h.c
@@ -1,11 +1,11 @@
 /*run.config
-  STDOPT: #"-eva-slevel 12" #"-eva-split-return auto"
-  STDOPT: #"-variadic-no-translation" #"-eva-slevel 12" #"-eva-split-return auto"
+  STDOPT: #"-machdep x86_32 -eva-slevel 12" #"-eva-split-return auto"
+  STDOPT: #"-machdep x86_32 -variadic-no-translation" #"-eva-slevel 12" #"-eva-split-return auto"
 */
 #define _GNU_SOURCE
 #define _XOPEN_SOURCE 600
 #include <unistd.h>
-
+#include <stdint.h>
 volatile int nondet;
 
 int main() {
@@ -107,5 +107,15 @@ int main() {
   int unslept = sleep(42);
   //@ assert 0 <= unslept <= 42;
 
+  char buf[SIZE_MAX];
+  ssize_t rread = read(fd, buf, 32);
+  if (rread == 32) {
+    //@ assert \initialized(buf+(0..31));
+  }
+  if (rread == -1)
+  // In x86-32, SSIZE_MAX < SIZE_MAX, so we check for issues
+  rread = read(fd, buf, SSIZE_MAX);
+  rread = read(fd, buf, SIZE_MAX);
+
   return 0;
 }
diff --git a/tests/misc/oracle/audit-out.json b/tests/misc/oracle/audit-out.json
index 346565cf549acdf98e4eec25060052a867e100ba..a8b104f9be78dc2ab732dd1655dcd1da30bfa25c 100644
--- a/tests/misc/oracle/audit-out.json
+++ b/tests/misc/oracle/audit-out.json
@@ -38,9 +38,9 @@
     "warning-categories": {
       "enabled": [
         "*", "alarm", "builtins", "builtins:missing-spec",
-        "builtins:override", "experimental", "libc", "libc:unsupported-spec",
-        "locals-escaping", "loop-unroll", "malloc", "malloc:imprecise",
-        "signed-overflow", "taint", "unknown-size"
+        "builtins:override", "ensures-false", "experimental", "libc",
+        "libc:unsupported-spec", "locals-escaping", "loop-unroll", "malloc",
+        "malloc:imprecise", "signed-overflow", "taint", "unknown-size"
       ],
       "disabled": [
         "garbled-mix", "invalid-assigns", "loop-unroll:auto",
diff --git a/tests/pdg/oracle/bts1194.res.oracle b/tests/pdg/oracle/bts1194.res.oracle
index 145aeb752d3a920752391a5eaaa261f9a2e3e284..1af129e7a33f4659fae790fd9894b9c1db5be0d0 100644
--- a/tests/pdg/oracle/bts1194.res.oracle
+++ b/tests/pdg/oracle/bts1194.res.oracle
@@ -213,10 +213,10 @@
   Y ∈ {0}
 [eva] computing for function f_slice_1 <- main.
   Called from bts1194.c:32.
-[eva] computing for function input <- f_slice_1 <- main.
-  Called from bts1194.c:13.
 [kernel:annot:missing-spec] bts1194.c:13: Warning: 
   Neither code nor specification for function input, generating default assigns from the prototype
+[eva] computing for function input <- f_slice_1 <- main.
+  Called from bts1194.c:13.
 [eva] using specification for function input
 [eva] Done for function input
 [eva:alarm] bts1194.c:17: Warning: assertion got status unknown.
diff --git a/tests/pdg/oracle/no_body.res.oracle b/tests/pdg/oracle/no_body.res.oracle
index cbceb964eb12fbaa49587302d2283bfe7f6e3654..f65d81c52ff573d8b4deff6e9968abe6004ea706 100644
--- a/tests/pdg/oracle/no_body.res.oracle
+++ b/tests/pdg/oracle/no_body.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   G ∈ {0}
-[eva] computing for function f <- main.
-  Called from no_body.c:24.
 [kernel:annot:missing-spec] no_body.c:24: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from no_body.c:24.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function loop <- main.
diff --git a/tests/pdg/oracle/pb_infinite_loop.2.res.oracle b/tests/pdg/oracle/pb_infinite_loop.2.res.oracle
index 630316bb7ff028f2aa704681ff10def50844de5a..70e67333d4cf25a264fb22ebbd70e1ac5c76a12e 100644
--- a/tests/pdg/oracle/pb_infinite_loop.2.res.oracle
+++ b/tests/pdg/oracle/pb_infinite_loop.2.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   G ∈ [--..--]
-[eva] computing for function exit <- test_exit.
-  Called from pb_infinite_loop.c:48.
 [kernel:annot:missing-spec] pb_infinite_loop.c:48: Warning: 
   Neither code nor specification for function exit, generating default assigns from the prototype
+[eva] computing for function exit <- test_exit.
+  Called from pb_infinite_loop.c:48.
 [eva] using specification for function exit
 [eva] Done for function exit
 [eva] Recording results for test_exit
diff --git a/tests/pdg/oracle/top_pdg_input.res.oracle b/tests/pdg/oracle/top_pdg_input.res.oracle
index 4560b0573061290b9ec67795f6988d164a980fc6..165188ac12681c9aa1eb12dc47eef6fc7855215e 100644
--- a/tests/pdg/oracle/top_pdg_input.res.oracle
+++ b/tests/pdg/oracle/top_pdg_input.res.oracle
@@ -271,10 +271,6 @@ Cannot filter: dumping raw memory (including unchanged variables)
     j; tmp
 [inout] Inputs for function main_asm:
     \nothing
-[inout] Out (internal) for function no_results:
-    __retres
-[inout] Inputs for function no_results:
-    \nothing
 [pdg] computing for function fun_asm
 [pdg] top_pdg_input.c:45: Warning: Ignoring inline assembly code
 [pdg] done for function fun_asm
diff --git a/tests/pdg/oracle/variadic.res.oracle b/tests/pdg/oracle/variadic.res.oracle
index 4557ce0ab0dd6b19ee856acfaf566f2d8344cab4..2ff0dc65eba330eaff972dff1d8bfb863dad12df 100644
--- a/tests/pdg/oracle/variadic.res.oracle
+++ b/tests/pdg/oracle/variadic.res.oracle
@@ -6,10 +6,10 @@
   
 [eva] computing for function f1 <- main.
   Called from variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from variadic.c:23.
 [kernel:annot:missing-spec] variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/scope/oracle/bts383.res.oracle b/tests/scope/oracle/bts383.res.oracle
index 28b7158a7c81c8e3cfcb75761b2623a177c214a5..5800bac5891a9bec7ec03be35240d922082f7cca 100644
--- a/tests/scope/oracle/bts383.res.oracle
+++ b/tests/scope/oracle/bts383.res.oracle
@@ -38,10 +38,10 @@
   Called from bts383.c:62.
 [eva:alarm] bts383.c:35: Warning: out of bounds read. assert \valid_read(value);
 [eva:alarm] bts383.c:36: Warning: out of bounds read. assert \valid_read(value);
-[eva] computing for function out_char <- out_string <- main.
-  Called from bts383.c:36.
 [kernel:annot:missing-spec] bts383.c:36: Warning: 
   Neither code nor specification for function out_char, generating default assigns from the prototype
+[eva] computing for function out_char <- out_string <- main.
+  Called from bts383.c:36.
 [eva] using specification for function out_char
 [eva] Done for function out_char
 [eva] bts383.c:35: starting to merge loop iterations
diff --git a/tests/slicing/oracle/bts1768.res.oracle b/tests/slicing/oracle/bts1768.res.oracle
index 3a40e1f72cfdd0497f04c3a4a40fd43a0047bc6c..b9ebf7ff3bdbeb98fb1c7e6b59e1ba898e36792f 100644
--- a/tests/slicing/oracle/bts1768.res.oracle
+++ b/tests/slicing/oracle/bts1768.res.oracle
@@ -10,10 +10,10 @@
   step ∈ {0}
 [eva] computing for function lecture <- main.
   Called from bts1768.i:45.
-[eva] computing for function choisir <- lecture <- main.
-  Called from bts1768.i:18.
 [kernel] bts1768.i:18: Warning: 
   No code nor implicit assigns clause for function choisir, generating default assigns from the prototype
+[eva] computing for function choisir <- lecture <- main.
+  Called from bts1768.i:18.
 [eva] using specification for function choisir
 [eva] Done for function choisir
 [eva] Recording results for lecture
diff --git a/tests/slicing/oracle/bts709.res.oracle b/tests/slicing/oracle/bts709.res.oracle
index eeb349a839c18ef29ec2b3fce4e7dca38cc12998..8230e738d1b9a9e282706d7e5e2bde3e68d37a03 100644
--- a/tests/slicing/oracle/bts709.res.oracle
+++ b/tests/slicing/oracle/bts709.res.oracle
@@ -9,10 +9,10 @@
   var2 IN {0}
 [eva] computing for function inputsOf_testcase_func <- main.
   Called from bts709.c:47.
-[eva] computing for function nondet_int <- inputsOf_testcase_func <- main.
-  Called from bts709.c:55.
 [kernel:annot:missing-spec] bts709.c:55: Warning: 
   Neither code nor specification for function nondet_int, generating default assigns from the prototype
+[eva] computing for function nondet_int <- inputsOf_testcase_func <- main.
+  Called from bts709.c:55.
 [eva] using specification for function nondet_int
 [eva] Done for function nondet_int
 [eva] computing for function nondet_int <- inputsOf_testcase_func <- main.
diff --git a/tests/slicing/oracle/combine.res.oracle b/tests/slicing/oracle/combine.res.oracle
index a9894ef7c846fce6d6a1069847511b0912c64183..59b371fa22936b89432dee3c3dd180b20291895f 100644
--- a/tests/slicing/oracle/combine.res.oracle
+++ b/tests/slicing/oracle/combine.res.oracle
@@ -121,10 +121,10 @@ int main(int x)
   
 [eva] computing for function f <- main.
   Called from combine.i:24.
-[eva] computing for function g <- f <- main.
-  Called from combine.i:17.
 [kernel:annot:missing-spec] combine.i:17: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- f <- main.
+  Called from combine.i:17.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/filter.res.oracle b/tests/slicing/oracle/filter.res.oracle
index 3d965436dc7a3a1ee3df68d55401c0c142a4c6b3..f4a04eb5b5eb35e339107a6837a5007ba5c4a40e 100644
--- a/tests/slicing/oracle/filter.res.oracle
+++ b/tests/slicing/oracle/filter.res.oracle
@@ -11,10 +11,10 @@
 [eva] Done for function bts806
 [eva] computing for function unspec <- main.
   Called from filter.i:43.
-[eva] computing for function f <- unspec <- main.
-  Called from filter.i:36.
 [kernel:annot:missing-spec] filter.i:36: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- unspec <- main.
+  Called from filter.i:36.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for unspec
diff --git a/tests/slicing/oracle/loops.15.res.oracle b/tests/slicing/oracle/loops.15.res.oracle
index 16dd3f30158a46fd9c7adbdb72fd0b6762691220..eec7e4e722e0f6d94f986ee16dd341399f5aa0de 100644
--- a/tests/slicing/oracle/loops.15.res.oracle
+++ b/tests/slicing/oracle/loops.15.res.oracle
@@ -11,10 +11,10 @@
   Z ∈ [--..--]
 [eva] loops.i:68: assertion got status valid.
 [eva] loops.i:66: starting to merge loop iterations
-[eva] computing for function stop <- stop_f1.
-  Called from loops.i:70.
 [kernel:annot:missing-spec] loops.i:70: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- stop_f1.
+  Called from loops.i:70.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for stop_f1
diff --git a/tests/slicing/oracle/loops.16.res.oracle b/tests/slicing/oracle/loops.16.res.oracle
index 3fd8813c21437c89615b4e571cae3dc0621375e8..bea08b5034d7a62fa70d6672bc961b9844d392e4 100644
--- a/tests/slicing/oracle/loops.16.res.oracle
+++ b/tests/slicing/oracle/loops.16.res.oracle
@@ -11,10 +11,10 @@
   Z ∈ [--..--]
 [eva] loops.i:68: assertion got status valid.
 [eva] loops.i:66: starting to merge loop iterations
-[eva] computing for function stop <- stop_f1.
-  Called from loops.i:70.
 [kernel:annot:missing-spec] loops.i:70: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- stop_f1.
+  Called from loops.i:70.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for stop_f1
diff --git a/tests/slicing/oracle/loops.17.res.oracle b/tests/slicing/oracle/loops.17.res.oracle
index aa15e9fe124a5770fe1936ed9c8ef0f200e1c07d..0537db0b91b439f6d941bd35953f79ae36c7ac50 100644
--- a/tests/slicing/oracle/loops.17.res.oracle
+++ b/tests/slicing/oracle/loops.17.res.oracle
@@ -11,10 +11,10 @@
   Z ∈ [--..--]
 [eva:alarm] loops.i:82: Warning: signed overflow. assert c + 10 ≤ 2147483647;
 [eva:alarm] loops.i:88: Warning: assertion got status unknown.
-[eva] computing for function stop <- stop_f2.
-  Called from loops.i:89.
 [kernel:annot:missing-spec] loops.i:89: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- stop_f2.
+  Called from loops.i:89.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for stop_f2
diff --git a/tests/slicing/oracle/loops.18.res.oracle b/tests/slicing/oracle/loops.18.res.oracle
index 04dc49b1ee3eb3b6b7eb0101612a851b90c3afea..70c363c51dfa1f85af6e0ac42d201e7a7fb24902 100644
--- a/tests/slicing/oracle/loops.18.res.oracle
+++ b/tests/slicing/oracle/loops.18.res.oracle
@@ -11,10 +11,10 @@
   Z ∈ [--..--]
 [eva:alarm] loops.i:82: Warning: signed overflow. assert c + 10 ≤ 2147483647;
 [eva:alarm] loops.i:88: Warning: assertion got status unknown.
-[eva] computing for function stop <- stop_f2.
-  Called from loops.i:89.
 [kernel:annot:missing-spec] loops.i:89: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- stop_f2.
+  Called from loops.i:89.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for stop_f2
diff --git a/tests/slicing/oracle/min_call.res.oracle b/tests/slicing/oracle/min_call.res.oracle
index f3607c3ab3b4940722b6795cd9097a58361a414b..b13c5f6f59cd8e63d0a775d0a152267be24013e2 100644
--- a/tests/slicing/oracle/min_call.res.oracle
+++ b/tests/slicing/oracle/min_call.res.oracle
@@ -10,16 +10,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -56,10 +56,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/ptr_fct.res.oracle b/tests/slicing/oracle/ptr_fct.res.oracle
index 3d93973ee4d712091d3a3481daadce5f39f5140c..6b36f47ccf37855a27b08a2cf1d3a1938ded6f75 100644
--- a/tests/slicing/oracle/ptr_fct.res.oracle
+++ b/tests/slicing/oracle/ptr_fct.res.oracle
@@ -8,10 +8,10 @@
   ptf ∈ {0}
 [eva] computing for function g <- h.
   Called from ptr_fct.i:23.
-[eva] computing for function f2 <- g <- h.
-  Called from ptr_fct.i:17.
 [kernel:annot:missing-spec] ptr_fct.i:17: Warning: 
   Neither code nor specification for function f2, generating default assigns from the prototype
+[eva] computing for function f2 <- g <- h.
+  Called from ptr_fct.i:17.
 [eva] using specification for function f2
 [eva] Done for function f2
 [eva] computing for function f1 <- g <- h.
diff --git a/tests/slicing/oracle/select_by_annot.0.res.oracle b/tests/slicing/oracle/select_by_annot.0.res.oracle
index 31ce22ade863eab258bb37862d1de367a96ec7f3..8d7e7082e3c68493a11f27374b28923f8223180b 100644
--- a/tests/slicing/oracle/select_by_annot.0.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.0.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.1.res.oracle b/tests/slicing/oracle/select_by_annot.1.res.oracle
index c0f3575f5dc322dc8ddc849af89fecdd2f29787c..ae07dade26d480fce1d7cf3ee17ffda866ceea2f 100644
--- a/tests/slicing/oracle/select_by_annot.1.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.1.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.10.res.oracle b/tests/slicing/oracle/select_by_annot.10.res.oracle
index c30f26887f6c5c0f036094807aed8fdbd49a114e..34f900b14e6424248c3a94c0518b5ce35c7d215f 100644
--- a/tests/slicing/oracle/select_by_annot.10.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.10.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.11.res.oracle b/tests/slicing/oracle/select_by_annot.11.res.oracle
index 5b27209920b895c89f8c23bb3135d9795246fff3..9b3fce6ec83a8544876c066e958976b8a785c42e 100644
--- a/tests/slicing/oracle/select_by_annot.11.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.11.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.12.res.oracle b/tests/slicing/oracle/select_by_annot.12.res.oracle
index 0c6fe54f4cf7193a2ad7426653f3d44ee3dd95f9..762c51f3171fad5510ae4f93098fcb85a30ae48b 100644
--- a/tests/slicing/oracle/select_by_annot.12.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.12.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.13.res.oracle b/tests/slicing/oracle/select_by_annot.13.res.oracle
index 8f680bd8056d3f27317815d56659cba58465bbcd..98dd4ebe7bdc9857052b79c9db5c412734bf9593 100644
--- a/tests/slicing/oracle/select_by_annot.13.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.13.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.14.res.oracle b/tests/slicing/oracle/select_by_annot.14.res.oracle
index 69d8673daf166031a605627daf7ea23bf6e550b7..0a2424c7fb144a6ee4b07f112186d748e5cc4735 100644
--- a/tests/slicing/oracle/select_by_annot.14.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.14.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.2.res.oracle b/tests/slicing/oracle/select_by_annot.2.res.oracle
index 2447ad2d3380583eb6259cbc192eb559dc8606f5..169060a52c2f9bf8462882d4d3ebbaad08b07050 100644
--- a/tests/slicing/oracle/select_by_annot.2.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.2.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.3.res.oracle b/tests/slicing/oracle/select_by_annot.3.res.oracle
index 25a50f5cd59edd247f74833690d9f3bbb92a43b2..3afd30f22fd2fc6c6eaf7547a8db88211208d942 100644
--- a/tests/slicing/oracle/select_by_annot.3.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.3.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.4.res.oracle b/tests/slicing/oracle/select_by_annot.4.res.oracle
index 8d2642c6fa807da28c38c401e1b4c12ba49dbf92..6997ef7e7a89dc508c40abde0826544c0163a20b 100644
--- a/tests/slicing/oracle/select_by_annot.4.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.4.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.5.res.oracle b/tests/slicing/oracle/select_by_annot.5.res.oracle
index 165cc861ab72f82a834e850c7a4f33b9433b2fe0..324e00126ff00f1c013cfab833844601bddd6871 100644
--- a/tests/slicing/oracle/select_by_annot.5.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.5.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.6.res.oracle b/tests/slicing/oracle/select_by_annot.6.res.oracle
index fb469fe2139a5a8b7b8bdc417b29db69356e5965..233dfb495a340d13e22b8bd006b1cd71aa50b730 100644
--- a/tests/slicing/oracle/select_by_annot.6.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.6.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.7.res.oracle b/tests/slicing/oracle/select_by_annot.7.res.oracle
index 540bcb17efb6a9e698444e3b15ea6bb2c7dbf3e4..87bb4419e117e5cf001669267484e66ee112728c 100644
--- a/tests/slicing/oracle/select_by_annot.7.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.7.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.8.res.oracle b/tests/slicing/oracle/select_by_annot.8.res.oracle
index 31a3e7b24478f1607ad9dd209a798ced369857cd..e92d795a5c11d703abcb62c7229b145306f29c63 100644
--- a/tests/slicing/oracle/select_by_annot.8.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.8.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_by_annot.9.res.oracle b/tests/slicing/oracle/select_by_annot.9.res.oracle
index 8140a0c2883108a82fbc579a14c6cd12742f03fd..a3c5b6b83688036eadee760d98c6de3e4a24e8ed 100644
--- a/tests/slicing/oracle/select_by_annot.9.res.oracle
+++ b/tests/slicing/oracle/select_by_annot.9.res.oracle
@@ -18,10 +18,10 @@
   signed overflow. assert S.a + a ≤ 2147483647;
 [eva] Recording results for modifS
 [eva] Done for function modifS
-[eva] computing for function new_int <- main.
-  Called from select_by_annot.i:140.
 [kernel:annot:missing-spec] select_by_annot.i:140: Warning: 
   Neither code nor specification for function new_int, generating default assigns from the prototype
+[eva] computing for function new_int <- main.
+  Called from select_by_annot.i:140.
 [eva] using specification for function new_int
 [eva] Done for function new_int
 [eva] computing for function f1 <- main.
diff --git a/tests/slicing/oracle/select_calls.0.res.oracle b/tests/slicing/oracle/select_calls.0.res.oracle
index 94b3e49273274813cf5e473e27472d797f7ec762..a684da35d348c819ce341aba38bfb7e132ee2b74 100644
--- a/tests/slicing/oracle/select_calls.0.res.oracle
+++ b/tests/slicing/oracle/select_calls.0.res.oracle
@@ -6,19 +6,19 @@
 [eva:initial-state] Values of globals at initialization
   c ∈ [--..--]
   d ∈ [--..--]
-[eva] computing for function send <- f.
-  Called from select_calls.i:22.
 [kernel:annot:missing-spec] select_calls.i:22: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f.
+  Called from select_calls.i:22.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] computing for function send <- f.
   Called from select_calls.i:23.
 [eva] Done for function send
-[eva] computing for function crypt <- f.
-  Called from select_calls.i:24.
 [kernel:annot:missing-spec] select_calls.i:24: Warning: 
   Neither code nor specification for function crypt, generating default assigns from the prototype
+[eva] computing for function crypt <- f.
+  Called from select_calls.i:24.
 [eva] using specification for function crypt
 [eva] Done for function crypt
 [eva] computing for function send <- f.
@@ -27,10 +27,10 @@
 [eva] computing for function send <- f.
   Called from select_calls.i:28.
 [eva] Done for function send
-[eva] computing for function uncrypt <- f.
-  Called from select_calls.i:30.
 [kernel:annot:missing-spec] select_calls.i:30: Warning: 
   Neither code nor specification for function uncrypt, generating default assigns from the prototype
+[eva] computing for function uncrypt <- f.
+  Called from select_calls.i:30.
 [eva] using specification for function uncrypt
 [eva] Done for function uncrypt
 [eva] computing for function send <- f.
diff --git a/tests/slicing/oracle/select_calls.1.res.oracle b/tests/slicing/oracle/select_calls.1.res.oracle
index 7a93b917c1ac311b745dc0f3d6b433818f1268ee..9d99c35a72c437ac31e3e1e1388c277c296e64e7 100644
--- a/tests/slicing/oracle/select_calls.1.res.oracle
+++ b/tests/slicing/oracle/select_calls.1.res.oracle
@@ -6,10 +6,10 @@
 [eva:initial-state] Values of globals at initialization
   c ∈ [--..--]
   d ∈ [--..--]
-[eva] computing for function nothing <- g.
-  Called from select_calls.i:42.
 [kernel:annot:missing-spec] select_calls.i:42: Warning: 
   Neither code nor specification for function nothing, generating default assigns from the prototype
+[eva] computing for function nothing <- g.
+  Called from select_calls.i:42.
 [eva] using specification for function nothing
 [eva] Done for function nothing
 [eva] Recording results for g
diff --git a/tests/slicing/oracle/select_return.0.res.oracle b/tests/slicing/oracle/select_return.0.res.oracle
index 8e3f0312d8029824207255aef5444406e99e9b50..c11f145c96547f4c50ce6114b7d7cc30bc17c10d 100644
--- a/tests/slicing/oracle/select_return.0.res.oracle
+++ b/tests/slicing/oracle/select_return.0.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.1.res.oracle b/tests/slicing/oracle/select_return.1.res.oracle
index 85264a8d545404c7d6e0a1f26ffe35ffabd0b1bf..9c6ec7fbefb3098d928fe89409980bda00eccc58 100644
--- a/tests/slicing/oracle/select_return.1.res.oracle
+++ b/tests/slicing/oracle/select_return.1.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.10.res.oracle b/tests/slicing/oracle/select_return.10.res.oracle
index dcdfd537935503464f352abdb8a50f0ac9c2c826..2e7bb25265f9543976a6f12f6bee99da0be882a0 100644
--- a/tests/slicing/oracle/select_return.10.res.oracle
+++ b/tests/slicing/oracle/select_return.10.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.11.res.oracle b/tests/slicing/oracle/select_return.11.res.oracle
index cbd031e0a0c408883af1bff8a4116dc0b05bac31..e1608c0ea0a8deec6ac5f60af4786efd92ab3a2c 100644
--- a/tests/slicing/oracle/select_return.11.res.oracle
+++ b/tests/slicing/oracle/select_return.11.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.12.res.oracle b/tests/slicing/oracle/select_return.12.res.oracle
index 1359b8875417bbe9e020d1f1fe7f6f885d7f4c04..d05d1bf75388534ac46553c2749f615ef0358a4c 100644
--- a/tests/slicing/oracle/select_return.12.res.oracle
+++ b/tests/slicing/oracle/select_return.12.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.13.res.oracle b/tests/slicing/oracle/select_return.13.res.oracle
index e1b8f746bbeb4fb79a80ee506af233834d2a44cc..3e93305f88758089dfd68cddb5c2dad84b61fe75 100644
--- a/tests/slicing/oracle/select_return.13.res.oracle
+++ b/tests/slicing/oracle/select_return.13.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.14.res.oracle b/tests/slicing/oracle/select_return.14.res.oracle
index 19c955fa3e88eb6ff2894f6542b3f726bfa28629..78eee4e08b70f6742b2ea85c701c427cc1d91cd7 100644
--- a/tests/slicing/oracle/select_return.14.res.oracle
+++ b/tests/slicing/oracle/select_return.14.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.15.res.oracle b/tests/slicing/oracle/select_return.15.res.oracle
index f1324cfe026e73d64021f6e3a28b1570eb12921f..2fe88bed783cb40305be67f1bedfb8ec7a5e650a 100644
--- a/tests/slicing/oracle/select_return.15.res.oracle
+++ b/tests/slicing/oracle/select_return.15.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.16.res.oracle b/tests/slicing/oracle/select_return.16.res.oracle
index 75cb38c7d7f7f327e2ecc75735bfa425702bba73..d12c38a5def65774d149656ca9a641fd955d1ac1 100644
--- a/tests/slicing/oracle/select_return.16.res.oracle
+++ b/tests/slicing/oracle/select_return.16.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.17.res.oracle b/tests/slicing/oracle/select_return.17.res.oracle
index 60119b1ea8b86a0c01dcbfda9e987d21a4912761..9d0c0e93a698cce3c2eaa9e0a3b7c8691f5eea1f 100644
--- a/tests/slicing/oracle/select_return.17.res.oracle
+++ b/tests/slicing/oracle/select_return.17.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.18.res.oracle b/tests/slicing/oracle/select_return.18.res.oracle
index a1023b621f83c5888ca889df20c9f242cbd7255a..f2116fc192526cf851f636d405e617254d18e374 100644
--- a/tests/slicing/oracle/select_return.18.res.oracle
+++ b/tests/slicing/oracle/select_return.18.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.19.res.oracle b/tests/slicing/oracle/select_return.19.res.oracle
index 3df04b0b9e8cad44e7424b9df84f2f3c8d688818..ca61ac7c11d4e94706315ebb24a4dcae4b37a32e 100644
--- a/tests/slicing/oracle/select_return.19.res.oracle
+++ b/tests/slicing/oracle/select_return.19.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.2.res.oracle b/tests/slicing/oracle/select_return.2.res.oracle
index 479a7c97c1a8645423e66d9ddb09483ac4fac8a7..12e4ac0f72be9bb0c328c7b5ffe8e7ee8fc92f6c 100644
--- a/tests/slicing/oracle/select_return.2.res.oracle
+++ b/tests/slicing/oracle/select_return.2.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.20.res.oracle b/tests/slicing/oracle/select_return.20.res.oracle
index af21538130724556d55802fade61f07027acb07a..112c5f5bfe9daaae6f4a0c6d340a8bed4f4f1ca1 100644
--- a/tests/slicing/oracle/select_return.20.res.oracle
+++ b/tests/slicing/oracle/select_return.20.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.21.res.oracle b/tests/slicing/oracle/select_return.21.res.oracle
index be094adf73b8f896253f2a9b03190c4e5e6fff3b..fc7b7263a782cac7b7a43e2648a76856c9a41910 100644
--- a/tests/slicing/oracle/select_return.21.res.oracle
+++ b/tests/slicing/oracle/select_return.21.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.3.res.oracle b/tests/slicing/oracle/select_return.3.res.oracle
index 1dc96345e15dc2a4b95869aef28dce9455cb77be..9812edcd573de0eb8a5dcce0fdf3242713794af0 100644
--- a/tests/slicing/oracle/select_return.3.res.oracle
+++ b/tests/slicing/oracle/select_return.3.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.4.res.oracle b/tests/slicing/oracle/select_return.4.res.oracle
index 3a8819580ec3c90411f89b31c0e4d8a207b258dd..54256a9999125e620220427a33c4e2925f0ef150 100644
--- a/tests/slicing/oracle/select_return.4.res.oracle
+++ b/tests/slicing/oracle/select_return.4.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.5.res.oracle b/tests/slicing/oracle/select_return.5.res.oracle
index da7288950985eff6f33ddb9c1455acaf5ef0aab8..4f5db2fd09eca3dfe8a0201723d86780d23d5257 100644
--- a/tests/slicing/oracle/select_return.5.res.oracle
+++ b/tests/slicing/oracle/select_return.5.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.6.res.oracle b/tests/slicing/oracle/select_return.6.res.oracle
index 206f26b5c652b7295eb1071f2c6108f28306001f..49367975721c747f4f69145fc1a06a93dda92f74 100644
--- a/tests/slicing/oracle/select_return.6.res.oracle
+++ b/tests/slicing/oracle/select_return.6.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.7.res.oracle b/tests/slicing/oracle/select_return.7.res.oracle
index 166d4eb39460d432449c3b437f89a4b216f9a358..805198cb1ee88eca06a4ebe6ce714073ec356dca 100644
--- a/tests/slicing/oracle/select_return.7.res.oracle
+++ b/tests/slicing/oracle/select_return.7.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.8.res.oracle b/tests/slicing/oracle/select_return.8.res.oracle
index 7a3e2021331fc0a0b41d606ebb7adc1584e6378f..46f7ae572759a6c7d306a249cb2184777a73eabd 100644
--- a/tests/slicing/oracle/select_return.8.res.oracle
+++ b/tests/slicing/oracle/select_return.8.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return.9.res.oracle b/tests/slicing/oracle/select_return.9.res.oracle
index 08c18f52960abe07bedb53b5d8cf57e75d5c4302..cefcbc973ebe0865baa8dfcc2a1834618960f06d 100644
--- a/tests/slicing/oracle/select_return.9.res.oracle
+++ b/tests/slicing/oracle/select_return.9.res.oracle
@@ -11,16 +11,16 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return.i:44.
-[eva] computing for function get <- k <- g.
-  Called from select_return.i:35.
 [kernel:annot:missing-spec] select_return.i:35: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return.i:35.
 [eva] using specification for function get
 [eva] Done for function get
-[eva] computing for function send_bis <- k <- g.
-  Called from select_return.i:39.
 [kernel:annot:missing-spec] select_return.i:39: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k <- g.
+  Called from select_return.i:39.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k
@@ -57,10 +57,10 @@
 [eva] Done for function send_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return.i:53.
 [kernel:annot:missing-spec] select_return.i:53: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return.i:53.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.0.res.oracle b/tests/slicing/oracle/select_return_bis.0.res.oracle
index 3f7c4dea6927a05468a0f96dd08061e4171f998c..8ea8588123349807331da21444ad76db30e4a29d 100644
--- a/tests/slicing/oracle/select_return_bis.0.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.0.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.1.res.oracle b/tests/slicing/oracle/select_return_bis.1.res.oracle
index c3940889b4c4eb2a2c3ecfd986c86c5d75eda8ec..1985843e0c856671e582c9b8b4a053bc292fede0 100644
--- a/tests/slicing/oracle/select_return_bis.1.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.1.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.10.res.oracle b/tests/slicing/oracle/select_return_bis.10.res.oracle
index ea0823f9f32639ec35318dd1e686da5c697d22d1..e32eca9c3afcf0fba7d02dc1aa2be8f452f43b57 100644
--- a/tests/slicing/oracle/select_return_bis.10.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.10.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.2.res.oracle b/tests/slicing/oracle/select_return_bis.2.res.oracle
index d057238968c7951d74fceffe308cc2e5d37da6ed..7373b5277664370907b74738fc337fff836d4237 100644
--- a/tests/slicing/oracle/select_return_bis.2.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.2.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.3.res.oracle b/tests/slicing/oracle/select_return_bis.3.res.oracle
index da97a2aa60c105fb8d421a78abec6bb6064441b8..92082b533a77c7a257928f2a408552424230dbb6 100644
--- a/tests/slicing/oracle/select_return_bis.3.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.3.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.4.res.oracle b/tests/slicing/oracle/select_return_bis.4.res.oracle
index 1447173a96e30c85ea12d0d1be2fa44262f9b7d3..4a345c49e0b0fc9e47497c43bf4142b1038462ae 100644
--- a/tests/slicing/oracle/select_return_bis.4.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.4.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.5.res.oracle b/tests/slicing/oracle/select_return_bis.5.res.oracle
index d85a5be0f6b9c0bebf1728a5dfce808a8986be66..fc53a600ed4dc48067618fe1005b7498cbaf1300 100644
--- a/tests/slicing/oracle/select_return_bis.5.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.5.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.6.res.oracle b/tests/slicing/oracle/select_return_bis.6.res.oracle
index fc50b4155ac11681c74a0440f9b8f6dbba2fb428..a31e484106f52830ef839784d4e6aae2eaff223c 100644
--- a/tests/slicing/oracle/select_return_bis.6.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.6.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.7.res.oracle b/tests/slicing/oracle/select_return_bis.7.res.oracle
index 0cbccc1d95c6dc0210546787ce22961315395c98..59ffe732a6ad243c161c54e6f25438d85d449fa9 100644
--- a/tests/slicing/oracle/select_return_bis.7.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.7.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.8.res.oracle b/tests/slicing/oracle/select_return_bis.8.res.oracle
index 578fb7a7f41e9c184a85893aba3a84d3643ce44a..956b521ba11c369ef2ab05c5a5902722fb7d6fb6 100644
--- a/tests/slicing/oracle/select_return_bis.8.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.8.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/select_return_bis.9.res.oracle b/tests/slicing/oracle/select_return_bis.9.res.oracle
index c0c04e4202fef80c95ceeccb2d9d3aeaafdd0cb1..7d550fad782ab271bbcf82ea51f7114013fa0f2d 100644
--- a/tests/slicing/oracle/select_return_bis.9.res.oracle
+++ b/tests/slicing/oracle/select_return_bis.9.res.oracle
@@ -11,18 +11,18 @@
   I ∈ [--..--]
 [eva] computing for function k <- g.
   Called from select_return_bis.i:35.
-[eva] computing for function get <- k <- g.
-  Called from select_return_bis.i:28.
 [kernel:annot:missing-spec] select_return_bis.i:28: Warning: 
   Neither code nor specification for function get, generating default assigns from the prototype
+[eva] computing for function get <- k <- g.
+  Called from select_return_bis.i:28.
 [eva] using specification for function get
 [eva] Done for function get
 [eva] computing for function k_bis <- k <- g.
   Called from select_return_bis.i:30.
-[eva] computing for function send_bis <- k_bis <- k <- g.
-  Called from select_return_bis.i:24.
 [kernel:annot:missing-spec] select_return_bis.i:24: Warning: 
   Neither code nor specification for function send_bis, generating default assigns from the prototype
+[eva] computing for function send_bis <- k_bis <- k <- g.
+  Called from select_return_bis.i:24.
 [eva] using specification for function send_bis
 [eva] Done for function send_bis
 [eva] Recording results for k_bis
@@ -61,10 +61,10 @@
 [eva] select_return_bis.i:30: Reusing old results for call to k_bis
 [eva] Recording results for k
 [eva] Done for function k
-[eva] computing for function send <- f <- g.
-  Called from select_return_bis.i:44.
 [kernel:annot:missing-spec] select_return_bis.i:44: Warning: 
   Neither code nor specification for function send, generating default assigns from the prototype
+[eva] computing for function send <- f <- g.
+  Called from select_return_bis.i:44.
 [eva] using specification for function send
 [eva] Done for function send
 [eva] Recording results for f
diff --git a/tests/slicing/oracle/slice_no_body.res.oracle b/tests/slicing/oracle/slice_no_body.res.oracle
index ddb4f878d25fd38dae70874ab3737a90d4ed490b..922e16a864861255f4ad301a02f9f0be1f1abad3 100644
--- a/tests/slicing/oracle/slice_no_body.res.oracle
+++ b/tests/slicing/oracle/slice_no_body.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   G ∈ [--..--]
-[eva] computing for function f <- h.
-  Called from slice_no_body.i:21.
 [kernel:annot:missing-spec] slice_no_body.i:21: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- h.
+  Called from slice_no_body.i:21.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function f <- h.
@@ -51,10 +51,10 @@
   \result FROM \nothing
 [from] ====== END OF DEPENDENCIES ======
 [slicing] initializing slicing ...
-[pdg] computing for function h
-[pdg] done for function h
 [pdg] computing for function g
 [pdg] done for function g
+[pdg] computing for function h
+[pdg] done for function h
 int G;
 /*@ assigns \result;
     assigns \result \from a; */
@@ -120,7 +120,7 @@ Print slice = h_slice_1:
 }
 
 Slicing project worklist [default] =
-[h_slice_1 = change_call for call 16 -> g_slice_1][g_slice_1 = change_call for call 5 -> (src:f)][h_slice_1 = change_call for call 13 -> (src:f)][h_slice_1 = change_call for call 12 -> (src:f)][h_slice_1 = change_call for call 11 -> (src:f)][h_slice_1 = change_call for call 10 -> (src:f)]
+[h_slice_1 = change_call for call 13 -> (src:f)][h_slice_1 = change_call for call 12 -> (src:f)][h_slice_1 = change_call for call 11 -> (src:f)][h_slice_1 = change_call for call 10 -> (src:f)][h_slice_1 = change_call for call 16 -> g_slice_1][g_slice_1 = change_call for call 5 -> (src:f)]
 
 [slicing] exporting project to 'Sliced code'...
 [slicing] applying all slicing requests...
diff --git a/tests/slicing/oracle/unravel-flavors.0.res.oracle b/tests/slicing/oracle/unravel-flavors.0.res.oracle
index b9bdf5dc091f20376705e2042a1f036b167d23dd..3bcb555020cb6c3231d12de2808185c7a9838b11 100644
--- a/tests/slicing/oracle/unravel-flavors.0.res.oracle
+++ b/tests/slicing/oracle/unravel-flavors.0.res.oracle
@@ -61,10 +61,10 @@
   signed overflow. assert yellow + green ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-flavors.i:60.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-flavors.i:19.
 [kernel:annot:missing-spec] unravel-flavors.i:19: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-flavors.i:19.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-flavors.1.res.oracle b/tests/slicing/oracle/unravel-flavors.1.res.oracle
index 2499a87e271696fec5e39fe9b448984293157bdd..17186c7cd187ee83e11fe23a7562422a87eeab3d 100644
--- a/tests/slicing/oracle/unravel-flavors.1.res.oracle
+++ b/tests/slicing/oracle/unravel-flavors.1.res.oracle
@@ -61,10 +61,10 @@
   signed overflow. assert yellow + green ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-flavors.i:60.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-flavors.i:19.
 [kernel:annot:missing-spec] unravel-flavors.i:19: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-flavors.i:19.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-flavors.2.res.oracle b/tests/slicing/oracle/unravel-flavors.2.res.oracle
index 99c65cccbeaa018f23f297e5a989f47e2e59b777..0402f471ca708f0205f1e2ef4a1de623691d5b6c 100644
--- a/tests/slicing/oracle/unravel-flavors.2.res.oracle
+++ b/tests/slicing/oracle/unravel-flavors.2.res.oracle
@@ -61,10 +61,10 @@
   signed overflow. assert yellow + green ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-flavors.i:60.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-flavors.i:19.
 [kernel:annot:missing-spec] unravel-flavors.i:19: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-flavors.i:19.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-flavors.3.res.oracle b/tests/slicing/oracle/unravel-flavors.3.res.oracle
index 06320e6214a02e9f8c3339e0e9d2b20704d336b1..fe639f3a189614c3fa11656ada21f454c1cb0967 100644
--- a/tests/slicing/oracle/unravel-flavors.3.res.oracle
+++ b/tests/slicing/oracle/unravel-flavors.3.res.oracle
@@ -61,10 +61,10 @@
   signed overflow. assert yellow + green ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-flavors.i:60.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-flavors.i:19.
 [kernel:annot:missing-spec] unravel-flavors.i:19: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-flavors.i:19.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-point.0.res.oracle b/tests/slicing/oracle/unravel-point.0.res.oracle
index e7cd4149d40dffc78b9c51f33a629696a8c3a103..ac85ebce1875c26d1452683f3c4f8d89ffcb9afb 100644
--- a/tests/slicing/oracle/unravel-point.0.res.oracle
+++ b/tests/slicing/oracle/unravel-point.0.res.oracle
@@ -36,10 +36,10 @@
   signed overflow. assert *y + *x ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-point.i:75.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-point.i:36.
 [kernel:annot:missing-spec] unravel-point.i:36: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-point.i:36.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-point.1.res.oracle b/tests/slicing/oracle/unravel-point.1.res.oracle
index eacf84e9425cc9038a2c48e1a080a2fdf6677c96..b51385835fffcd8731380223ea577b4fcaf2a094 100644
--- a/tests/slicing/oracle/unravel-point.1.res.oracle
+++ b/tests/slicing/oracle/unravel-point.1.res.oracle
@@ -36,10 +36,10 @@
   signed overflow. assert *y + *x ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-point.i:75.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-point.i:36.
 [kernel:annot:missing-spec] unravel-point.i:36: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-point.i:36.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-point.2.res.oracle b/tests/slicing/oracle/unravel-point.2.res.oracle
index cae8b16117c7b4728aad7a8cad03ced5b2205832..2e29586990b327a64dd22184c3b459f3357622fe 100644
--- a/tests/slicing/oracle/unravel-point.2.res.oracle
+++ b/tests/slicing/oracle/unravel-point.2.res.oracle
@@ -36,10 +36,10 @@
   signed overflow. assert *y + *x ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-point.i:75.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-point.i:36.
 [kernel:annot:missing-spec] unravel-point.i:36: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-point.i:36.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-point.3.res.oracle b/tests/slicing/oracle/unravel-point.3.res.oracle
index 762e31c287dbe235d1c4ec7fed1bca56c636182b..75d9af9abc2f2af899622bd58dcfa3dd543ae226 100644
--- a/tests/slicing/oracle/unravel-point.3.res.oracle
+++ b/tests/slicing/oracle/unravel-point.3.res.oracle
@@ -36,10 +36,10 @@
   signed overflow. assert *y + *x ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-point.i:75.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-point.i:36.
 [kernel:annot:missing-spec] unravel-point.i:36: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-point.i:36.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
diff --git a/tests/slicing/oracle/unravel-point.4.res.oracle b/tests/slicing/oracle/unravel-point.4.res.oracle
index 3bacc2068096deeb3130c792e45f46d70849b19e..6303ed58ec186d15f4a4d6ab64e9061a6692b2af 100644
--- a/tests/slicing/oracle/unravel-point.4.res.oracle
+++ b/tests/slicing/oracle/unravel-point.4.res.oracle
@@ -36,10 +36,10 @@
   signed overflow. assert *y + *x ≤ 2147483647;
 [eva] computing for function send1 <- main.
   Called from unravel-point.i:75.
-[eva] computing for function printf <- send1 <- main.
-  Called from unravel-point.i:36.
 [kernel:annot:missing-spec] unravel-point.i:36: Warning: 
   Neither code nor specification for function printf, generating default assigns from the prototype
+[eva] computing for function printf <- send1 <- main.
+  Called from unravel-point.i:36.
 [eva] using specification for function printf
 [eva] Done for function printf
 [eva] Recording results for send1
@@ -139,10 +139,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-point.i:59.
 [kernel:annot:missing-spec] unravel-point.i:59: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-point.i:59.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-point.i:60: Warning: 
diff --git a/tests/slicing/oracle/unravel-variance.0.res.oracle b/tests/slicing/oracle/unravel-variance.0.res.oracle
index 1c8e34235197346f72f1a569ce80fc062fc11642..ce81c2c6e23826179c5c6549698a5d4e50933f9b 100644
--- a/tests/slicing/oracle/unravel-variance.0.res.oracle
+++ b/tests/slicing/oracle/unravel-variance.0.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-variance.i:31.
 [kernel:annot:missing-spec] unravel-variance.i:31: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-variance.i:31.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-variance.i:32: Warning: 
@@ -122,10 +122,10 @@
 [eva:alarm] unravel-variance.i:52: Warning: 
   overflow in conversion from floating-point to integer.
   assert var2 < 2147483648;
-[eva] computing for function printf1 <- main.
-  Called from unravel-variance.i:52.
 [kernel:annot:missing-spec] unravel-variance.i:52: Warning: 
   Neither code nor specification for function printf1, generating default assigns from the prototype
+[eva] computing for function printf1 <- main.
+  Called from unravel-variance.i:52.
 [eva] using specification for function printf1
 [eva] Done for function printf1
 [eva:alarm] unravel-variance.i:53: Warning: 
@@ -134,10 +134,10 @@
 [eva:alarm] unravel-variance.i:53: Warning: 
   overflow in conversion from floating-point to integer.
   assert var3 < 2147483648;
-[eva] computing for function printf2 <- main.
-  Called from unravel-variance.i:53.
 [kernel:annot:missing-spec] unravel-variance.i:53: Warning: 
   Neither code nor specification for function printf2, generating default assigns from the prototype
+[eva] computing for function printf2 <- main.
+  Called from unravel-variance.i:53.
 [eva] using specification for function printf2
 [eva] Done for function printf2
 [eva:alarm] unravel-variance.i:54: Warning: 
@@ -146,10 +146,10 @@
 [eva:alarm] unravel-variance.i:54: Warning: 
   overflow in conversion from floating-point to integer.
   assert var4 < 2147483648;
-[eva] computing for function printf3 <- main.
-  Called from unravel-variance.i:54.
 [kernel:annot:missing-spec] unravel-variance.i:54: Warning: 
   Neither code nor specification for function printf3, generating default assigns from the prototype
+[eva] computing for function printf3 <- main.
+  Called from unravel-variance.i:54.
 [eva] using specification for function printf3
 [eva] Done for function printf3
 [eva:alarm] unravel-variance.i:55: Warning: 
@@ -158,10 +158,10 @@
 [eva:alarm] unravel-variance.i:55: Warning: 
   overflow in conversion from floating-point to integer.
   assert var5 < 2147483648;
-[eva] computing for function printf4 <- main.
-  Called from unravel-variance.i:55.
 [kernel:annot:missing-spec] unravel-variance.i:55: Warning: 
   Neither code nor specification for function printf4, generating default assigns from the prototype
+[eva] computing for function printf4 <- main.
+  Called from unravel-variance.i:55.
 [eva] using specification for function printf4
 [eva] Done for function printf4
 [eva:alarm] unravel-variance.i:56: Warning: 
@@ -170,10 +170,10 @@
 [eva:alarm] unravel-variance.i:56: Warning: 
   overflow in conversion from floating-point to integer.
   assert var1 < 2147483648;
-[eva] computing for function printf5 <- main.
-  Called from unravel-variance.i:56.
 [kernel:annot:missing-spec] unravel-variance.i:56: Warning: 
   Neither code nor specification for function printf5, generating default assigns from the prototype
+[eva] computing for function printf5 <- main.
+  Called from unravel-variance.i:56.
 [eva] using specification for function printf5
 [eva] Done for function printf5
 [eva] Recording results for main
diff --git a/tests/slicing/oracle/unravel-variance.1.res.oracle b/tests/slicing/oracle/unravel-variance.1.res.oracle
index dc3d6684c28ce34fe7cc00e67d7f4cd799a18957..bccf37024ec5c6c98c0e662e8132bfef551b400f 100644
--- a/tests/slicing/oracle/unravel-variance.1.res.oracle
+++ b/tests/slicing/oracle/unravel-variance.1.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-variance.i:31.
 [kernel:annot:missing-spec] unravel-variance.i:31: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-variance.i:31.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-variance.i:32: Warning: 
@@ -122,10 +122,10 @@
 [eva:alarm] unravel-variance.i:52: Warning: 
   overflow in conversion from floating-point to integer.
   assert var2 < 2147483648;
-[eva] computing for function printf1 <- main.
-  Called from unravel-variance.i:52.
 [kernel:annot:missing-spec] unravel-variance.i:52: Warning: 
   Neither code nor specification for function printf1, generating default assigns from the prototype
+[eva] computing for function printf1 <- main.
+  Called from unravel-variance.i:52.
 [eva] using specification for function printf1
 [eva] Done for function printf1
 [eva:alarm] unravel-variance.i:53: Warning: 
@@ -134,10 +134,10 @@
 [eva:alarm] unravel-variance.i:53: Warning: 
   overflow in conversion from floating-point to integer.
   assert var3 < 2147483648;
-[eva] computing for function printf2 <- main.
-  Called from unravel-variance.i:53.
 [kernel:annot:missing-spec] unravel-variance.i:53: Warning: 
   Neither code nor specification for function printf2, generating default assigns from the prototype
+[eva] computing for function printf2 <- main.
+  Called from unravel-variance.i:53.
 [eva] using specification for function printf2
 [eva] Done for function printf2
 [eva:alarm] unravel-variance.i:54: Warning: 
@@ -146,10 +146,10 @@
 [eva:alarm] unravel-variance.i:54: Warning: 
   overflow in conversion from floating-point to integer.
   assert var4 < 2147483648;
-[eva] computing for function printf3 <- main.
-  Called from unravel-variance.i:54.
 [kernel:annot:missing-spec] unravel-variance.i:54: Warning: 
   Neither code nor specification for function printf3, generating default assigns from the prototype
+[eva] computing for function printf3 <- main.
+  Called from unravel-variance.i:54.
 [eva] using specification for function printf3
 [eva] Done for function printf3
 [eva:alarm] unravel-variance.i:55: Warning: 
@@ -158,10 +158,10 @@
 [eva:alarm] unravel-variance.i:55: Warning: 
   overflow in conversion from floating-point to integer.
   assert var5 < 2147483648;
-[eva] computing for function printf4 <- main.
-  Called from unravel-variance.i:55.
 [kernel:annot:missing-spec] unravel-variance.i:55: Warning: 
   Neither code nor specification for function printf4, generating default assigns from the prototype
+[eva] computing for function printf4 <- main.
+  Called from unravel-variance.i:55.
 [eva] using specification for function printf4
 [eva] Done for function printf4
 [eva:alarm] unravel-variance.i:56: Warning: 
@@ -170,10 +170,10 @@
 [eva:alarm] unravel-variance.i:56: Warning: 
   overflow in conversion from floating-point to integer.
   assert var1 < 2147483648;
-[eva] computing for function printf5 <- main.
-  Called from unravel-variance.i:56.
 [kernel:annot:missing-spec] unravel-variance.i:56: Warning: 
   Neither code nor specification for function printf5, generating default assigns from the prototype
+[eva] computing for function printf5 <- main.
+  Called from unravel-variance.i:56.
 [eva] using specification for function printf5
 [eva] Done for function printf5
 [eva] Recording results for main
diff --git a/tests/slicing/oracle/unravel-variance.2.res.oracle b/tests/slicing/oracle/unravel-variance.2.res.oracle
index 26c8a8589de6636f9d9be36d24a787717ecfbc59..ae3068ba0adbefe5d89ad12876b135c664d0df2f 100644
--- a/tests/slicing/oracle/unravel-variance.2.res.oracle
+++ b/tests/slicing/oracle/unravel-variance.2.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-variance.i:31.
 [kernel:annot:missing-spec] unravel-variance.i:31: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-variance.i:31.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-variance.i:32: Warning: 
@@ -122,10 +122,10 @@
 [eva:alarm] unravel-variance.i:52: Warning: 
   overflow in conversion from floating-point to integer.
   assert var2 < 2147483648;
-[eva] computing for function printf1 <- main.
-  Called from unravel-variance.i:52.
 [kernel:annot:missing-spec] unravel-variance.i:52: Warning: 
   Neither code nor specification for function printf1, generating default assigns from the prototype
+[eva] computing for function printf1 <- main.
+  Called from unravel-variance.i:52.
 [eva] using specification for function printf1
 [eva] Done for function printf1
 [eva:alarm] unravel-variance.i:53: Warning: 
@@ -134,10 +134,10 @@
 [eva:alarm] unravel-variance.i:53: Warning: 
   overflow in conversion from floating-point to integer.
   assert var3 < 2147483648;
-[eva] computing for function printf2 <- main.
-  Called from unravel-variance.i:53.
 [kernel:annot:missing-spec] unravel-variance.i:53: Warning: 
   Neither code nor specification for function printf2, generating default assigns from the prototype
+[eva] computing for function printf2 <- main.
+  Called from unravel-variance.i:53.
 [eva] using specification for function printf2
 [eva] Done for function printf2
 [eva:alarm] unravel-variance.i:54: Warning: 
@@ -146,10 +146,10 @@
 [eva:alarm] unravel-variance.i:54: Warning: 
   overflow in conversion from floating-point to integer.
   assert var4 < 2147483648;
-[eva] computing for function printf3 <- main.
-  Called from unravel-variance.i:54.
 [kernel:annot:missing-spec] unravel-variance.i:54: Warning: 
   Neither code nor specification for function printf3, generating default assigns from the prototype
+[eva] computing for function printf3 <- main.
+  Called from unravel-variance.i:54.
 [eva] using specification for function printf3
 [eva] Done for function printf3
 [eva:alarm] unravel-variance.i:55: Warning: 
@@ -158,10 +158,10 @@
 [eva:alarm] unravel-variance.i:55: Warning: 
   overflow in conversion from floating-point to integer.
   assert var5 < 2147483648;
-[eva] computing for function printf4 <- main.
-  Called from unravel-variance.i:55.
 [kernel:annot:missing-spec] unravel-variance.i:55: Warning: 
   Neither code nor specification for function printf4, generating default assigns from the prototype
+[eva] computing for function printf4 <- main.
+  Called from unravel-variance.i:55.
 [eva] using specification for function printf4
 [eva] Done for function printf4
 [eva:alarm] unravel-variance.i:56: Warning: 
@@ -170,10 +170,10 @@
 [eva:alarm] unravel-variance.i:56: Warning: 
   overflow in conversion from floating-point to integer.
   assert var1 < 2147483648;
-[eva] computing for function printf5 <- main.
-  Called from unravel-variance.i:56.
 [kernel:annot:missing-spec] unravel-variance.i:56: Warning: 
   Neither code nor specification for function printf5, generating default assigns from the prototype
+[eva] computing for function printf5 <- main.
+  Called from unravel-variance.i:56.
 [eva] using specification for function printf5
 [eva] Done for function printf5
 [eva] Recording results for main
diff --git a/tests/slicing/oracle/unravel-variance.3.res.oracle b/tests/slicing/oracle/unravel-variance.3.res.oracle
index 4b3f186ea752e779cb84de981e9330c7ab16c4ef..2664ab39dcca01a8670d4684ab2a06e4aa112266 100644
--- a/tests/slicing/oracle/unravel-variance.3.res.oracle
+++ b/tests/slicing/oracle/unravel-variance.3.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-variance.i:31.
 [kernel:annot:missing-spec] unravel-variance.i:31: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-variance.i:31.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-variance.i:32: Warning: 
@@ -122,10 +122,10 @@
 [eva:alarm] unravel-variance.i:52: Warning: 
   overflow in conversion from floating-point to integer.
   assert var2 < 2147483648;
-[eva] computing for function printf1 <- main.
-  Called from unravel-variance.i:52.
 [kernel:annot:missing-spec] unravel-variance.i:52: Warning: 
   Neither code nor specification for function printf1, generating default assigns from the prototype
+[eva] computing for function printf1 <- main.
+  Called from unravel-variance.i:52.
 [eva] using specification for function printf1
 [eva] Done for function printf1
 [eva:alarm] unravel-variance.i:53: Warning: 
@@ -134,10 +134,10 @@
 [eva:alarm] unravel-variance.i:53: Warning: 
   overflow in conversion from floating-point to integer.
   assert var3 < 2147483648;
-[eva] computing for function printf2 <- main.
-  Called from unravel-variance.i:53.
 [kernel:annot:missing-spec] unravel-variance.i:53: Warning: 
   Neither code nor specification for function printf2, generating default assigns from the prototype
+[eva] computing for function printf2 <- main.
+  Called from unravel-variance.i:53.
 [eva] using specification for function printf2
 [eva] Done for function printf2
 [eva:alarm] unravel-variance.i:54: Warning: 
@@ -146,10 +146,10 @@
 [eva:alarm] unravel-variance.i:54: Warning: 
   overflow in conversion from floating-point to integer.
   assert var4 < 2147483648;
-[eva] computing for function printf3 <- main.
-  Called from unravel-variance.i:54.
 [kernel:annot:missing-spec] unravel-variance.i:54: Warning: 
   Neither code nor specification for function printf3, generating default assigns from the prototype
+[eva] computing for function printf3 <- main.
+  Called from unravel-variance.i:54.
 [eva] using specification for function printf3
 [eva] Done for function printf3
 [eva:alarm] unravel-variance.i:55: Warning: 
@@ -158,10 +158,10 @@
 [eva:alarm] unravel-variance.i:55: Warning: 
   overflow in conversion from floating-point to integer.
   assert var5 < 2147483648;
-[eva] computing for function printf4 <- main.
-  Called from unravel-variance.i:55.
 [kernel:annot:missing-spec] unravel-variance.i:55: Warning: 
   Neither code nor specification for function printf4, generating default assigns from the prototype
+[eva] computing for function printf4 <- main.
+  Called from unravel-variance.i:55.
 [eva] using specification for function printf4
 [eva] Done for function printf4
 [eva:alarm] unravel-variance.i:56: Warning: 
@@ -170,10 +170,10 @@
 [eva:alarm] unravel-variance.i:56: Warning: 
   overflow in conversion from floating-point to integer.
   assert var1 < 2147483648;
-[eva] computing for function printf5 <- main.
-  Called from unravel-variance.i:56.
 [kernel:annot:missing-spec] unravel-variance.i:56: Warning: 
   Neither code nor specification for function printf5, generating default assigns from the prototype
+[eva] computing for function printf5 <- main.
+  Called from unravel-variance.i:56.
 [eva] using specification for function printf5
 [eva] Done for function printf5
 [eva] Recording results for main
diff --git a/tests/slicing/oracle/unravel-variance.4.res.oracle b/tests/slicing/oracle/unravel-variance.4.res.oracle
index df31e40bcc05c85b466e8971860f9ba3698a2b6d..82f8aced73733f8aeccb0c5b8bbb6147357b7f2c 100644
--- a/tests/slicing/oracle/unravel-variance.4.res.oracle
+++ b/tests/slicing/oracle/unravel-variance.4.res.oracle
@@ -5,10 +5,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function scanf <- main.
-  Called from unravel-variance.i:31.
 [kernel:annot:missing-spec] unravel-variance.i:31: Warning: 
   Neither code nor specification for function scanf, generating default assigns from the prototype
+[eva] computing for function scanf <- main.
+  Called from unravel-variance.i:31.
 [eva] using specification for function scanf
 [eva] Done for function scanf
 [eva:alarm] unravel-variance.i:32: Warning: 
@@ -122,10 +122,10 @@
 [eva:alarm] unravel-variance.i:52: Warning: 
   overflow in conversion from floating-point to integer.
   assert var2 < 2147483648;
-[eva] computing for function printf1 <- main.
-  Called from unravel-variance.i:52.
 [kernel:annot:missing-spec] unravel-variance.i:52: Warning: 
   Neither code nor specification for function printf1, generating default assigns from the prototype
+[eva] computing for function printf1 <- main.
+  Called from unravel-variance.i:52.
 [eva] using specification for function printf1
 [eva] Done for function printf1
 [eva:alarm] unravel-variance.i:53: Warning: 
@@ -134,10 +134,10 @@
 [eva:alarm] unravel-variance.i:53: Warning: 
   overflow in conversion from floating-point to integer.
   assert var3 < 2147483648;
-[eva] computing for function printf2 <- main.
-  Called from unravel-variance.i:53.
 [kernel:annot:missing-spec] unravel-variance.i:53: Warning: 
   Neither code nor specification for function printf2, generating default assigns from the prototype
+[eva] computing for function printf2 <- main.
+  Called from unravel-variance.i:53.
 [eva] using specification for function printf2
 [eva] Done for function printf2
 [eva:alarm] unravel-variance.i:54: Warning: 
@@ -146,10 +146,10 @@
 [eva:alarm] unravel-variance.i:54: Warning: 
   overflow in conversion from floating-point to integer.
   assert var4 < 2147483648;
-[eva] computing for function printf3 <- main.
-  Called from unravel-variance.i:54.
 [kernel:annot:missing-spec] unravel-variance.i:54: Warning: 
   Neither code nor specification for function printf3, generating default assigns from the prototype
+[eva] computing for function printf3 <- main.
+  Called from unravel-variance.i:54.
 [eva] using specification for function printf3
 [eva] Done for function printf3
 [eva:alarm] unravel-variance.i:55: Warning: 
@@ -158,10 +158,10 @@
 [eva:alarm] unravel-variance.i:55: Warning: 
   overflow in conversion from floating-point to integer.
   assert var5 < 2147483648;
-[eva] computing for function printf4 <- main.
-  Called from unravel-variance.i:55.
 [kernel:annot:missing-spec] unravel-variance.i:55: Warning: 
   Neither code nor specification for function printf4, generating default assigns from the prototype
+[eva] computing for function printf4 <- main.
+  Called from unravel-variance.i:55.
 [eva] using specification for function printf4
 [eva] Done for function printf4
 [eva:alarm] unravel-variance.i:56: Warning: 
@@ -170,10 +170,10 @@
 [eva:alarm] unravel-variance.i:56: Warning: 
   overflow in conversion from floating-point to integer.
   assert var1 < 2147483648;
-[eva] computing for function printf5 <- main.
-  Called from unravel-variance.i:56.
 [kernel:annot:missing-spec] unravel-variance.i:56: Warning: 
   Neither code nor specification for function printf5, generating default assigns from the prototype
+[eva] computing for function printf5 <- main.
+  Called from unravel-variance.i:56.
 [eva] using specification for function printf5
 [eva] Done for function printf5
 [eva] Recording results for main
diff --git a/tests/slicing/oracle/variadic.0.res.oracle b/tests/slicing/oracle/variadic.0.res.oracle
index d20a0522f6731e4af50c9f68039d8b7e92b73173..6d5dd41248b88c5806c51f48e48a27da9a68563c 100644
--- a/tests/slicing/oracle/variadic.0.res.oracle
+++ b/tests/slicing/oracle/variadic.0.res.oracle
@@ -8,10 +8,10 @@
   
 [eva] computing for function f1 <- main.
   Called from tests/pdg/variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from tests/pdg/variadic.c:23.
 [kernel:annot:missing-spec] tests/pdg/variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from tests/pdg/variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/slicing/oracle/variadic.1.res.oracle b/tests/slicing/oracle/variadic.1.res.oracle
index 262fef8cb4b2cae2bcc0badd9938d0d54e6b5030..caccc9ace2f1209f70922e257a64c7dc11bc39b1 100644
--- a/tests/slicing/oracle/variadic.1.res.oracle
+++ b/tests/slicing/oracle/variadic.1.res.oracle
@@ -8,10 +8,10 @@
   
 [eva] computing for function f1 <- main.
   Called from tests/pdg/variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from tests/pdg/variadic.c:23.
 [kernel:annot:missing-spec] tests/pdg/variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from tests/pdg/variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/slicing/oracle/variadic.2.res.oracle b/tests/slicing/oracle/variadic.2.res.oracle
index 84212502c0317c64bee00c339a3c38acec3bc55a..fae36df0bab812afb90e041377ab3c21422c5079 100644
--- a/tests/slicing/oracle/variadic.2.res.oracle
+++ b/tests/slicing/oracle/variadic.2.res.oracle
@@ -8,10 +8,10 @@
   
 [eva] computing for function f1 <- main.
   Called from tests/pdg/variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from tests/pdg/variadic.c:23.
 [kernel:annot:missing-spec] tests/pdg/variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from tests/pdg/variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/slicing/oracle/variadic.3.res.oracle b/tests/slicing/oracle/variadic.3.res.oracle
index 72db5708548e320f6d5aa039ec9c80861fbe6132..335a7f4c9736f14e2d65caa9c36fc125ded46262 100644
--- a/tests/slicing/oracle/variadic.3.res.oracle
+++ b/tests/slicing/oracle/variadic.3.res.oracle
@@ -8,10 +8,10 @@
   
 [eva] computing for function f1 <- main.
   Called from tests/pdg/variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from tests/pdg/variadic.c:23.
 [kernel:annot:missing-spec] tests/pdg/variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from tests/pdg/variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/slicing/oracle/variadic.4.res.oracle b/tests/slicing/oracle/variadic.4.res.oracle
index 72db5708548e320f6d5aa039ec9c80861fbe6132..335a7f4c9736f14e2d65caa9c36fc125ded46262 100644
--- a/tests/slicing/oracle/variadic.4.res.oracle
+++ b/tests/slicing/oracle/variadic.4.res.oracle
@@ -8,10 +8,10 @@
   
 [eva] computing for function f1 <- main.
   Called from tests/pdg/variadic.c:37.
-[eva] computing for function lib_f <- f1 <- main.
-  Called from tests/pdg/variadic.c:23.
 [kernel:annot:missing-spec] tests/pdg/variadic.c:23: Warning: 
   Neither code nor specification for function lib_f, generating default assigns from the prototype
+[eva] computing for function lib_f <- f1 <- main.
+  Called from tests/pdg/variadic.c:23.
 [eva] using specification for function lib_f
 [eva] Done for function lib_f
 [eva] Recording results for f1
diff --git a/tests/sparecode/oracle/bts334.0.res.oracle b/tests/sparecode/oracle/bts334.0.res.oracle
index b514401262ed3be20fa52868c0d3e5fba91a910e..b5d83bb8ac73533c87e09bfe5e6f2580b7ddec63 100644
--- a/tests/sparecode/oracle/bts334.0.res.oracle
+++ b/tests/sparecode/oracle/bts334.0.res.oracle
@@ -12,10 +12,10 @@
   s1 ∈ {0}
   si[0..1] ∈ {0}
   so[0..1] ∈ {0}
-[eva] computing for function init <- main_init.
-  Called from bts334.i:66.
 [kernel] bts334.i:66: Warning: 
   No code nor explicit assigns clause for function init, generating default assigns from the specification
+[eva] computing for function init <- main_init.
+  Called from bts334.i:66.
 [eva] using specification for function init
 [eva] bts334.i:61: Warning: 
   no 'assigns \result \from ...' clause specified for function init
diff --git a/tests/sparecode/oracle/bts334.1.res.oracle b/tests/sparecode/oracle/bts334.1.res.oracle
index 14a05eb9249e23f0cb01f74180123ac88740d85f..77e6867d86f7469c165f58830a95983a72c8330b 100644
--- a/tests/sparecode/oracle/bts334.1.res.oracle
+++ b/tests/sparecode/oracle/bts334.1.res.oracle
@@ -12,10 +12,10 @@
   s1 ∈ {0}
   si[0..1] ∈ {0}
   so[0..1] ∈ {0}
-[eva] computing for function init <- main_init.
-  Called from bts334.i:66.
 [kernel] bts334.i:66: Warning: 
   No code nor explicit assigns clause for function init, generating default assigns from the specification
+[eva] computing for function init <- main_init.
+  Called from bts334.i:66.
 [eva] using specification for function init
 [eva] bts334.i:61: Warning: 
   no 'assigns \result \from ...' clause specified for function init
diff --git a/tests/sparecode/oracle/bts334.2.res.oracle b/tests/sparecode/oracle/bts334.2.res.oracle
index 46154e7440ca51b5e742d0548aad9600d1ff5c1a..2f276f5ff609c6532b77d47ce878fe364e49a637 100644
--- a/tests/sparecode/oracle/bts334.2.res.oracle
+++ b/tests/sparecode/oracle/bts334.2.res.oracle
@@ -11,10 +11,10 @@
   s1 ∈ {0}
   si[0..1] ∈ {0}
   so[0..1] ∈ {0}
-[eva] computing for function init <- main_init.
-  Called from bts334.i:66.
 [kernel] bts334.i:66: Warning: 
   No code nor explicit assigns clause for function init, generating default assigns from the specification
+[eva] computing for function init <- main_init.
+  Called from bts334.i:66.
 [eva] using specification for function init
 [eva] bts334.i:61: Warning: 
   no 'assigns \result \from ...' clause specified for function init
diff --git a/tests/sparecode/oracle/intra.0.res.oracle b/tests/sparecode/oracle/intra.0.res.oracle
index 519649a8fa7de78c626161d6eac01aa5db2a7070..14470158edb9c522b23ca615c210dc09c4ce4179 100644
--- a/tests/sparecode/oracle/intra.0.res.oracle
+++ b/tests/sparecode/oracle/intra.0.res.oracle
@@ -49,10 +49,10 @@
   Called from intra.i:88.
 [eva] Recording results for assign
 [eva] Done for function assign
-[eva] computing for function stop <- main.
-  Called from intra.i:91.
 [kernel:annot:missing-spec] intra.i:91: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- main.
+  Called from intra.i:91.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for main
diff --git a/tests/sparecode/oracle/intra.1.res.oracle b/tests/sparecode/oracle/intra.1.res.oracle
index 15c053d475d926a938530b72798d70253b050218..3715b90db0f8366641498b59675fc0f0b95f6a29 100644
--- a/tests/sparecode/oracle/intra.1.res.oracle
+++ b/tests/sparecode/oracle/intra.1.res.oracle
@@ -48,10 +48,10 @@
   Called from intra.i:88.
 [eva] Recording results for assign
 [eva] Done for function assign
-[eva] computing for function stop <- main.
-  Called from intra.i:91.
 [kernel:annot:missing-spec] intra.i:91: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- main.
+  Called from intra.i:91.
 [eva] using specification for function stop
 [eva] Done for function stop
 [eva] Recording results for main
diff --git a/tests/sparecode/oracle/top.1.res.oracle b/tests/sparecode/oracle/top.1.res.oracle
index 1d348f16c914d0926d755228321df4bc5bb06970..4f6f7329b0c8ab48220792237e262e3c14ab4a1d 100644
--- a/tests/sparecode/oracle/top.1.res.oracle
+++ b/tests/sparecode/oracle/top.1.res.oracle
@@ -16,10 +16,10 @@
 [eva] Done for function main_top
 [eva] computing for function not_used_in_main_top <- main_call_top.
   Called from top.i:27.
-[eva] computing for function print <- not_used_in_main_top <- main_call_top.
-  Called from top.i:10.
 [kernel:annot:missing-spec] top.i:10: Warning: 
   Neither code nor specification for function print, generating default assigns from the prototype
+[eva] computing for function print <- not_used_in_main_top <- main_call_top.
+  Called from top.i:10.
 [eva] using specification for function print
 [eva] Done for function print
 [eva] Recording results for not_used_in_main_top
diff --git a/tests/spec/oracle/assigns_void.1.res.oracle b/tests/spec/oracle/assigns_void.1.res.oracle
index fa59eca7f82e704ec2f3575b27813a3345af91d3..fb9a8b2d5baf925d7c65b0220e3dc581cc224341 100644
--- a/tests/spec/oracle/assigns_void.1.res.oracle
+++ b/tests/spec/oracle/assigns_void.1.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- g.
-  Called from assigns_void.c:11.
 [kernel:annot:missing-spec] assigns_void.c:11: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- g.
+  Called from assigns_void.c:11.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for g
diff --git a/tests/value/oracle/assigns.res.oracle b/tests/value/oracle/assigns.res.oracle
index fc787492fd03594f6fd0695eb22d300a00846d47..1bdb53cd80638ca67a3459df8cda1068e0b917d8 100644
--- a/tests/value/oracle/assigns.res.oracle
+++ b/tests/value/oracle/assigns.res.oracle
@@ -102,22 +102,22 @@
 [eva] using specification for function ff3
 [eva] assigns.i:68: Warning: no \from part for clause 'assigns y1, y3;'
 [eva] Done for function ff3
-[eva] computing for function ff4 <- main2 <- main.
-  Called from assigns.i:79.
 [kernel:annot:missing-spec] assigns.i:79: Warning: 
   Neither code nor specification for function ff4, generating default assigns from the prototype
+[eva] computing for function ff4 <- main2 <- main.
+  Called from assigns.i:79.
 [eva] using specification for function ff4
 [eva] Done for function ff4
-[eva] computing for function ff5 <- main2 <- main.
-  Called from assigns.i:80.
 [kernel:annot:missing-spec] assigns.i:80: Warning: 
   Neither code nor specification for function ff5, generating default assigns from the prototype
+[eva] computing for function ff5 <- main2 <- main.
+  Called from assigns.i:80.
 [eva] using specification for function ff5
 [eva] Done for function ff5
-[eva] computing for function ff2 <- main2 <- main.
-  Called from assigns.i:82.
 [kernel:annot:missing-spec] assigns.i:82: Warning: 
   Neither code nor specification for function ff2, generating default assigns from the prototype
+[eva] computing for function ff2 <- main2 <- main.
+  Called from assigns.i:82.
 [eva] using specification for function ff2
 [eva] Done for function ff2
 [eva] computing for function ff2_bis <- main2 <- main.
@@ -130,10 +130,10 @@
   pointer comparison. assert \pointer_comparable((void *)p, (void *)(&x));
 [eva] Recording results for main2
 [eva] Done for function main2
-[eva] computing for function main3 <- main.
-  Called from assigns.i:112.
 [kernel:annot:missing-spec] assigns.i:112: Warning: 
   Neither code nor specification for function main3, generating default assigns from the prototype
+[eva] computing for function main3 <- main.
+  Called from assigns.i:112.
 [eva] using specification for function main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
diff --git a/tests/value/oracle/assigns_from.res.oracle b/tests/value/oracle/assigns_from.res.oracle
index f8e6dc8fe59c3acfd7bc4d6557869917bf83f6cc..0149986d5d772be27b59719f380ba7ccead5db0d 100644
--- a/tests/value/oracle/assigns_from.res.oracle
+++ b/tests/value/oracle/assigns_from.res.oracle
@@ -186,10 +186,10 @@
 [eva] Done for function main9
 [eva] computing for function main10 <- main.
   Called from assigns_from.i:244.
-[eva] computing for function c <- main10 <- main.
-  Called from assigns_from.i:152.
 [kernel:annot:missing-spec] assigns_from.i:152: Warning: 
   Neither code nor specification for function c, generating default assigns from the prototype
+[eva] computing for function c <- main10 <- main.
+  Called from assigns_from.i:152.
 [eva] using specification for function c
 [eva] Done for function c
 [eva] assigns_from.i:152: starting to merge loop iterations
diff --git a/tests/value/oracle/automalloc.res.oracle b/tests/value/oracle/automalloc.res.oracle
index 5f9f032426501548404c5a1baf17b3e9851b9cea..1ead5d50a962fa7fc3d5efdaf50f763f9c8363dd 100644
--- a/tests/value/oracle/automalloc.res.oracle
+++ b/tests/value/oracle/automalloc.res.oracle
@@ -4,16 +4,16 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function malloc <- main.
-  Called from automalloc.i:14.
 [kernel:annot:missing-spec] automalloc.i:14: Warning: 
   Neither code nor specification for function malloc, generating default assigns from the prototype
+[eva] computing for function malloc <- main.
+  Called from automalloc.i:14.
 [eva] using specification for function malloc
 [eva] Done for function malloc
-[eva] computing for function realloc <- main.
-  Called from automalloc.i:15.
 [kernel:annot:missing-spec] automalloc.i:15: Warning: 
   Neither code nor specification for function realloc, generating default assigns from the prototype
+[eva] computing for function realloc <- main.
+  Called from automalloc.i:15.
 [eva] using specification for function realloc
 [eva] Done for function realloc
 [eva:alarm] automalloc.i:17: Warning: 
diff --git a/tests/value/oracle/behaviors1.res.oracle b/tests/value/oracle/behaviors1.res.oracle
index 7971f0399f312076281f01f09242f442f0027828..504e982e8951bf6f1ea5d40e294f447aa340583d 100644
--- a/tests/value/oracle/behaviors1.res.oracle
+++ b/tests/value/oracle/behaviors1.res.oracle
@@ -337,10 +337,10 @@
 [eva] Done for function test_assigns2
 [eva] computing for function test_small1 <- main.
   Called from behaviors1.i:649.
-[eva] computing for function f3 <- test_small1 <- main.
-  Called from behaviors1.i:506.
 [kernel] behaviors1.i:506: Warning: 
   No code nor implicit assigns clause for function f3, generating default assigns from the prototype
+[eva] computing for function f3 <- test_small1 <- main.
+  Called from behaviors1.i:506.
 [eva] using specification for function f3
 [eva:alarm] behaviors1.i:506: Warning: 
   function f3: precondition got status unknown.
@@ -351,10 +351,10 @@
 [eva] Done for function test_small1
 [eva] computing for function test_small2 <- main.
   Called from behaviors1.i:650.
-[eva] computing for function f4 <- test_small2 <- main.
-  Called from behaviors1.i:521.
 [kernel] behaviors1.i:521: Warning: 
   No code nor implicit assigns clause for function f4, generating default assigns from the prototype
+[eva] computing for function f4 <- test_small2 <- main.
+  Called from behaviors1.i:521.
 [eva] using specification for function f4
 [eva:alarm] behaviors1.i:521: Warning: 
   function f4: precondition got status unknown.
@@ -369,30 +369,30 @@
 [eva] Done for function test_small2
 [eva] computing for function test_small3 <- main.
   Called from behaviors1.i:651.
-[eva] computing for function f5 <- test_small3 <- main.
-  Called from behaviors1.i:534.
 [kernel] behaviors1.i:534: Warning: 
   No code nor implicit assigns clause for function f5, generating default assigns from the prototype
+[eva] computing for function f5 <- test_small3 <- main.
+  Called from behaviors1.i:534.
 [eva] using specification for function f5
 [eva] Done for function f5
 [eva] Recording results for test_small3
 [eva] Done for function test_small3
 [eva] computing for function test_small4 <- main.
   Called from behaviors1.i:652.
-[eva] computing for function f6 <- test_small4 <- main.
-  Called from behaviors1.i:548.
 [kernel] behaviors1.i:548: Warning: 
   No code nor implicit assigns clause for function f6, generating default assigns from the prototype
+[eva] computing for function f6 <- test_small4 <- main.
+  Called from behaviors1.i:548.
 [eva] using specification for function f6
 [eva] Done for function f6
 [eva] Recording results for test_small4
 [eva] Done for function test_small4
 [eva] computing for function test_small5 <- main.
   Called from behaviors1.i:653.
-[eva] computing for function f7 <- test_small5 <- main.
-  Called from behaviors1.i:561.
 [kernel] behaviors1.i:561: Warning: 
   No code nor implicit assigns clause for function f7, generating default assigns from the prototype
+[eva] computing for function f7 <- test_small5 <- main.
+  Called from behaviors1.i:561.
 [eva] using specification for function f7
 [eva:alarm] behaviors1.i:561: Warning: 
   function f7: precondition got status unknown.
diff --git a/tests/value/oracle/bitfield.res.oracle b/tests/value/oracle/bitfield.res.oracle
index c38d611eb27b9e53749960ed74fecb30398cad52..506aa9ec93d5aee5a0993e625296d443a4ae893b 100644
--- a/tests/value/oracle/bitfield.res.oracle
+++ b/tests/value/oracle/bitfield.res.oracle
@@ -99,10 +99,10 @@
   locals {v} escaping the scope of main_old through h
 [eva] computing for function imprecise_bts_1671 <- main.
   Called from bitfield.i:165.
-[eva] computing for function leaf <- imprecise_bts_1671 <- main.
-  Called from bitfield.i:70.
 [kernel:annot:missing-spec] bitfield.i:70: Warning: 
   Neither code nor specification for function leaf, generating default assigns from the prototype
+[eva] computing for function leaf <- imprecise_bts_1671 <- main.
+  Called from bitfield.i:70.
 [eva] using specification for function leaf
 [eva] Done for function leaf
 [eva] bitfield.i:71: 
diff --git a/tests/value/oracle/bts0506.0.res.oracle b/tests/value/oracle/bts0506.0.res.oracle
index b5cfd130cebfdc88fd3e6e5a90532d3798ede1ad..994c9d1fe3eb2e210b00fcbf107dd8bf76a14f61 100644
--- a/tests/value/oracle/bts0506.0.res.oracle
+++ b/tests/value/oracle/bts0506.0.res.oracle
@@ -10,10 +10,10 @@
 [eva] Done for function f
 [eva] computing for function main2 <- main.
   Called from bts0506.i:49.
-[eva] computing for function f1 <- main2 <- main.
-  Called from bts0506.i:15.
 [kernel:annot:missing-spec] bts0506.i:15: Warning: 
   Neither code nor specification for function f1, generating default assigns from the prototype
+[eva] computing for function f1 <- main2 <- main.
+  Called from bts0506.i:15.
 [eva] using specification for function f1
 [eva] Done for function f1
 [eva] computing for function f1 <- main2 <- main.
@@ -25,10 +25,10 @@
 [eva] computing for function f1 <- main2 <- main.
   Called from bts0506.i:18.
 [eva] Done for function f1
-[eva] computing for function f2 <- main2 <- main.
-  Called from bts0506.i:20.
 [kernel:annot:missing-spec] bts0506.i:20: Warning: 
   Neither code nor specification for function f2, generating default assigns from the prototype
+[eva] computing for function f2 <- main2 <- main.
+  Called from bts0506.i:20.
 [eva] using specification for function f2
 [eva] Done for function f2
 [eva] computing for function f2 <- main2 <- main.
@@ -37,19 +37,19 @@
 [eva] computing for function f2 <- main2 <- main.
   Called from bts0506.i:22.
 [eva] Done for function f2
-[eva] computing for function f3 <- main2 <- main.
-  Called from bts0506.i:24.
 [kernel:annot:missing-spec] bts0506.i:24: Warning: 
   Neither code nor specification for function f3, generating default assigns from the prototype
+[eva] computing for function f3 <- main2 <- main.
+  Called from bts0506.i:24.
 [eva] using specification for function f3
 [eva] Done for function f3
 [eva] computing for function f3 <- main2 <- main.
   Called from bts0506.i:25.
 [eva] Done for function f3
-[eva] computing for function f4 <- main2 <- main.
-  Called from bts0506.i:27.
 [kernel:annot:missing-spec] bts0506.i:27: Warning: 
   Neither code nor specification for function f4, generating default assigns from the prototype
+[eva] computing for function f4 <- main2 <- main.
+  Called from bts0506.i:27.
 [eva] using specification for function f4
 [eva] Done for function f4
 [eva:alarm] bts0506.i:27: Warning: 
@@ -61,10 +61,10 @@
 [eva:alarm] bts0506.i:28: Warning: 
   non-finite float value. assert \is_finite(tmp_9);
                           (tmp_9 from f4())
-[eva] computing for function f5 <- main2 <- main.
-  Called from bts0506.i:30.
 [kernel:annot:missing-spec] bts0506.i:30: Warning: 
   Neither code nor specification for function f5, generating default assigns from the prototype
+[eva] computing for function f5 <- main2 <- main.
+  Called from bts0506.i:30.
 [eva] using specification for function f5
 [eva] Done for function f5
 [eva:alarm] bts0506.i:30: Warning: 
@@ -79,10 +79,10 @@
 [eva:alarm] bts0506.i:31: Warning: 
   non-finite double value. assert \is_finite(tmp_11);
                            (tmp_11 from f5())
-[eva] computing for function f6 <- main2 <- main.
-  Called from bts0506.i:33.
 [kernel:annot:missing-spec] bts0506.i:33: Warning: 
   Neither code nor specification for function f6, generating default assigns from the prototype
+[eva] computing for function f6 <- main2 <- main.
+  Called from bts0506.i:33.
 [eva] using specification for function f6
 [eva] Done for function f6
 [eva] computing for function f6 <- main2 <- main.
@@ -91,10 +91,10 @@
 [eva] computing for function f6 <- main2 <- main.
   Called from bts0506.i:35.
 [eva] Done for function f6
-[eva] computing for function f7 <- main2 <- main.
-  Called from bts0506.i:37.
 [kernel:annot:missing-spec] bts0506.i:37: Warning: 
   Neither code nor specification for function f7, generating default assigns from the prototype
+[eva] computing for function f7 <- main2 <- main.
+  Called from bts0506.i:37.
 [eva] using specification for function f7
 [eva] Done for function f7
 [eva] computing for function f7 <- main2 <- main.
diff --git a/tests/value/oracle/bts0506.1.res.oracle b/tests/value/oracle/bts0506.1.res.oracle
index 188a7a4ff1ad6b4f70cff3036b2edc84b354bd11..18a53ed9fcc536e72cb20026533a90659b788e4b 100644
--- a/tests/value/oracle/bts0506.1.res.oracle
+++ b/tests/value/oracle/bts0506.1.res.oracle
@@ -10,10 +10,10 @@
 [eva] Done for function f
 [eva] computing for function main2 <- main.
   Called from bts0506.i:49.
-[eva] computing for function f1 <- main2 <- main.
-  Called from bts0506.i:15.
 [kernel:annot:missing-spec] bts0506.i:15: Warning: 
   Neither code nor specification for function f1, generating default assigns from the prototype
+[eva] computing for function f1 <- main2 <- main.
+  Called from bts0506.i:15.
 [eva] using specification for function f1
 [eva] Done for function f1
 [eva] computing for function f1 <- main2 <- main.
@@ -25,10 +25,10 @@
 [eva] computing for function f1 <- main2 <- main.
   Called from bts0506.i:18.
 [eva] Done for function f1
-[eva] computing for function f2 <- main2 <- main.
-  Called from bts0506.i:20.
 [kernel:annot:missing-spec] bts0506.i:20: Warning: 
   Neither code nor specification for function f2, generating default assigns from the prototype
+[eva] computing for function f2 <- main2 <- main.
+  Called from bts0506.i:20.
 [eva] using specification for function f2
 [eva] Done for function f2
 [eva] computing for function f2 <- main2 <- main.
@@ -37,19 +37,19 @@
 [eva] computing for function f2 <- main2 <- main.
   Called from bts0506.i:22.
 [eva] Done for function f2
-[eva] computing for function f3 <- main2 <- main.
-  Called from bts0506.i:24.
 [kernel:annot:missing-spec] bts0506.i:24: Warning: 
   Neither code nor specification for function f3, generating default assigns from the prototype
+[eva] computing for function f3 <- main2 <- main.
+  Called from bts0506.i:24.
 [eva] using specification for function f3
 [eva] Done for function f3
 [eva] computing for function f3 <- main2 <- main.
   Called from bts0506.i:25.
 [eva] Done for function f3
-[eva] computing for function f4 <- main2 <- main.
-  Called from bts0506.i:27.
 [kernel:annot:missing-spec] bts0506.i:27: Warning: 
   Neither code nor specification for function f4, generating default assigns from the prototype
+[eva] computing for function f4 <- main2 <- main.
+  Called from bts0506.i:27.
 [eva] using specification for function f4
 [eva] Done for function f4
 [eva] computing for function f4 <- main2 <- main.
@@ -58,10 +58,10 @@
 [eva:alarm] bts0506.i:28: Warning: 
   non-finite float value. assert \is_finite(tmp_9);
                           (tmp_9 from f4())
-[eva] computing for function f5 <- main2 <- main.
-  Called from bts0506.i:30.
 [kernel:annot:missing-spec] bts0506.i:30: Warning: 
   Neither code nor specification for function f5, generating default assigns from the prototype
+[eva] computing for function f5 <- main2 <- main.
+  Called from bts0506.i:30.
 [eva] using specification for function f5
 [eva] Done for function f5
 [eva:alarm] bts0506.i:30: Warning: 
@@ -73,10 +73,10 @@
 [eva] computing for function f5 <- main2 <- main.
   Called from bts0506.i:31.
 [eva] Done for function f5
-[eva] computing for function f6 <- main2 <- main.
-  Called from bts0506.i:33.
 [kernel:annot:missing-spec] bts0506.i:33: Warning: 
   Neither code nor specification for function f6, generating default assigns from the prototype
+[eva] computing for function f6 <- main2 <- main.
+  Called from bts0506.i:33.
 [eva] using specification for function f6
 [eva] Done for function f6
 [eva] computing for function f6 <- main2 <- main.
@@ -85,10 +85,10 @@
 [eva] computing for function f6 <- main2 <- main.
   Called from bts0506.i:35.
 [eva] Done for function f6
-[eva] computing for function f7 <- main2 <- main.
-  Called from bts0506.i:37.
 [kernel:annot:missing-spec] bts0506.i:37: Warning: 
   Neither code nor specification for function f7, generating default assigns from the prototype
+[eva] computing for function f7 <- main2 <- main.
+  Called from bts0506.i:37.
 [eva] using specification for function f7
 [eva] Done for function f7
 [eva] computing for function f7 <- main2 <- main.
diff --git a/tests/value/oracle/bug0223.0.res.oracle b/tests/value/oracle/bug0223.0.res.oracle
index bac86646e418b0526aff9c3c4e184dda31cb45f5..f470f869eec6200f49cb7ef0940e6982ff080a86 100644
--- a/tests/value/oracle/bug0223.0.res.oracle
+++ b/tests/value/oracle/bug0223.0.res.oracle
@@ -7,10 +7,10 @@
   ch2 ∈ {{ NULL ; &S_ch2[0] }}
   S_ch1[0..1] ∈ [--..--]
   S_ch2[0..1] ∈ [--..--]
-[eva] computing for function F <- main.
-  Called from bug0223.i:33.
 [kernel:annot:missing-spec] bug0223.i:33: Warning: 
   Neither code nor specification for function F, generating default assigns from the prototype
+[eva] computing for function F <- main.
+  Called from bug0223.i:33.
 [eva] using specification for function F
 [eva] Done for function F
 [eva] computing for function F <- main.
@@ -18,10 +18,10 @@
 [eva] Done for function F
 [eva] computing for function h2 <- main.
   Called from bug0223.i:35.
-[eva] computing for function my_strcnmp <- h2 <- main.
-  Called from bug0223.i:16.
 [kernel:annot:missing-spec] bug0223.i:16: Warning: 
   Neither code nor specification for function my_strcnmp, generating default assigns from the prototype
+[eva] computing for function my_strcnmp <- h2 <- main.
+  Called from bug0223.i:16.
 [eva] using specification for function my_strcnmp
 [eva] Done for function my_strcnmp
 [eva] Recording results for h2
diff --git a/tests/value/oracle/bug0223.1.res.oracle b/tests/value/oracle/bug0223.1.res.oracle
index bac86646e418b0526aff9c3c4e184dda31cb45f5..f470f869eec6200f49cb7ef0940e6982ff080a86 100644
--- a/tests/value/oracle/bug0223.1.res.oracle
+++ b/tests/value/oracle/bug0223.1.res.oracle
@@ -7,10 +7,10 @@
   ch2 ∈ {{ NULL ; &S_ch2[0] }}
   S_ch1[0..1] ∈ [--..--]
   S_ch2[0..1] ∈ [--..--]
-[eva] computing for function F <- main.
-  Called from bug0223.i:33.
 [kernel:annot:missing-spec] bug0223.i:33: Warning: 
   Neither code nor specification for function F, generating default assigns from the prototype
+[eva] computing for function F <- main.
+  Called from bug0223.i:33.
 [eva] using specification for function F
 [eva] Done for function F
 [eva] computing for function F <- main.
@@ -18,10 +18,10 @@
 [eva] Done for function F
 [eva] computing for function h2 <- main.
   Called from bug0223.i:35.
-[eva] computing for function my_strcnmp <- h2 <- main.
-  Called from bug0223.i:16.
 [kernel:annot:missing-spec] bug0223.i:16: Warning: 
   Neither code nor specification for function my_strcnmp, generating default assigns from the prototype
+[eva] computing for function my_strcnmp <- h2 <- main.
+  Called from bug0223.i:16.
 [eva] using specification for function my_strcnmp
 [eva] Done for function my_strcnmp
 [eva] Recording results for h2
diff --git a/tests/value/oracle/bug_023.res.oracle b/tests/value/oracle/bug_023.res.oracle
index 4170a126f4f784887c14b7e6afe81d850c345d88..a73637c9d9e3cbccb926f02d4c749d7f3499f05d 100644
--- a/tests/value/oracle/bug_023.res.oracle
+++ b/tests/value/oracle/bug_023.res.oracle
@@ -5,10 +5,10 @@
 [eva:initial-state] Values of globals at initialization
   i ∈ {0}
   x ∈ {0}
-[eva] computing for function f <- main.
-  Called from bug_023.i:8.
 [kernel:annot:missing-spec] bug_023.i:8: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from bug_023.i:8.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/call.res.oracle b/tests/value/oracle/call.res.oracle
index c79671e10e0b786cb0d37ab49747a34f1aee4283..90128fff00c1c50370d2d1ca961152171c50b12d 100644
--- a/tests/value/oracle/call.res.oracle
+++ b/tests/value/oracle/call.res.oracle
@@ -11,17 +11,17 @@
 [eva:alarm] call.i:19: Warning: out of bounds read. assert \valid_read(v + 1);
 [eva:alarm] call.i:19: Warning: 
   pointer downcast. assert (unsigned int)*(v + 1) ≤ 2147483647;
-[eva] computing for function leaf_fun_int <- main.
-  Called from call.i:19.
 [kernel:annot:missing-spec] call.i:19: Warning: 
   Neither code nor specification for function leaf_fun_int, generating default assigns from the prototype
+[eva] computing for function leaf_fun_int <- main.
+  Called from call.i:19.
 [eva] using specification for function leaf_fun_int
 [eva] Done for function leaf_fun_int
 [eva:alarm] call.i:20: Warning: out of bounds read. assert \valid_read(v + 1);
-[eva] computing for function leaf_fun_charp <- main.
-  Called from call.i:20.
 [kernel:annot:missing-spec] call.i:20: Warning: 
   Neither code nor specification for function leaf_fun_charp, generating default assigns from the prototype
+[eva] computing for function leaf_fun_charp <- main.
+  Called from call.i:20.
 [eva] using specification for function leaf_fun_charp
 [eva] Done for function leaf_fun_charp
 [eva] call.i:23: starting to merge loop iterations
diff --git a/tests/value/oracle/cond.res.oracle b/tests/value/oracle/cond.res.oracle
index aac8f1c4fa2916879b692a85a75a278e75d918c6..93f3f3d260d87ee3e1f656addc8ba23f990b4974 100644
--- a/tests/value/oracle/cond.res.oracle
+++ b/tests/value/oracle/cond.res.oracle
@@ -39,10 +39,10 @@
   Called from cond.i:20.
 [eva] Recording results for f
 [eva] Done for function f
-[eva] computing for function unknf <- main.
-  Called from cond.i:34.
 [kernel:annot:missing-spec] cond.i:34: Warning: 
   Neither code nor specification for function unknf, generating default assigns from the prototype
+[eva] computing for function unknf <- main.
+  Called from cond.i:34.
 [eva] using specification for function unknf
 [eva] Done for function unknf
 [eva] cond.i:37: Frama_C_show_each_2: {0; 1; 2; 4; 5; 6; 7; 8}
diff --git a/tests/value/oracle/copy_stdin.res.oracle b/tests/value/oracle/copy_stdin.res.oracle
index 318ef12b9de6296c6abd0e296a831f6cda7694f3..d1469e3cccbb423a7b74825f15817b2750aa0ed0 100644
--- a/tests/value/oracle/copy_stdin.res.oracle
+++ b/tests/value/oracle/copy_stdin.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function leaf <- main.
-  Called from copy_stdin.i:4.
 [kernel:annot:missing-spec] copy_stdin.i:4: Warning: 
   Neither code nor specification for function leaf, generating default assigns from the prototype
+[eva] computing for function leaf <- main.
+  Called from copy_stdin.i:4.
 [eva] using specification for function leaf
 [eva] Done for function leaf
 [eva] Recording results for main
diff --git a/tests/value/oracle/empty_struct.6.res.oracle b/tests/value/oracle/empty_struct.6.res.oracle
index 2ef33b093bc9869ac82bdee2fd7f6146603fd8ca..712cbb8faff17c3aa431582feba6a0218a3969e1 100644
--- a/tests/value/oracle/empty_struct.6.res.oracle
+++ b/tests/value/oracle/empty_struct.6.res.oracle
@@ -12,10 +12,10 @@
 [eva] empty_struct.c:99: 
   Assigning imprecise value to r.
   The imprecision originates from Library function {empty_struct.c:99}
-[eva] computing for function g <- main4.
-  Called from empty_struct.c:100.
 [kernel:annot:missing-spec] empty_struct.c:100: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main4.
+  Called from empty_struct.c:100.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for main4
diff --git a/tests/value/oracle/f1.res.oracle b/tests/value/oracle/f1.res.oracle
index ea4068132c6e65355819af6b38ab7b1736130154..4b59de37098e33a310f277984b32aedd97862d2b 100644
--- a/tests/value/oracle/f1.res.oracle
+++ b/tests/value/oracle/f1.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main.
-  Called from f1.i:5.
 [kernel:annot:missing-spec] f1.i:5: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from f1.i:5.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/false.res.oracle b/tests/value/oracle/false.res.oracle
index f5540c4e17cb477acc784760bfed84ce693e62e3..25154cc12ce0807639e59e140f7c7c6ea75ede34 100644
--- a/tests/value/oracle/false.res.oracle
+++ b/tests/value/oracle/false.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main.
-  Called from false.i:18.
 [kernel] false.i:18: Warning: 
   No code nor implicit assigns clause for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from false.i:18.
 [eva] using specification for function f
 [eva:alarm] false.i:18: Warning: 
   function f: precondition i ≡ 1 got status invalid.
diff --git a/tests/value/oracle/from_call.0.res.oracle b/tests/value/oracle/from_call.0.res.oracle
index 2b4d8567b161b16ef2fdbb297b2a194715f46524..101005bed38dbefde5ee3959f528076e5d542172 100644
--- a/tests/value/oracle/from_call.0.res.oracle
+++ b/tests/value/oracle/from_call.0.res.oracle
@@ -44,10 +44,10 @@
   f_previous ∈ {{ &a }}
 [eva] computing for function f <- main.
   Called from from_call.i:81.
-[eva] computing for function h <- f <- main.
-  Called from from_call.i:20.
 [kernel:annot:missing-spec] from_call.i:20: Warning: 
   Neither code nor specification for function h, generating default assigns from the prototype
+[eva] computing for function h <- f <- main.
+  Called from from_call.i:20.
 [eva] using specification for function h
 [eva] Done for function h
 [eva] computing for function g <- f <- main.
diff --git a/tests/value/oracle/from_call.1.res.oracle b/tests/value/oracle/from_call.1.res.oracle
index 31c4e165ddfb02b9a87a9df61c7bd56ccbb21204..14097263afd44b7dd97bc7fa346a82925f1cd965 100644
--- a/tests/value/oracle/from_call.1.res.oracle
+++ b/tests/value/oracle/from_call.1.res.oracle
@@ -44,10 +44,10 @@
   f_previous ∈ {{ &a }}
 [eva] computing for function f <- main.
   Called from from_call.i:81.
-[eva] computing for function h <- f <- main.
-  Called from from_call.i:20.
 [kernel:annot:missing-spec] from_call.i:20: Warning: 
   Neither code nor specification for function h, generating default assigns from the prototype
+[eva] computing for function h <- f <- main.
+  Called from from_call.i:20.
 [eva] using specification for function h
 [eva] Done for function h
 [eva] computing for function g <- f <- main.
diff --git a/tests/value/oracle/ineq.res.oracle b/tests/value/oracle/ineq.res.oracle
index 22bf10d5982fbdaa347aa917108842155dd32e95..1f2d06ec970966e8c9191b178679e09853ea0157 100644
--- a/tests/value/oracle/ineq.res.oracle
+++ b/tests/value/oracle/ineq.res.oracle
@@ -12,10 +12,10 @@
   l ∈ {1}
   m ∈ {-1}
   n ∈ {-1}
-[eva] computing for function any_int <- main.
-  Called from ineq.c:6.
 [kernel:annot:missing-spec] ineq.c:6: Warning: 
   Neither code nor specification for function any_int, generating default assigns from the prototype
+[eva] computing for function any_int <- main.
+  Called from ineq.c:6.
 [eva] using specification for function any_int
 [eva] Done for function any_int
 [eva] Recording results for main
diff --git a/tests/value/oracle/infinite.res.oracle b/tests/value/oracle/infinite.res.oracle
index b88f0ef2e1ea05d252ed69d4f782c3d8ce4b1064..6085126abf62aef997cf6c4eb6d51861f89d4132 100644
--- a/tests/value/oracle/infinite.res.oracle
+++ b/tests/value/oracle/infinite.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   G ∈ {0}
-[eva] computing for function pause <- main.
-  Called from infinite.i:9.
 [kernel:annot:missing-spec] infinite.i:9: Warning: 
   Neither code nor specification for function pause, generating default assigns from the prototype
+[eva] computing for function pause <- main.
+  Called from infinite.i:9.
 [eva] using specification for function pause
 [eva] Done for function pause
 [eva] Recording results for main
diff --git a/tests/value/oracle/initialized.res.oracle b/tests/value/oracle/initialized.res.oracle
index 0553f68805ce659b5e8311f2399b6261a5293705..28313721c94409af21b570e0a043955e260d67e3 100644
--- a/tests/value/oracle/initialized.res.oracle
+++ b/tests/value/oracle/initialized.res.oracle
@@ -183,7 +183,7 @@
 [eva] computing for function wrong_assigns <- g5 <- main.
   Called from initialized.c:127.
 [eva] using specification for function wrong_assigns
-[eva] initialized.c:114: Warning: 
+[eva:ensures-false] initialized.c:114: Warning: 
   function wrong_assigns: this postcondition evaluates to false in this
   context. If it is valid, either a precondition was not verified for this
   call, or some assigns/from clauses are incomplete (or incorrect).
diff --git a/tests/value/oracle/initialized_copy.0.res.oracle b/tests/value/oracle/initialized_copy.0.res.oracle
index 2832044a8141fa97c57ff81dd7daacaf40e97824..3e88f8016fc50e077dae6fbae61b9269784a3f97 100644
--- a/tests/value/oracle/initialized_copy.0.res.oracle
+++ b/tests/value/oracle/initialized_copy.0.res.oracle
@@ -96,10 +96,10 @@
   ==END OF DUMP==
 [eva:alarm] initialized_copy.i:151: Warning: 
   accessing uninitialized left-value. assert \initialized(&a_8);
-[eva] computing for function g <- main.
-  Called from initialized_copy.i:151.
 [kernel:annot:missing-spec] initialized_copy.i:151: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from initialized_copy.i:151.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] initialized_copy.i:152: 
diff --git a/tests/value/oracle/initialized_copy.1.res.oracle b/tests/value/oracle/initialized_copy.1.res.oracle
index 99d71e0d2f64e832857ff211df6e48551bba6423..10bb9ea2fcbae4dbd27d879054e00ed62283e9f6 100644
--- a/tests/value/oracle/initialized_copy.1.res.oracle
+++ b/tests/value/oracle/initialized_copy.1.res.oracle
@@ -88,10 +88,10 @@
   ==END OF DUMP==
 [eva:alarm] initialized_copy.i:151: Warning: 
   accessing uninitialized left-value. assert \initialized(&a_8);
-[eva] computing for function g <- main.
-  Called from initialized_copy.i:151.
 [kernel:annot:missing-spec] initialized_copy.i:151: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from initialized_copy.i:151.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] initialized_copy.i:152: 
diff --git a/tests/value/oracle/input.res.oracle b/tests/value/oracle/input.res.oracle
index ef6baf6216064ae1555e1e9a5207bf1f57f89b1c..29aae6615047adc061f32d720dd6fab271b04664 100644
--- a/tests/value/oracle/input.res.oracle
+++ b/tests/value/oracle/input.res.oracle
@@ -5,10 +5,10 @@
 [eva:initial-state] Values of globals at initialization
   a ∈ {0}
   b ∈ {0}
-[eva] computing for function f <- main.
-  Called from input.i:7.
 [kernel:annot:missing-spec] input.i:7: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from input.i:7.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/leaf.res.oracle b/tests/value/oracle/leaf.res.oracle
index c99ce35def381874c3f25fa88cd8bc43d186a362..8b69565432950381de0d38b51c4826962f9849c6 100644
--- a/tests/value/oracle/leaf.res.oracle
+++ b/tests/value/oracle/leaf.res.oracle
@@ -29,10 +29,10 @@
   st_tab3_int_3.t[0] ∈ {30}
                .t[1] ∈ {31}
                .t[2] ∈ {32}
-[eva] computing for function f_int_int <- main.
-  Called from leaf.i:48.
 [kernel:annot:missing-spec] leaf.i:48: Warning: 
   Neither code nor specification for function f_int_int, generating default assigns from the prototype
+[eva] computing for function f_int_int <- main.
+  Called from leaf.i:48.
 [eva] using specification for function f_int_int
 [eva] Done for function f_int_int
 [eva] computing for function f_int_star_int <- main.
@@ -56,70 +56,70 @@
 [eva] leaf.i:57: Frama_C_show_each_F: {5}
 [eva] leaf.i:59: Frama_C_show_each_G: {{ &g }}
 [eva] leaf.i:60: Frama_C_show_each_F: {5}
-[eva] computing for function f_star_int_cint <- main.
-  Called from leaf.i:62.
 [kernel:annot:missing-spec] leaf.i:62: Warning: 
   Neither code nor specification for function f_star_int_cint, generating default assigns from the prototype
+[eva] computing for function f_star_int_cint <- main.
+  Called from leaf.i:62.
 [eva] using specification for function f_star_int_cint
 [eva] Done for function f_star_int_cint
-[eva] computing for function f_star_int_int <- main.
-  Called from leaf.i:64.
 [kernel:annot:missing-spec] leaf.i:64: Warning: 
   Neither code nor specification for function f_star_int_int, generating default assigns from the prototype
+[eva] computing for function f_star_int_int <- main.
+  Called from leaf.i:64.
 [eva] using specification for function f_star_int_int
 [eva] Done for function f_star_int_int
-[eva] computing for function f_tab3_int_int <- main.
-  Called from leaf.i:65.
 [kernel:annot:missing-spec] leaf.i:65: Warning: 
   Neither code nor specification for function f_tab3_int_int, generating default assigns from the prototype
+[eva] computing for function f_tab3_int_int <- main.
+  Called from leaf.i:65.
 [eva] using specification for function f_tab3_int_int
 [eva] Done for function f_tab3_int_int
-[eva] computing for function f_tab_int_int <- main.
-  Called from leaf.i:66.
 [kernel:annot:missing-spec] leaf.i:66: Warning: 
   Neither code nor specification for function f_tab_int_int, generating default assigns from the prototype
+[eva] computing for function f_tab_int_int <- main.
+  Called from leaf.i:66.
 [eva] using specification for function f_tab_int_int
 [eva] Done for function f_tab_int_int
-[eva] computing for function f_st_star_cint_st_star_cint <- main.
-  Called from leaf.i:68.
 [kernel:annot:missing-spec] leaf.i:68: Warning: 
   Neither code nor specification for function f_st_star_cint_st_star_cint, generating default assigns from the prototype
+[eva] computing for function f_st_star_cint_st_star_cint <- main.
+  Called from leaf.i:68.
 [eva] using specification for function f_st_star_cint_st_star_cint
 [eva] Done for function f_st_star_cint_st_star_cint
 [eva] leaf.i:68: 
   Assigning imprecise value to st_star_cint_1.
   The imprecision originates from Library function {leaf.i:68}
-[eva] computing for function f_st_star_int_st_star_int <- main.
-  Called from leaf.i:69.
 [kernel:annot:missing-spec] leaf.i:69: Warning: 
   Neither code nor specification for function f_st_star_int_st_star_int, generating default assigns from the prototype
+[eva] computing for function f_st_star_int_st_star_int <- main.
+  Called from leaf.i:69.
 [eva] using specification for function f_st_star_int_st_star_int
 [eva] Done for function f_st_star_int_st_star_int
 [eva] leaf.i:69: 
   Assigning imprecise value to st_star_int_1.
   The imprecision originates from Library function {leaf.i:69}
-[eva] computing for function f_st_tab3_int_st_tab3_int <- main.
-  Called from leaf.i:70.
 [kernel:annot:missing-spec] leaf.i:70: Warning: 
   Neither code nor specification for function f_st_tab3_int_st_tab3_int, generating default assigns from the prototype
+[eva] computing for function f_st_tab3_int_st_tab3_int <- main.
+  Called from leaf.i:70.
 [eva] using specification for function f_st_tab3_int_st_tab3_int
 [eva] Done for function f_st_tab3_int_st_tab3_int
-[eva] computing for function f_star_st_star_cint_int <- main.
-  Called from leaf.i:72.
 [kernel:annot:missing-spec] leaf.i:72: Warning: 
   Neither code nor specification for function f_star_st_star_cint_int, generating default assigns from the prototype
+[eva] computing for function f_star_st_star_cint_int <- main.
+  Called from leaf.i:72.
 [eva] using specification for function f_star_st_star_cint_int
 [eva] Done for function f_star_st_star_cint_int
-[eva] computing for function f_star_st_star_int_int <- main.
-  Called from leaf.i:73.
 [kernel:annot:missing-spec] leaf.i:73: Warning: 
   Neither code nor specification for function f_star_st_star_int_int, generating default assigns from the prototype
+[eva] computing for function f_star_st_star_int_int <- main.
+  Called from leaf.i:73.
 [eva] using specification for function f_star_st_star_int_int
 [eva] Done for function f_star_st_star_int_int
-[eva] computing for function f_star_st_tab3_int_int <- main.
-  Called from leaf.i:74.
 [kernel:annot:missing-spec] leaf.i:74: Warning: 
   Neither code nor specification for function f_star_st_tab3_int_int, generating default assigns from the prototype
+[eva] computing for function f_star_st_tab3_int_int <- main.
+  Called from leaf.i:74.
 [eva] using specification for function f_star_st_tab3_int_int
 [eva] Done for function f_star_st_tab3_int_int
 [eva] Recording results for main
diff --git a/tests/value/oracle/leaf2.res.oracle b/tests/value/oracle/leaf2.res.oracle
index 700476b6dde016a513c9bd35ad8cdba32886b8d6..c0946ca0be171fcc2ce2631d04d38a95357c9f55 100644
--- a/tests/value/oracle/leaf2.res.oracle
+++ b/tests/value/oracle/leaf2.res.oracle
@@ -8,10 +8,10 @@
   I ∈ {0}
 [eva:alarm] leaf2.i:6: Warning: 
   pointer downcast. assert (unsigned int)(&I) ≤ 2147483647;
-[eva] computing for function f <- main.
-  Called from leaf2.i:6.
 [kernel:annot:missing-spec] leaf2.i:6: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from leaf2.i:6.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] leaf2.i:6: 
diff --git a/tests/value/oracle/leaf_spec.0.res.oracle b/tests/value/oracle/leaf_spec.0.res.oracle
index 8ceb41a435b7f6745fa1733edbcd7591b3799fac..3c6f556f1f8738ace5eb781d3063f038492700b5 100644
--- a/tests/value/oracle/leaf_spec.0.res.oracle
+++ b/tests/value/oracle/leaf_spec.0.res.oracle
@@ -4,36 +4,36 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f1 <- main.
-  Called from leaf_spec.i:19.
 [kernel:annot:missing-spec] leaf_spec.i:19: Warning: 
   Neither code nor specification for function f1, generating default assigns from the prototype
+[eva] computing for function f1 <- main.
+  Called from leaf_spec.i:19.
 [eva] using specification for function f1
 [eva] Done for function f1
-[eva] computing for function g <- main.
-  Called from leaf_spec.i:20.
 [kernel:annot:missing-spec] leaf_spec.i:20: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from leaf_spec.i:20.
 [eva] using specification for function g
 [eva] Done for function g
-[eva] computing for function h <- main.
-  Called from leaf_spec.i:21.
 [kernel:annot:missing-spec] leaf_spec.i:21: Warning: 
   Neither code nor specification for function h, generating default assigns from the prototype
+[eva] computing for function h <- main.
+  Called from leaf_spec.i:21.
 [eva] using specification for function h
 [eva] Done for function h
-[eva] computing for function k <- main.
-  Called from leaf_spec.i:22.
 [kernel:annot:missing-spec] leaf_spec.i:22: Warning: 
   Neither code nor specification for function k, generating default assigns from the prototype
+[eva] computing for function k <- main.
+  Called from leaf_spec.i:22.
 [eva] using specification for function k
 [eva:invalid-assigns] leaf_spec.i:22: 
   Completely invalid destination for assigns clause *l. Ignoring.
 [eva] Done for function k
-[eva] computing for function k0 <- main.
-  Called from leaf_spec.i:22.
 [kernel:annot:missing-spec] leaf_spec.i:22: Warning: 
   Neither code nor specification for function k0, generating default assigns from the prototype
+[eva] computing for function k0 <- main.
+  Called from leaf_spec.i:22.
 [eva] using specification for function k0
 [eva] Done for function k0
 [eva] Recording results for main
diff --git a/tests/value/oracle/leaf_spec.1.res.oracle b/tests/value/oracle/leaf_spec.1.res.oracle
index 5aa26ccfd381223405ebafa19b30e595c7a7550b..2f12a97cad9e6699bd162c2f4df0e4d8395797ec 100644
--- a/tests/value/oracle/leaf_spec.1.res.oracle
+++ b/tests/value/oracle/leaf_spec.1.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main1.
-  Called from leaf_spec.i:27.
 [kernel:annot:missing-spec] leaf_spec.i:27: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main1.
+  Called from leaf_spec.i:27.
 [eva] using specification for function f
 [eva:invalid-assigns] leaf_spec.i:27: 
   Completely invalid destination for assigns clause *x. Ignoring.
diff --git a/tests/value/oracle/library.res.oracle b/tests/value/oracle/library.res.oracle
index b8440bbf0b2cde6861086571dfce3f9f404ceedd..68669bb02a03d27ccbb06da61305e77d7b80a5f4 100644
--- a/tests/value/oracle/library.res.oracle
+++ b/tests/value/oracle/library.res.oracle
@@ -76,10 +76,10 @@
   S_1_0_S_q_ss[bits 0 to ..] ∈ [--..--] or UNINITIALIZED
   S_0_1_S_q_ss[bits 0 to ..] ∈ [--..--] or UNINITIALIZED
   S_1_1_S_q_ss[bits 0 to ..] ∈ [--..--] or UNINITIALIZED
-[eva] computing for function f_int <- main.
-  Called from library.i:30.
 [kernel:annot:missing-spec] library.i:30: Warning: 
   Neither code nor specification for function f_int, generating default assigns from the prototype
+[eva] computing for function f_int <- main.
+  Called from library.i:30.
 [eva] using specification for function f_int
 [eva] Done for function f_int
 [eva] computing for function f_star_int <- main.
@@ -95,10 +95,10 @@
 [eva:alarm] library.i:33: Warning: 
   out of bounds read. assert \valid_read(*(*G));
 [eva:alarm] library.i:33: Warning: out of bounds write. assert \valid(*(*(*G)));
-[eva] computing for function gen <- main.
-  Called from library.i:37.
 [kernel:annot:missing-spec] library.i:37: Warning: 
   Neither code nor specification for function gen, generating default assigns from the prototype
+[eva] computing for function gen <- main.
+  Called from library.i:37.
 [eva] using specification for function gen
 [eva] Done for function gen
 [eva:alarm] library.i:38: Warning: 
diff --git a/tests/value/oracle/local_variables.res.oracle b/tests/value/oracle/local_variables.res.oracle
index 982e7dbf46d78a5b9e5cd06ee6c04d4d0cf2a9ea..70764f925a71633ba2b0c359032138f30b424db5 100644
--- a/tests/value/oracle/local_variables.res.oracle
+++ b/tests/value/oracle/local_variables.res.oracle
@@ -13,10 +13,10 @@
   Called from local_variables.i:30.
 [eva] computing for function w <- u <- main.
   Called from local_variables.i:11.
-[eva] computing for function unkn <- w <- u <- main.
-  Called from local_variables.i:24.
 [kernel:annot:missing-spec] local_variables.i:24: Warning: 
   Neither code nor specification for function unkn, generating default assigns from the prototype
+[eva] computing for function unkn <- w <- u <- main.
+  Called from local_variables.i:24.
 [eva] using specification for function unkn
 [eva] Done for function unkn
 [eva] Recording results for w
diff --git a/tests/value/oracle/loopfun.0.res.oracle b/tests/value/oracle/loopfun.0.res.oracle
index 02f251803d78aa639a83968d99ce891aa2168226..97c9961dd442c52071b8ff9970b8a723eea6c82e 100644
--- a/tests/value/oracle/loopfun.0.res.oracle
+++ b/tests/value/oracle/loopfun.0.res.oracle
@@ -42,28 +42,24 @@
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
-[from] Computing for function main
-[from] Done for function main
 [from] Computing for function test
 [from] Done for function test
+[from] Computing for function main
+[from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
-[from] Function main:
+[from] Function test:
   FROMTOP
   \result FROM ANYTHING(origin:Unknown)
-[from] Function test:
+[from] Function main:
   FROMTOP
   \result FROM ANYTHING(origin:Unknown)
 [from] ====== END OF DEPENDENCIES ======
-[inout] Out (internal) for function main:
-    ANYTHING(origin:Unknown)
-[inout] Inputs for function main:
-    ANYTHING(origin:Unknown)
-[inout] Out (internal) for function main2:
-    \nothing
-[inout] Inputs for function main2:
-    v
 [inout] Out (internal) for function test:
     tmp; a
 [inout] Inputs for function test:
     a
+[inout] Out (internal) for function main:
+    ANYTHING(origin:Unknown)
+[inout] Inputs for function main:
+    ANYTHING(origin:Unknown)
diff --git a/tests/value/oracle/narrow_behaviors.res.oracle b/tests/value/oracle/narrow_behaviors.res.oracle
index c43c26d146781e1eef682d6fd32f623f008a80a3..32fe99abc39f02de30c9f3480ff73dc9abb0f8f7 100644
--- a/tests/value/oracle/narrow_behaviors.res.oracle
+++ b/tests/value/oracle/narrow_behaviors.res.oracle
@@ -105,7 +105,7 @@
   function f2, behavior a: assumes got status invalid; behavior not evaluated.
 [eva] narrow_behaviors.i:63: 
   function f2, behavior d: assumes got status invalid; behavior not evaluated.
-[eva] narrow_behaviors.i:43: Warning: 
+[eva:ensures-false] narrow_behaviors.i:43: Warning: 
   function f2, behavior c: this postcondition evaluates to false in this
   context. If it is valid, either a precondition was not verified for this
   call, or some assigns/from clauses are incomplete (or incorrect).
diff --git a/tests/value/oracle/noreturn.res.oracle b/tests/value/oracle/noreturn.res.oracle
index 9feb9c11794d0c339d25ef1d7a0e007ee4e9952f..0021e4852e0e59b24f5556c723b88e2561e37a68 100644
--- a/tests/value/oracle/noreturn.res.oracle
+++ b/tests/value/oracle/noreturn.res.oracle
@@ -16,16 +16,16 @@
   Called from noreturn.i:28.
 [eva] Recording results for warn_never_ends
 [eva] Done for function warn_never_ends
-[eva] computing for function stop <- main.
-  Called from noreturn.i:29.
 [kernel:annot:missing-spec] noreturn.i:29: Warning: 
   Neither code nor specification for function stop, generating default assigns from the prototype
+[eva] computing for function stop <- main.
+  Called from noreturn.i:29.
 [eva] using specification for function stop
 [eva] Done for function stop
-[eva] computing for function haltme <- main.
-  Called from noreturn.i:30.
 [kernel:annot:missing-spec] noreturn.i:30: Warning: 
   Neither code nor specification for function haltme, generating default assigns from the prototype
+[eva] computing for function haltme <- main.
+  Called from noreturn.i:30.
 [eva] using specification for function haltme
 [eva] Done for function haltme
 [eva] computing for function never_ends <- main.
diff --git a/tests/value/oracle/origin.0.res.oracle b/tests/value/oracle/origin.0.res.oracle
index c310a6f5dd1fc6efa1e504fc30999195c0c4530f..a3cd9bb508d89c09a7ae8d37b6976c9410649457 100644
--- a/tests/value/oracle/origin.0.res.oracle
+++ b/tests/value/oracle/origin.0.res.oracle
@@ -110,10 +110,10 @@
 [eva] Done for function origin_arithmetic_3
 [eva] computing for function origin_leaf_1 <- main.
   Called from origin.i:97.
-[eva] computing for function g <- origin_leaf_1 <- main.
-  Called from origin.i:38.
 [kernel:annot:missing-spec] origin.i:38: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- origin_leaf_1 <- main.
+  Called from origin.i:38.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for origin_leaf_1
diff --git a/tests/value/oracle/origin.1.res.oracle b/tests/value/oracle/origin.1.res.oracle
index 0d2507fa5304be33ba086bac01b86a6b51662c6a..5ebc7d0dd4d15d7042776213e8d32beacb13d69e 100644
--- a/tests/value/oracle/origin.1.res.oracle
+++ b/tests/value/oracle/origin.1.res.oracle
@@ -52,10 +52,10 @@
    .t[0] ∈ {{ &y }}
    .t[1] ∈ {0}
   S_gpp[0..1] ∈ [--..--]
-[eva] computing for function f <- origin.
-  Called from origin.i:124.
 [kernel:annot:missing-spec] origin.i:124: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- origin.
+  Called from origin.i:124.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] origin.i:126: 
diff --git a/tests/value/oracle/output_leafs.res.oracle b/tests/value/oracle/output_leafs.res.oracle
index cda9d44678f1f73b8e299d152f62c575b59389a2..9f87300e48cebc7c507a5071b2b519a83248486c 100644
--- a/tests/value/oracle/output_leafs.res.oracle
+++ b/tests/value/oracle/output_leafs.res.oracle
@@ -43,10 +43,10 @@
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
   Called from output_leafs.i:47.
-[eva] computing for function f <- main3 <- main.
-  Called from output_leafs.i:40.
 [kernel:annot:missing-spec] output_leafs.i:40: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main3 <- main.
+  Called from output_leafs.i:40.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main3
diff --git a/tests/value/oracle/pb.res.oracle b/tests/value/oracle/pb.res.oracle
index 887817b6ca59cbb20c33216dc68a84b81375f62d..52f3bdc4e4c319f819e5968a7d2b790cf1c7fa26 100644
--- a/tests/value/oracle/pb.res.oracle
+++ b/tests/value/oracle/pb.res.oracle
@@ -6,10 +6,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main.
-  Called from pb.i:2.
 [kernel:annot:missing-spec] pb.i:2: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from pb.i:2.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/postcond_leaf.res.oracle b/tests/value/oracle/postcond_leaf.res.oracle
index 0bc230cfbc6bff000ac6d050b6ca3051b54ae5d7..c1b3280dc1fa594d2aa5c84a5c614c21717f71d9 100644
--- a/tests/value/oracle/postcond_leaf.res.oracle
+++ b/tests/value/oracle/postcond_leaf.res.oracle
@@ -8,24 +8,24 @@
 [kernel] postcond_leaf.c:109: Warning: 
   No code nor implicit assigns clause for function f1, generating default assigns from the prototype
 [eva] using specification for function f1
-[eva] postcond_leaf.c:21: Warning: 
+[eva:ensures-false] postcond_leaf.c:21: Warning: 
   function f1: this postcondition evaluates to false in this context.
   If it is valid, either a precondition was not verified for this call,
   or some assigns/from clauses are incomplete (or incorrect).
 [eva] using specification for function f2
-[eva] postcond_leaf.c:28: Warning: 
+[eva:ensures-false] postcond_leaf.c:28: Warning: 
   function f2, behavior b: this postcondition evaluates to false in this
   context. If it is valid, either a precondition was not verified for this
   call, or some assigns/from clauses are incomplete (or incorrect).
 [eva] using specification for function f3
 [eva] using specification for function f4
 [eva] using specification for function g1
-[eva] postcond_leaf.c:46: Warning: 
+[eva:ensures-false] postcond_leaf.c:46: Warning: 
   function g1: this postcondition evaluates to false in this context.
   If it is valid, either a precondition was not verified for this call,
   or some assigns/from clauses are incomplete (or incorrect).
 [eva] using specification for function g2
-[eva] postcond_leaf.c:55: Warning: 
+[eva:ensures-false] postcond_leaf.c:55: Warning: 
   function g2, behavior b: this postcondition evaluates to false in this
   context. If it is valid, either a precondition was not verified for this
   call, or some assigns/from clauses are incomplete (or incorrect).
diff --git a/tests/value/oracle/postcondition.res.oracle b/tests/value/oracle/postcondition.res.oracle
index acbf0e9f21176c1010490011f8d6e9c66c3b5496..e714c6b9e81a3e1687803b51ffca85555e2d1ef8 100644
--- a/tests/value/oracle/postcondition.res.oracle
+++ b/tests/value/oracle/postcondition.res.oracle
@@ -17,10 +17,10 @@
   Called from postcondition.i:84.
 [eva] postcondition.i:84: function get_index: precondition got status valid.
 [eva] postcondition.i:17: Frama_C_show_each_cmd: {1}
-[eva] computing for function u <- get_index <- main.
-  Called from postcondition.i:20.
 [kernel] postcondition.i:20: Warning: 
   No code nor implicit assigns clause for function u, generating default assigns from the prototype
+[eva] computing for function u <- get_index <- main.
+  Called from postcondition.i:20.
 [eva] using specification for function u
 [eva] Done for function u
 [eva] postcondition.i:18: starting to merge loop iterations
@@ -74,10 +74,10 @@
 [eva] computing for function u <- main.
   Called from postcondition.i:88.
 [eva] Done for function u
-[eva] computing for function cap <- main.
-  Called from postcondition.i:89.
 [kernel] postcondition.i:89: Warning: 
   No code nor implicit assigns clause for function cap, generating default assigns from the prototype
+[eva] computing for function cap <- main.
+  Called from postcondition.i:89.
 [eva] using specification for function cap
 [eva] Done for function cap
 [eva] computing for function u <- main.
diff --git a/tests/value/oracle/precond.res.oracle b/tests/value/oracle/precond.res.oracle
index d7cae39457b89da747d7bcb336d8ad742c310c61..01008cd04905b7032567375d16efff639f56a92a 100644
--- a/tests/value/oracle/precond.res.oracle
+++ b/tests/value/oracle/precond.res.oracle
@@ -17,19 +17,19 @@
 [eva] precond.c:32: function f: precondition 'i' got status valid.
 [eva] Recording results for f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from precond.c:34.
 [kernel] precond.c:34: Warning: 
   No code nor implicit assigns clause for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from precond.c:34.
 [eva] using specification for function g
 [eva:alarm] precond.c:34: Warning: function g: precondition got status unknown.
 [eva] Done for function g
 [eva] computing for function aux <- main.
   Called from precond.c:36.
-[eva] computing for function f2 <- aux <- main.
-  Called from precond.c:21.
 [kernel] precond.c:21: Warning: 
   No code nor implicit assigns clause for function f2, generating default assigns from the prototype
+[eva] computing for function f2 <- aux <- main.
+  Called from precond.c:21.
 [eva] using specification for function f2
 [eva] precond.c:21: function f2: precondition got status valid.
 [eva] Done for function f2
diff --git a/tests/value/oracle/precond2.0.res.oracle b/tests/value/oracle/precond2.0.res.oracle
index 10ee7cb691c71c333a96e0b869b71de6781c3e6c..bdee5be00a85220edd6ceda78281a48e0c6970d1 100644
--- a/tests/value/oracle/precond2.0.res.oracle
+++ b/tests/value/oracle/precond2.0.res.oracle
@@ -19,10 +19,10 @@
   function f: precondition 'i' got status invalid.
 [eva] Recording results for f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from precond2.c:24.
 [kernel] precond2.c:24: Warning: 
   No code nor implicit assigns clause for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from precond2.c:24.
 [eva] using specification for function g
 [eva] precond2.c:24: function g: precondition got status valid.
 [eva] Done for function g
diff --git a/tests/value/oracle/precond2.1.res.oracle b/tests/value/oracle/precond2.1.res.oracle
index 4787a711af49ec5c93398aa4513386bbb9d207e3..39929885285698e3c2746bd5c6e002c64c3dbfb1 100644
--- a/tests/value/oracle/precond2.1.res.oracle
+++ b/tests/value/oracle/precond2.1.res.oracle
@@ -17,10 +17,10 @@
   function f: precondition 'i' got status invalid.
 [eva] Recording results for f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from precond2.c:24.
 [kernel] precond2.c:24: Warning: 
   No code nor implicit assigns clause for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from precond2.c:24.
 [eva] using specification for function g
 [eva] precond2.c:24: function g: precondition got status valid.
 [eva] Done for function g
diff --git a/tests/value/oracle/recursion.0.res.oracle b/tests/value/oracle/recursion.0.res.oracle
index b3ec9d36b5fdae0cc388266e62a86c0923be54f7..fddbfe1a8217d8ef30018ab273fc6bef1acfb8ed 100644
--- a/tests/value/oracle/recursion.0.res.oracle
+++ b/tests/value/oracle/recursion.0.res.oracle
@@ -133,6 +133,13 @@
 [eva:alarm] recursion.c:182: Warning: 
   function even_ptr: postcondition got status unknown.
 [eva:recursion] recursion.c:174: detected recursive call of function even_ptr.
+[eva] recursion.c:174: Warning: 
+  Using specification of function even_ptr for recursive calls.
+  Analysis of function even_ptr is thus incomplete and its soundness
+  relies on the written specification.
+[eva] using specification for function even_ptr
+[eva:alarm] recursion.c:175: Warning: 
+  accessing uninitialized left-value. assert \initialized(&x);
 [eva] recursion.c:383: Frama_C_show_each_1: {1}, {1}
 [eva] recursion.c:386: Frama_C_show_each_0: {0}, {0}
 [eva] using specification for function Frama_C_interval
diff --git a/tests/value/oracle/resolve.res.oracle b/tests/value/oracle/resolve.res.oracle
index 1e2c42f7cc62a8c8b872a4c619c6e54d4dd16954..defb6792df4472409e9108e75305196444788196 100644
--- a/tests/value/oracle/resolve.res.oracle
+++ b/tests/value/oracle/resolve.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main.
-  Called from resolve.i:12.
 [kernel:annot:missing-spec] resolve.i:12: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from resolve.i:12.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/semaphore.res.oracle b/tests/value/oracle/semaphore.res.oracle
index de195078b4da65e6526db33fd251edd0e6012669..cf0fba3e324ab5400ec7fc116d77d940581e3e77 100644
--- a/tests/value/oracle/semaphore.res.oracle
+++ b/tests/value/oracle/semaphore.res.oracle
@@ -5,10 +5,10 @@
 [eva:initial-state] Values of globals at initialization
   Sa ∈ {0}
   Sb ∈ {0}
-[eva] computing for function V <- g.
-  Called from semaphore.i:31.
 [kernel:annot:missing-spec] semaphore.i:31: Warning: 
   Neither code nor specification for function V, generating default assigns from the prototype
+[eva] computing for function V <- g.
+  Called from semaphore.i:31.
 [eva] using specification for function V
 [eva] Done for function V
 [eva] semaphore.i:29: starting to merge loop iterations
@@ -22,10 +22,10 @@
   Called from semaphore.i:31.
 [eva] Done for function V
 [eva] semaphore.i:28: starting to merge loop iterations
-[eva] computing for function P <- g.
-  Called from semaphore.i:34.
 [kernel:annot:missing-spec] semaphore.i:34: Warning: 
   Neither code nor specification for function P, generating default assigns from the prototype
+[eva] computing for function P <- g.
+  Called from semaphore.i:34.
 [eva] using specification for function P
 [eva] Done for function P
 [eva] computing for function P <- g.
diff --git a/tests/value/oracle/strings.res.oracle b/tests/value/oracle/strings.res.oracle
index 7301164cb25036d22ed3e9da6cac60f15e358038..f6dca26f664107f8afc93860a8b2b367eee8d150 100644
--- a/tests/value/oracle/strings.res.oracle
+++ b/tests/value/oracle/strings.res.oracle
@@ -40,10 +40,10 @@
   Z ∈ {0}
 [eva] computing for function string_reads <- main.
   Called from strings.i:142.
-[eva] computing for function u <- string_reads <- main.
-  Called from strings.i:39.
 [kernel:annot:missing-spec] strings.i:39: Warning: 
   Neither code nor specification for function u, generating default assigns from the prototype
+[eva] computing for function u <- string_reads <- main.
+  Called from strings.i:39.
 [eva] using specification for function u
 [eva] Done for function u
 [eva:alarm] strings.i:39: Warning: 
diff --git a/tests/value/oracle/summary.3.res.oracle b/tests/value/oracle/summary.3.res.oracle
index dc0ab11b5660f5d184bc56375b5d3586dc795f57..5d8c312f33f90a61c9ac6f269a9b4d9561fe6739 100644
--- a/tests/value/oracle/summary.3.res.oracle
+++ b/tests/value/oracle/summary.3.res.oracle
@@ -52,16 +52,16 @@
   assertion got status invalid (stopping propagation).
 [eva] Recording results for logic
 [eva] Done for function logic
-[eva] computing for function f <- main.
-  Called from summary.i:64.
 [kernel:annot:missing-spec] summary.i:64: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from summary.i:64.
 [eva] using specification for function f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from summary.i:65.
 [kernel:annot:missing-spec] summary.i:65: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from summary.i:65.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for main
diff --git a/tests/value/oracle/summary.4.res.oracle b/tests/value/oracle/summary.4.res.oracle
index 81eb244352197d5f99e3c7f35bb16ba46ccbe574..5610a4663e51979179219c0c9d4a542bfb287c58 100644
--- a/tests/value/oracle/summary.4.res.oracle
+++ b/tests/value/oracle/summary.4.res.oracle
@@ -74,16 +74,16 @@
   assertion got status invalid (stopping propagation).
 [eva] Recording results for logic
 [eva] Done for function logic
-[eva] computing for function f <- main.
-  Called from summary.i:64.
 [kernel:annot:missing-spec] summary.i:64: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from summary.i:64.
 [eva] using specification for function f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from summary.i:65.
 [kernel:annot:missing-spec] summary.i:65: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from summary.i:65.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for main
diff --git a/tests/value/oracle/switch2.res.oracle b/tests/value/oracle/switch2.res.oracle
index 52037497ce51b4a7c161947bb78d1275461c30ff..93846958e7c6b1df55c67213acc6c7e2ce6f53fd 100644
--- a/tests/value/oracle/switch2.res.oracle
+++ b/tests/value/oracle/switch2.res.oracle
@@ -8,10 +8,10 @@
   Called from switch2.i:13.
 [eva] Recording results for f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from switch2.i:13.
 [kernel:annot:missing-spec] switch2.i:13: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from switch2.i:13.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] Recording results for main
diff --git a/tests/value/oracle/undef_fct.res.oracle b/tests/value/oracle/undef_fct.res.oracle
index 738e41a5ec2f5fda6a25510ee6fb66db84390151..1266df08b00565dbcde9742413e4d85f934dc556 100644
--- a/tests/value/oracle/undef_fct.res.oracle
+++ b/tests/value/oracle/undef_fct.res.oracle
@@ -6,10 +6,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function f <- main.
-  Called from undef_fct.i:3.
 [kernel:annot:missing-spec] undef_fct.i:3: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
+[eva] computing for function f <- main.
+  Called from undef_fct.i:3.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] Recording results for main
diff --git a/tests/value/oracle/use_spec.0.res.oracle b/tests/value/oracle/use_spec.0.res.oracle
index 91cc617b674eea1bd545678e4bae3bf1cb127695..e999d6f573cb0e0d9b5e643c52a2139be92e0c8b 100644
--- a/tests/value/oracle/use_spec.0.res.oracle
+++ b/tests/value/oracle/use_spec.0.res.oracle
@@ -16,10 +16,10 @@
   Called from use_spec.i:25.
 [eva] using specification for function f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from use_spec.i:26.
 [kernel:annot:missing-spec] use_spec.i:26: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from use_spec.i:26.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] computing for function h <- main.
diff --git a/tests/value/oracle/use_spec.1.res.oracle b/tests/value/oracle/use_spec.1.res.oracle
index e06b8f503520e0a62d75ffb1b67abb3278ced7ed..509dad58e05892aeec5263d1b953f5d9db54bb68 100644
--- a/tests/value/oracle/use_spec.1.res.oracle
+++ b/tests/value/oracle/use_spec.1.res.oracle
@@ -16,10 +16,10 @@
   Called from use_spec.i:25.
 [eva] using specification for function f
 [eva] Done for function f
-[eva] computing for function g <- main.
-  Called from use_spec.i:26.
 [kernel:annot:missing-spec] use_spec.i:26: Warning: 
   Neither code nor specification for function g, generating default assigns from the prototype
+[eva] computing for function g <- main.
+  Called from use_spec.i:26.
 [eva] using specification for function g
 [eva] Done for function g
 [eva] computing for function h <- main.
diff --git a/tests/value/oracle/va_list.0.res.oracle b/tests/value/oracle/va_list.0.res.oracle
index 109901ba36a77c3204732e985e1ce444a69e5407..69b64d84e22aeec36515fb428b3431b527868fca 100644
--- a/tests/value/oracle/va_list.0.res.oracle
+++ b/tests/value/oracle/va_list.0.res.oracle
@@ -8,10 +8,10 @@
   creating variable S_0_S___va_params with imprecise size (type void)
 [eva:initial-state] 
   creating variable S_1_S___va_params with imprecise size (type void)
-[eva] computing for function __builtin_next_arg <- main.
-  Called from va_list.c:14.
 [kernel:annot:missing-spec] va_list.c:14: Warning: 
   Neither code nor specification for function __builtin_next_arg, generating default assigns from the prototype
+[eva] computing for function __builtin_next_arg <- main.
+  Called from va_list.c:14.
 [eva] using specification for function __builtin_next_arg
 [eva] Done for function __builtin_next_arg
 [eva] Recording results for main
diff --git a/tests/value/oracle/va_list.1.res.oracle b/tests/value/oracle/va_list.1.res.oracle
index b2650b533eff03b5ffbbb1d7985c695cfa6f51d1..77f3d371928e7bf65952e8a4bd0b46f99fbaee27 100644
--- a/tests/value/oracle/va_list.1.res.oracle
+++ b/tests/value/oracle/va_list.1.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function __builtin_next_arg <- main.
-  Called from va_list.c:14.
 [kernel:annot:missing-spec] va_list.c:14: Warning: 
   Neither code nor specification for function __builtin_next_arg, generating default assigns from the prototype
+[eva] computing for function __builtin_next_arg <- main.
+  Called from va_list.c:14.
 [eva] using specification for function __builtin_next_arg
 [eva] va_list.c:14: User Error: 
   functions returning variadic arguments must be stubbed
diff --git a/tests/value/oracle/va_list2.1.res.oracle b/tests/value/oracle/va_list2.1.res.oracle
index 93afb0592bc75eb294262723678d451390130efe..8cd4da46460a0cb794978cdc83381675772311a0 100644
--- a/tests/value/oracle/va_list2.1.res.oracle
+++ b/tests/value/oracle/va_list2.1.res.oracle
@@ -4,17 +4,17 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function __builtin_va_start <- main.
-  Called from va_list2.c:11.
 [kernel:annot:missing-spec] va_list2.c:11: Warning: 
   Neither code nor specification for function __builtin_va_start, generating default assigns from the prototype
+[eva] computing for function __builtin_va_start <- main.
+  Called from va_list2.c:11.
 [eva] using specification for function __builtin_va_start
 [eva] Done for function __builtin_va_start
 [eva:alarm] va_list2.c:12: Warning: out of bounds read. assert \valid_read(fmt);
-[eva] computing for function __builtin_va_arg <- main.
-  Called from va_list2.c:15.
 [kernel:annot:missing-spec] va_list2.c:15: Warning: 
   Neither code nor specification for function __builtin_va_arg, generating default assigns from the prototype
+[eva] computing for function __builtin_va_arg <- main.
+  Called from va_list2.c:15.
 [eva] using specification for function __builtin_va_arg
 [eva] Done for function __builtin_va_arg
 [eva:alarm] va_list2.c:15: Warning: 
@@ -45,10 +45,10 @@
 [eva] Done for function __builtin_va_arg
 [eva] va_list2.c:21: 
   Frama_C_show_each_f: [-3.40282346639e+38 .. 3.40282346639e+38]
-[eva] computing for function __builtin_va_end <- main.
-  Called from va_list2.c:28.
 [kernel:annot:missing-spec] va_list2.c:28: Warning: 
   Neither code nor specification for function __builtin_va_end, generating default assigns from the prototype
+[eva] computing for function __builtin_va_end <- main.
+  Called from va_list2.c:28.
 [eva] using specification for function __builtin_va_end
 [eva] Done for function __builtin_va_end
 [eva] Recording results for main
diff --git a/tests/value/oracle/volatile.res.oracle b/tests/value/oracle/volatile.res.oracle
index 13de58ca7e95266d0f9b1b51c7b0e8f034edf31e..b53a798a5f7c73bcf06d26caccadc1451211679d 100644
--- a/tests/value/oracle/volatile.res.oracle
+++ b/tests/value/oracle/volatile.res.oracle
@@ -55,10 +55,10 @@
   signed overflow. assert x_0 + y_0 ≤ 2147483647;
 [eva] Recording results for fn1
 [eva] Done for function fn1
-[eva] computing for function fn2 <- main1 <- main.
-  Called from volatile.c:40.
 [kernel:annot:missing-spec] volatile.c:40: Warning: 
   Neither code nor specification for function fn2, generating default assigns from the prototype
+[eva] computing for function fn2 <- main1 <- main.
+  Called from volatile.c:40.
 [eva] using specification for function fn2
 [eva] Done for function fn2
 [eva] volatile.c:41: Frama_C_show_each_d: [-2147483648..2147483647]
diff --git a/tests/value/oracle/widen_overflow.res.oracle b/tests/value/oracle/widen_overflow.res.oracle
index 7dcb1b7df9e8dcd13231c31fc447b8b15a339b81..acaa81473fe37d047ff6fe8a31cebccec426c28d 100644
--- a/tests/value/oracle/widen_overflow.res.oracle
+++ b/tests/value/oracle/widen_overflow.res.oracle
@@ -7,10 +7,10 @@
 [eva:initial-state] Values of globals at initialization
   
 [eva] widen_overflow.i:6: Frama_C_show_each: {4}
-[eva] computing for function u <- main.
-  Called from widen_overflow.i:9.
 [kernel:annot:missing-spec] widen_overflow.i:9: Warning: 
   Neither code nor specification for function u, generating default assigns from the prototype
+[eva] computing for function u <- main.
+  Called from widen_overflow.i:9.
 [eva] using specification for function u
 [eva] Done for function u
 [eva] widen_overflow.i:9: starting to merge loop iterations
diff --git a/tests/value/traces/oracle/test5.res.oracle b/tests/value/traces/oracle/test5.res.oracle
index c3e94b81b6317e06c8284fddac7fb8784b329e78..65e159b215ac3cdbfd7881b377f7c6fac1cd2d06 100644
--- a/tests/value/traces/oracle/test5.res.oracle
+++ b/tests/value/traces/oracle/test5.res.oracle
@@ -7,10 +7,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] computing for function my_switch <- main.
-  Called from test5.i:21.
 [kernel:annot:missing-spec] test5.i:21: Warning: 
   Neither code nor specification for function my_switch, generating default assigns from the prototype
+[eva] computing for function my_switch <- main.
+  Called from test5.i:21.
 [eva] using specification for function my_switch
 [eva] Done for function my_switch
 [eva:alarm] test5.i:21: Warning: