java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-simple/dll2n_insert_unequal_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 17:25:50,458 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 17:25:50,466 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 17:25:50,481 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 17:25:50,481 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 17:25:50,482 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 17:25:50,483 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 17:25:50,485 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 17:25:50,488 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 17:25:50,489 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 17:25:50,495 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 17:25:50,496 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 17:25:50,497 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 17:25:50,500 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 17:25:50,501 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 17:25:50,502 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 17:25:50,507 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 17:25:50,512 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 17:25:50,514 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 17:25:50,515 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 17:25:50,519 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 17:25:50,523 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 17:25:50,528 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 17:25:50,529 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 17:25:50,529 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 17:25:50,530 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 17:25:50,531 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 17:25:50,535 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 17:25:50,536 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 17:25:50,537 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 17:25:50,538 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 17:25:50,538 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 17:25:50,540 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 17:25:50,541 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 17:25:50,542 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 17:25:50,542 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 17:25:50,543 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-14 17:25:50,574 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 17:25:50,574 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 17:25:50,575 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 17:25:50,576 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 17:25:50,579 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 17:25:50,579 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 17:25:50,579 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 17:25:50,580 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 17:25:50,580 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 17:25:50,580 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 17:25:50,580 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 17:25:50,580 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 17:25:50,582 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 17:25:50,582 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 17:25:50,582 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 17:25:50,582 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 17:25:50,582 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 17:25:50,583 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 17:25:50,583 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 17:25:50,583 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 17:25:50,583 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 17:25:50,583 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 17:25:50,583 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:25:50,585 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 17:25:50,585 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 17:25:50,585 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 17:25:50,585 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 17:25:50,586 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 17:25:50,586 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 17:25:50,586 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 17:25:50,642 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 17:25:50,657 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 17:25:50,660 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 17:25:50,662 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 17:25:50,663 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 17:25:50,664 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-simple/dll2n_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 17:25:50,723 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be6faad9f/215b492a84e04f3685b71060b31ada56/FLAG200f3f8f6 [2018-11-14 17:25:51,225 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 17:25:51,226 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-simple/dll2n_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 17:25:51,241 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be6faad9f/215b492a84e04f3685b71060b31ada56/FLAG200f3f8f6 [2018-11-14 17:25:51,260 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be6faad9f/215b492a84e04f3685b71060b31ada56 [2018-11-14 17:25:51,269 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 17:25:51,271 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 17:25:51,272 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 17:25:51,272 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 17:25:51,276 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 17:25:51,277 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:25:51" (1/1) ... [2018-11-14 17:25:51,280 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@602d4844 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:51, skipping insertion in model container [2018-11-14 17:25:51,281 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:25:51" (1/1) ... [2018-11-14 17:25:51,292 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 17:25:51,360 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 17:25:51,865 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:25:51,880 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 17:25:51,975 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:25:52,147 INFO L195 MainTranslator]: Completed translation [2018-11-14 17:25:52,147 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52 WrapperNode [2018-11-14 17:25:52,148 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 17:25:52,148 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 17:25:52,149 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 17:25:52,149 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 17:25:52,165 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,165 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,192 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,194 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,247 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,259 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,264 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... [2018-11-14 17:25:52,288 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 17:25:52,288 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 17:25:52,288 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 17:25:52,289 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 17:25:52,290 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:25:52,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 17:25:52,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 17:25:52,358 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2018-11-14 17:25:52,358 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2018-11-14 17:25:52,358 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-14 17:25:52,359 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2018-11-14 17:25:52,359 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create [2018-11-14 17:25:52,359 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_destroy [2018-11-14 17:25:52,359 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_insert [2018-11-14 17:25:52,359 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 17:25:52,359 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 17:25:52,360 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2018-11-14 17:25:52,360 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2018-11-14 17:25:52,360 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2018-11-14 17:25:52,360 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2018-11-14 17:25:52,360 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2018-11-14 17:25:52,361 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2018-11-14 17:25:52,361 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2018-11-14 17:25:52,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2018-11-14 17:25:52,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2018-11-14 17:25:52,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2018-11-14 17:25:52,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2018-11-14 17:25:52,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2018-11-14 17:25:52,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2018-11-14 17:25:52,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2018-11-14 17:25:52,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure select [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2018-11-14 17:25:52,363 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure random [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2018-11-14 17:25:52,364 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2018-11-14 17:25:52,365 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2018-11-14 17:25:52,366 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2018-11-14 17:25:52,367 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2018-11-14 17:25:52,368 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2018-11-14 17:25:52,369 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2018-11-14 17:25:52,369 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2018-11-14 17:25:52,369 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2018-11-14 17:25:52,369 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2018-11-14 17:25:52,369 INFO L130 BoogieDeclarations]: Found specification of procedure free [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2018-11-14 17:25:52,370 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2018-11-14 17:25:52,371 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2018-11-14 17:25:52,372 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2018-11-14 17:25:52,373 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2018-11-14 17:25:52,373 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2018-11-14 17:25:52,373 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2018-11-14 17:25:52,373 INFO L130 BoogieDeclarations]: Found specification of procedure system [2018-11-14 17:25:52,373 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2018-11-14 17:25:52,374 INFO L130 BoogieDeclarations]: Found specification of procedure div [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2018-11-14 17:25:52,375 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2018-11-14 17:25:52,376 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2018-11-14 17:25:52,377 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2018-11-14 17:25:52,377 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2018-11-14 17:25:52,377 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2018-11-14 17:25:52,377 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2018-11-14 17:25:52,377 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 17:25:52,378 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure dll_destroy [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure dll_insert [2018-11-14 17:25:52,379 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 17:25:52,380 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 17:25:52,380 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 17:25:52,380 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 17:25:52,380 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 17:25:54,009 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 17:25:54,010 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:25:54 BoogieIcfgContainer [2018-11-14 17:25:54,010 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 17:25:54,011 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 17:25:54,011 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 17:25:54,015 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 17:25:54,015 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 05:25:51" (1/3) ... [2018-11-14 17:25:54,016 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@757d1208 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:25:54, skipping insertion in model container [2018-11-14 17:25:54,016 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:25:52" (2/3) ... [2018-11-14 17:25:54,017 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@757d1208 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:25:54, skipping insertion in model container [2018-11-14 17:25:54,017 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:25:54" (3/3) ... [2018-11-14 17:25:54,019 INFO L112 eAbstractionObserver]: Analyzing ICFG dll2n_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 17:25:54,028 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 17:25:54,037 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 17:25:54,055 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 17:25:54,090 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 17:25:54,091 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 17:25:54,091 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 17:25:54,091 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 17:25:54,091 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 17:25:54,092 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 17:25:54,092 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 17:25:54,092 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 17:25:54,092 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 17:25:54,114 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states. [2018-11-14 17:25:54,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-14 17:25:54,122 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:54,123 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:54,126 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:54,132 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:54,132 INFO L82 PathProgramCache]: Analyzing trace with hash 793516628, now seen corresponding path program 1 times [2018-11-14 17:25:54,134 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:54,134 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:54,203 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:54,204 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:54,204 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:54,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:54,406 INFO L256 TraceCheckUtils]: 0: Hoare triple {65#true} call ULTIMATE.init(); {65#true} is VALID [2018-11-14 17:25:54,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {65#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {65#true} is VALID [2018-11-14 17:25:54,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {65#true} assume true; {65#true} is VALID [2018-11-14 17:25:54,411 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {65#true} {65#true} #175#return; {65#true} is VALID [2018-11-14 17:25:54,411 INFO L256 TraceCheckUtils]: 4: Hoare triple {65#true} call #t~ret25 := main(); {65#true} is VALID [2018-11-14 17:25:54,412 INFO L273 TraceCheckUtils]: 5: Hoare triple {65#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {65#true} is VALID [2018-11-14 17:25:54,412 INFO L256 TraceCheckUtils]: 6: Hoare triple {65#true} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {65#true} is VALID [2018-11-14 17:25:54,413 INFO L273 TraceCheckUtils]: 7: Hoare triple {65#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {65#true} is VALID [2018-11-14 17:25:54,415 INFO L273 TraceCheckUtils]: 8: Hoare triple {65#true} assume !true; {66#false} is VALID [2018-11-14 17:25:54,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {66#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {66#false} is VALID [2018-11-14 17:25:54,416 INFO L273 TraceCheckUtils]: 10: Hoare triple {66#false} assume true; {66#false} is VALID [2018-11-14 17:25:54,416 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {66#false} {65#true} #167#return; {66#false} is VALID [2018-11-14 17:25:54,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {66#false} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {66#false} is VALID [2018-11-14 17:25:54,417 INFO L256 TraceCheckUtils]: 13: Hoare triple {66#false} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {65#true} is VALID [2018-11-14 17:25:54,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {65#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {65#true} is VALID [2018-11-14 17:25:54,417 INFO L256 TraceCheckUtils]: 15: Hoare triple {65#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {65#true} is VALID [2018-11-14 17:25:54,420 INFO L273 TraceCheckUtils]: 16: Hoare triple {65#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {65#true} is VALID [2018-11-14 17:25:54,421 INFO L273 TraceCheckUtils]: 17: Hoare triple {65#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {65#true} is VALID [2018-11-14 17:25:54,421 INFO L273 TraceCheckUtils]: 18: Hoare triple {65#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {65#true} is VALID [2018-11-14 17:25:54,421 INFO L273 TraceCheckUtils]: 19: Hoare triple {65#true} assume true; {65#true} is VALID [2018-11-14 17:25:54,422 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {65#true} {65#true} #163#return; {65#true} is VALID [2018-11-14 17:25:54,422 INFO L273 TraceCheckUtils]: 21: Hoare triple {65#true} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {65#true} is VALID [2018-11-14 17:25:54,423 INFO L273 TraceCheckUtils]: 22: Hoare triple {65#true} assume !true; {65#true} is VALID [2018-11-14 17:25:54,423 INFO L273 TraceCheckUtils]: 23: Hoare triple {65#true} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {65#true} is VALID [2018-11-14 17:25:54,423 INFO L273 TraceCheckUtils]: 24: Hoare triple {65#true} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {65#true} is VALID [2018-11-14 17:25:54,424 INFO L273 TraceCheckUtils]: 25: Hoare triple {65#true} assume true; {65#true} is VALID [2018-11-14 17:25:54,424 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {65#true} {66#false} #169#return; {66#false} is VALID [2018-11-14 17:25:54,425 INFO L273 TraceCheckUtils]: 27: Hoare triple {66#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {66#false} is VALID [2018-11-14 17:25:54,425 INFO L273 TraceCheckUtils]: 28: Hoare triple {66#false} assume !true; {66#false} is VALID [2018-11-14 17:25:54,425 INFO L273 TraceCheckUtils]: 29: Hoare triple {66#false} call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {66#false} is VALID [2018-11-14 17:25:54,426 INFO L273 TraceCheckUtils]: 30: Hoare triple {66#false} assume ~uneq~0 != #t~mem18;havoc #t~mem18; {66#false} is VALID [2018-11-14 17:25:54,426 INFO L273 TraceCheckUtils]: 31: Hoare triple {66#false} assume !false; {66#false} is VALID [2018-11-14 17:25:54,443 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:25:54,449 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:25:54,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 17:25:54,457 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 17:25:54,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:54,466 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 17:25:54,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:54,737 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 17:25:54,746 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 17:25:54,746 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:25:54,749 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 2 states. [2018-11-14 17:25:54,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:54,977 INFO L93 Difference]: Finished difference Result 109 states and 143 transitions. [2018-11-14 17:25:54,977 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 17:25:54,978 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 17:25:54,978 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:25:54,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:25:54,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 143 transitions. [2018-11-14 17:25:54,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:25:55,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 143 transitions. [2018-11-14 17:25:55,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 143 transitions. [2018-11-14 17:25:55,431 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:55,444 INFO L225 Difference]: With dead ends: 109 [2018-11-14 17:25:55,444 INFO L226 Difference]: Without dead ends: 47 [2018-11-14 17:25:55,448 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:25:55,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-14 17:25:55,492 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-14 17:25:55,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:25:55,493 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 47 states. [2018-11-14 17:25:55,493 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 47 states. [2018-11-14 17:25:55,493 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 47 states. [2018-11-14 17:25:55,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:55,499 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2018-11-14 17:25:55,499 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2018-11-14 17:25:55,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:55,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:55,501 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 47 states. [2018-11-14 17:25:55,501 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 47 states. [2018-11-14 17:25:55,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:55,508 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2018-11-14 17:25:55,508 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2018-11-14 17:25:55,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:55,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:55,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:25:55,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:25:55,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-14 17:25:55,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 57 transitions. [2018-11-14 17:25:55,516 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 57 transitions. Word has length 32 [2018-11-14 17:25:55,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:25:55,516 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 57 transitions. [2018-11-14 17:25:55,517 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 17:25:55,517 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2018-11-14 17:25:55,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-14 17:25:55,518 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:55,519 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:55,519 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:55,519 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:55,519 INFO L82 PathProgramCache]: Analyzing trace with hash 610345723, now seen corresponding path program 1 times [2018-11-14 17:25:55,520 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:55,520 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:55,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:55,522 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:55,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:55,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:55,662 INFO L256 TraceCheckUtils]: 0: Hoare triple {368#true} call ULTIMATE.init(); {368#true} is VALID [2018-11-14 17:25:55,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {368#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {368#true} is VALID [2018-11-14 17:25:55,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {368#true} assume true; {368#true} is VALID [2018-11-14 17:25:55,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {368#true} {368#true} #175#return; {368#true} is VALID [2018-11-14 17:25:55,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {368#true} call #t~ret25 := main(); {368#true} is VALID [2018-11-14 17:25:55,663 INFO L273 TraceCheckUtils]: 5: Hoare triple {368#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {368#true} is VALID [2018-11-14 17:25:55,664 INFO L256 TraceCheckUtils]: 6: Hoare triple {368#true} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {368#true} is VALID [2018-11-14 17:25:55,664 INFO L273 TraceCheckUtils]: 7: Hoare triple {368#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {368#true} is VALID [2018-11-14 17:25:55,664 INFO L273 TraceCheckUtils]: 8: Hoare triple {368#true} assume true; {368#true} is VALID [2018-11-14 17:25:55,664 INFO L273 TraceCheckUtils]: 9: Hoare triple {368#true} assume !(~len > 0); {368#true} is VALID [2018-11-14 17:25:55,665 INFO L273 TraceCheckUtils]: 10: Hoare triple {368#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {368#true} is VALID [2018-11-14 17:25:55,665 INFO L273 TraceCheckUtils]: 11: Hoare triple {368#true} assume true; {368#true} is VALID [2018-11-14 17:25:55,666 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {368#true} {368#true} #167#return; {368#true} is VALID [2018-11-14 17:25:55,666 INFO L273 TraceCheckUtils]: 13: Hoare triple {368#true} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {368#true} is VALID [2018-11-14 17:25:55,667 INFO L256 TraceCheckUtils]: 14: Hoare triple {368#true} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {368#true} is VALID [2018-11-14 17:25:55,667 INFO L273 TraceCheckUtils]: 15: Hoare triple {368#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {368#true} is VALID [2018-11-14 17:25:55,667 INFO L256 TraceCheckUtils]: 16: Hoare triple {368#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {368#true} is VALID [2018-11-14 17:25:55,667 INFO L273 TraceCheckUtils]: 17: Hoare triple {368#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {368#true} is VALID [2018-11-14 17:25:55,668 INFO L273 TraceCheckUtils]: 18: Hoare triple {368#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {368#true} is VALID [2018-11-14 17:25:55,668 INFO L273 TraceCheckUtils]: 19: Hoare triple {368#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {368#true} is VALID [2018-11-14 17:25:55,668 INFO L273 TraceCheckUtils]: 20: Hoare triple {368#true} assume true; {368#true} is VALID [2018-11-14 17:25:55,669 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {368#true} {368#true} #163#return; {368#true} is VALID [2018-11-14 17:25:55,670 INFO L273 TraceCheckUtils]: 22: Hoare triple {368#true} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 17:25:55,675 INFO L273 TraceCheckUtils]: 23: Hoare triple {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} assume true; {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 17:25:55,678 INFO L273 TraceCheckUtils]: 24: Hoare triple {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} assume !(~index > 0); {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 17:25:55,688 INFO L273 TraceCheckUtils]: 25: Hoare triple {370#(and (= dll_insert_~snd_to_last~0.base 0) (= dll_insert_~snd_to_last~0.offset 0))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {369#false} is VALID [2018-11-14 17:25:55,688 INFO L273 TraceCheckUtils]: 26: Hoare triple {369#false} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {369#false} is VALID [2018-11-14 17:25:55,688 INFO L273 TraceCheckUtils]: 27: Hoare triple {369#false} assume true; {369#false} is VALID [2018-11-14 17:25:55,689 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {369#false} {368#true} #169#return; {369#false} is VALID [2018-11-14 17:25:55,689 INFO L273 TraceCheckUtils]: 29: Hoare triple {369#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {369#false} is VALID [2018-11-14 17:25:55,689 INFO L273 TraceCheckUtils]: 30: Hoare triple {369#false} assume true; {369#false} is VALID [2018-11-14 17:25:55,690 INFO L273 TraceCheckUtils]: 31: Hoare triple {369#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {369#false} is VALID [2018-11-14 17:25:55,690 INFO L273 TraceCheckUtils]: 32: Hoare triple {369#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {369#false} is VALID [2018-11-14 17:25:55,690 INFO L273 TraceCheckUtils]: 33: Hoare triple {369#false} assume !false; {369#false} is VALID [2018-11-14 17:25:55,693 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:25:55,693 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:25:55,693 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:25:55,695 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 34 [2018-11-14 17:25:55,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:55,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:25:55,796 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:55,796 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:25:55,797 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:25:55,797 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:25:55,798 INFO L87 Difference]: Start difference. First operand 47 states and 57 transitions. Second operand 3 states. [2018-11-14 17:25:56,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:56,005 INFO L93 Difference]: Finished difference Result 67 states and 84 transitions. [2018-11-14 17:25:56,005 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:25:56,005 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 34 [2018-11-14 17:25:56,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:25:56,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:25:56,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 84 transitions. [2018-11-14 17:25:56,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:25:56,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 84 transitions. [2018-11-14 17:25:56,013 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 84 transitions. [2018-11-14 17:25:56,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:56,208 INFO L225 Difference]: With dead ends: 67 [2018-11-14 17:25:56,208 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 17:25:56,209 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:25:56,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 17:25:56,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2018-11-14 17:25:56,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:25:56,239 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 50 states. [2018-11-14 17:25:56,239 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 50 states. [2018-11-14 17:25:56,240 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 50 states. [2018-11-14 17:25:56,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:56,245 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2018-11-14 17:25:56,245 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-14 17:25:56,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:56,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:56,246 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 52 states. [2018-11-14 17:25:56,246 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 52 states. [2018-11-14 17:25:56,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:56,250 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2018-11-14 17:25:56,251 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-14 17:25:56,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:56,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:56,252 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:25:56,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:25:56,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-14 17:25:56,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 61 transitions. [2018-11-14 17:25:56,256 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 61 transitions. Word has length 34 [2018-11-14 17:25:56,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:25:56,256 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 61 transitions. [2018-11-14 17:25:56,257 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:25:56,257 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 61 transitions. [2018-11-14 17:25:56,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-14 17:25:56,258 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:56,258 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:56,259 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:56,259 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:56,259 INFO L82 PathProgramCache]: Analyzing trace with hash -385848177, now seen corresponding path program 1 times [2018-11-14 17:25:56,259 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:56,259 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:56,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:56,265 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:56,266 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:56,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:56,416 INFO L256 TraceCheckUtils]: 0: Hoare triple {629#true} call ULTIMATE.init(); {629#true} is VALID [2018-11-14 17:25:56,416 INFO L273 TraceCheckUtils]: 1: Hoare triple {629#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {629#true} is VALID [2018-11-14 17:25:56,417 INFO L273 TraceCheckUtils]: 2: Hoare triple {629#true} assume true; {629#true} is VALID [2018-11-14 17:25:56,417 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {629#true} {629#true} #175#return; {629#true} is VALID [2018-11-14 17:25:56,418 INFO L256 TraceCheckUtils]: 4: Hoare triple {629#true} call #t~ret25 := main(); {629#true} is VALID [2018-11-14 17:25:56,419 INFO L273 TraceCheckUtils]: 5: Hoare triple {629#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {631#(<= 2 main_~len~0)} is VALID [2018-11-14 17:25:56,419 INFO L256 TraceCheckUtils]: 6: Hoare triple {631#(<= 2 main_~len~0)} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {629#true} is VALID [2018-11-14 17:25:56,423 INFO L273 TraceCheckUtils]: 7: Hoare triple {629#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {632#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:56,423 INFO L273 TraceCheckUtils]: 8: Hoare triple {632#(<= |dll_create_#in~len| dll_create_~len)} assume true; {632#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:56,427 INFO L273 TraceCheckUtils]: 9: Hoare triple {632#(<= |dll_create_#in~len| dll_create_~len)} assume !(~len > 0); {633#(<= |dll_create_#in~len| 0)} is VALID [2018-11-14 17:25:56,429 INFO L273 TraceCheckUtils]: 10: Hoare triple {633#(<= |dll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {633#(<= |dll_create_#in~len| 0)} is VALID [2018-11-14 17:25:56,432 INFO L273 TraceCheckUtils]: 11: Hoare triple {633#(<= |dll_create_#in~len| 0)} assume true; {633#(<= |dll_create_#in~len| 0)} is VALID [2018-11-14 17:25:56,434 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {633#(<= |dll_create_#in~len| 0)} {631#(<= 2 main_~len~0)} #167#return; {630#false} is VALID [2018-11-14 17:25:56,434 INFO L273 TraceCheckUtils]: 13: Hoare triple {630#false} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {630#false} is VALID [2018-11-14 17:25:56,434 INFO L256 TraceCheckUtils]: 14: Hoare triple {630#false} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {629#true} is VALID [2018-11-14 17:25:56,434 INFO L273 TraceCheckUtils]: 15: Hoare triple {629#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {629#true} is VALID [2018-11-14 17:25:56,435 INFO L256 TraceCheckUtils]: 16: Hoare triple {629#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {629#true} is VALID [2018-11-14 17:25:56,435 INFO L273 TraceCheckUtils]: 17: Hoare triple {629#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {629#true} is VALID [2018-11-14 17:25:56,435 INFO L273 TraceCheckUtils]: 18: Hoare triple {629#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {629#true} is VALID [2018-11-14 17:25:56,435 INFO L273 TraceCheckUtils]: 19: Hoare triple {629#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {629#true} is VALID [2018-11-14 17:25:56,436 INFO L273 TraceCheckUtils]: 20: Hoare triple {629#true} assume true; {629#true} is VALID [2018-11-14 17:25:56,436 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {629#true} {629#true} #163#return; {629#true} is VALID [2018-11-14 17:25:56,436 INFO L273 TraceCheckUtils]: 22: Hoare triple {629#true} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {629#true} is VALID [2018-11-14 17:25:56,437 INFO L273 TraceCheckUtils]: 23: Hoare triple {629#true} assume true; {629#true} is VALID [2018-11-14 17:25:56,438 INFO L273 TraceCheckUtils]: 24: Hoare triple {629#true} assume !(~index > 0); {629#true} is VALID [2018-11-14 17:25:56,438 INFO L273 TraceCheckUtils]: 25: Hoare triple {629#true} assume !(~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem10.base, #t~mem10.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4);havoc #t~mem10.base, #t~mem10.offset;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head.base, ~head.offset, 4); {629#true} is VALID [2018-11-14 17:25:56,438 INFO L273 TraceCheckUtils]: 26: Hoare triple {629#true} assume #t~mem11.base != 0 || #t~mem11.offset != 0;havoc #t~mem11.base, #t~mem11.offset;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, #t~mem12.base, #t~mem12.offset + 8, 4);havoc #t~mem12.base, #t~mem12.offset; {629#true} is VALID [2018-11-14 17:25:56,438 INFO L273 TraceCheckUtils]: 27: Hoare triple {629#true} call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~head.base, ~head.offset, 4); {629#true} is VALID [2018-11-14 17:25:56,439 INFO L273 TraceCheckUtils]: 28: Hoare triple {629#true} assume true; {629#true} is VALID [2018-11-14 17:25:56,439 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {629#true} {630#false} #169#return; {630#false} is VALID [2018-11-14 17:25:56,439 INFO L273 TraceCheckUtils]: 30: Hoare triple {630#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {630#false} is VALID [2018-11-14 17:25:56,439 INFO L273 TraceCheckUtils]: 31: Hoare triple {630#false} assume true; {630#false} is VALID [2018-11-14 17:25:56,440 INFO L273 TraceCheckUtils]: 32: Hoare triple {630#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {630#false} is VALID [2018-11-14 17:25:56,440 INFO L273 TraceCheckUtils]: 33: Hoare triple {630#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {630#false} is VALID [2018-11-14 17:25:56,440 INFO L273 TraceCheckUtils]: 34: Hoare triple {630#false} assume !false; {630#false} is VALID [2018-11-14 17:25:56,442 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:25:56,442 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:25:56,443 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-14 17:25:56,443 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 35 [2018-11-14 17:25:56,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:56,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 17:25:56,556 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:56,556 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 17:25:56,557 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 17:25:56,557 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:25:56,558 INFO L87 Difference]: Start difference. First operand 50 states and 61 transitions. Second operand 5 states. [2018-11-14 17:25:56,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:56,905 INFO L93 Difference]: Finished difference Result 92 states and 114 transitions. [2018-11-14 17:25:56,905 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 17:25:56,906 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 35 [2018-11-14 17:25:56,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:25:56,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:25:56,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 106 transitions. [2018-11-14 17:25:56,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:25:56,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 106 transitions. [2018-11-14 17:25:56,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 106 transitions. [2018-11-14 17:25:57,106 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:57,110 INFO L225 Difference]: With dead ends: 92 [2018-11-14 17:25:57,111 INFO L226 Difference]: Without dead ends: 56 [2018-11-14 17:25:57,112 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:25:57,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-14 17:25:57,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 52. [2018-11-14 17:25:57,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:25:57,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 52 states. [2018-11-14 17:25:57,146 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 52 states. [2018-11-14 17:25:57,146 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 52 states. [2018-11-14 17:25:57,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:57,148 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2018-11-14 17:25:57,149 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2018-11-14 17:25:57,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:57,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:57,150 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 56 states. [2018-11-14 17:25:57,150 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 56 states. [2018-11-14 17:25:57,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:57,153 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2018-11-14 17:25:57,153 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2018-11-14 17:25:57,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:57,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:57,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:25:57,155 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:25:57,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-14 17:25:57,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2018-11-14 17:25:57,158 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 35 [2018-11-14 17:25:57,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:25:57,158 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2018-11-14 17:25:57,159 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 17:25:57,159 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-14 17:25:57,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-14 17:25:57,160 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:57,160 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:57,161 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:57,161 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:57,161 INFO L82 PathProgramCache]: Analyzing trace with hash 531868515, now seen corresponding path program 1 times [2018-11-14 17:25:57,161 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:57,161 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:57,163 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:57,163 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:57,163 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:57,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:57,251 INFO L256 TraceCheckUtils]: 0: Hoare triple {937#true} call ULTIMATE.init(); {937#true} is VALID [2018-11-14 17:25:57,252 INFO L273 TraceCheckUtils]: 1: Hoare triple {937#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {937#true} is VALID [2018-11-14 17:25:57,252 INFO L273 TraceCheckUtils]: 2: Hoare triple {937#true} assume true; {937#true} is VALID [2018-11-14 17:25:57,252 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {937#true} {937#true} #175#return; {937#true} is VALID [2018-11-14 17:25:57,253 INFO L256 TraceCheckUtils]: 4: Hoare triple {937#true} call #t~ret25 := main(); {937#true} is VALID [2018-11-14 17:25:57,253 INFO L273 TraceCheckUtils]: 5: Hoare triple {937#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {937#true} is VALID [2018-11-14 17:25:57,254 INFO L256 TraceCheckUtils]: 6: Hoare triple {937#true} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {937#true} is VALID [2018-11-14 17:25:57,258 INFO L273 TraceCheckUtils]: 7: Hoare triple {937#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-14 17:25:57,259 INFO L273 TraceCheckUtils]: 8: Hoare triple {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume true; {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-14 17:25:57,261 INFO L273 TraceCheckUtils]: 9: Hoare triple {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-14 17:25:57,261 INFO L273 TraceCheckUtils]: 10: Hoare triple {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-14 17:25:57,272 INFO L273 TraceCheckUtils]: 11: Hoare triple {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-14 17:25:57,273 INFO L273 TraceCheckUtils]: 12: Hoare triple {939#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~head~0.offset + 8, 4); {938#false} is VALID [2018-11-14 17:25:57,273 INFO L273 TraceCheckUtils]: 13: Hoare triple {938#false} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {938#false} is VALID [2018-11-14 17:25:57,274 INFO L273 TraceCheckUtils]: 14: Hoare triple {938#false} assume true; {938#false} is VALID [2018-11-14 17:25:57,274 INFO L273 TraceCheckUtils]: 15: Hoare triple {938#false} assume !(~len > 0); {938#false} is VALID [2018-11-14 17:25:57,274 INFO L273 TraceCheckUtils]: 16: Hoare triple {938#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {938#false} is VALID [2018-11-14 17:25:57,274 INFO L273 TraceCheckUtils]: 17: Hoare triple {938#false} assume true; {938#false} is VALID [2018-11-14 17:25:57,275 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {938#false} {937#true} #167#return; {938#false} is VALID [2018-11-14 17:25:57,275 INFO L273 TraceCheckUtils]: 19: Hoare triple {938#false} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {938#false} is VALID [2018-11-14 17:25:57,275 INFO L256 TraceCheckUtils]: 20: Hoare triple {938#false} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {937#true} is VALID [2018-11-14 17:25:57,276 INFO L273 TraceCheckUtils]: 21: Hoare triple {937#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {937#true} is VALID [2018-11-14 17:25:57,276 INFO L256 TraceCheckUtils]: 22: Hoare triple {937#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {937#true} is VALID [2018-11-14 17:25:57,276 INFO L273 TraceCheckUtils]: 23: Hoare triple {937#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {937#true} is VALID [2018-11-14 17:25:57,277 INFO L273 TraceCheckUtils]: 24: Hoare triple {937#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {937#true} is VALID [2018-11-14 17:25:57,277 INFO L273 TraceCheckUtils]: 25: Hoare triple {937#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {937#true} is VALID [2018-11-14 17:25:57,277 INFO L273 TraceCheckUtils]: 26: Hoare triple {937#true} assume true; {937#true} is VALID [2018-11-14 17:25:57,277 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {937#true} {937#true} #163#return; {937#true} is VALID [2018-11-14 17:25:57,278 INFO L273 TraceCheckUtils]: 28: Hoare triple {937#true} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {937#true} is VALID [2018-11-14 17:25:57,278 INFO L273 TraceCheckUtils]: 29: Hoare triple {937#true} assume true; {937#true} is VALID [2018-11-14 17:25:57,278 INFO L273 TraceCheckUtils]: 30: Hoare triple {937#true} assume !(~index > 0); {937#true} is VALID [2018-11-14 17:25:57,279 INFO L273 TraceCheckUtils]: 31: Hoare triple {937#true} assume !(~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem10.base, #t~mem10.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4);havoc #t~mem10.base, #t~mem10.offset;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head.base, ~head.offset, 4); {937#true} is VALID [2018-11-14 17:25:57,279 INFO L273 TraceCheckUtils]: 32: Hoare triple {937#true} assume #t~mem11.base != 0 || #t~mem11.offset != 0;havoc #t~mem11.base, #t~mem11.offset;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, #t~mem12.base, #t~mem12.offset + 8, 4);havoc #t~mem12.base, #t~mem12.offset; {937#true} is VALID [2018-11-14 17:25:57,279 INFO L273 TraceCheckUtils]: 33: Hoare triple {937#true} call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~head.base, ~head.offset, 4); {937#true} is VALID [2018-11-14 17:25:57,280 INFO L273 TraceCheckUtils]: 34: Hoare triple {937#true} assume true; {937#true} is VALID [2018-11-14 17:25:57,280 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {937#true} {938#false} #169#return; {938#false} is VALID [2018-11-14 17:25:57,280 INFO L273 TraceCheckUtils]: 36: Hoare triple {938#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {938#false} is VALID [2018-11-14 17:25:57,280 INFO L273 TraceCheckUtils]: 37: Hoare triple {938#false} assume true; {938#false} is VALID [2018-11-14 17:25:57,281 INFO L273 TraceCheckUtils]: 38: Hoare triple {938#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {938#false} is VALID [2018-11-14 17:25:57,281 INFO L273 TraceCheckUtils]: 39: Hoare triple {938#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {938#false} is VALID [2018-11-14 17:25:57,281 INFO L273 TraceCheckUtils]: 40: Hoare triple {938#false} assume !false; {938#false} is VALID [2018-11-14 17:25:57,285 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:25:57,285 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:25:57,285 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:25:57,286 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 41 [2018-11-14 17:25:57,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:57,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:25:57,369 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:57,369 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:25:57,369 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:25:57,370 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:25:57,370 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand 3 states. [2018-11-14 17:25:57,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:57,597 INFO L93 Difference]: Finished difference Result 98 states and 121 transitions. [2018-11-14 17:25:57,597 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:25:57,598 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 41 [2018-11-14 17:25:57,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:25:57,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:25:57,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 113 transitions. [2018-11-14 17:25:57,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:25:57,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 113 transitions. [2018-11-14 17:25:57,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 113 transitions. [2018-11-14 17:25:57,803 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:57,806 INFO L225 Difference]: With dead ends: 98 [2018-11-14 17:25:57,806 INFO L226 Difference]: Without dead ends: 56 [2018-11-14 17:25:57,807 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:25:57,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-14 17:25:57,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2018-11-14 17:25:57,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:25:57,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 55 states. [2018-11-14 17:25:57,840 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 55 states. [2018-11-14 17:25:57,840 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 55 states. [2018-11-14 17:25:57,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:57,844 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2018-11-14 17:25:57,844 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2018-11-14 17:25:57,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:57,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:57,845 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 56 states. [2018-11-14 17:25:57,845 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 56 states. [2018-11-14 17:25:57,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:57,848 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2018-11-14 17:25:57,849 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2018-11-14 17:25:57,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:57,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:57,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:25:57,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:25:57,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-14 17:25:57,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 66 transitions. [2018-11-14 17:25:57,853 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 66 transitions. Word has length 41 [2018-11-14 17:25:57,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:25:57,853 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 66 transitions. [2018-11-14 17:25:57,853 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:25:57,854 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2018-11-14 17:25:57,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-14 17:25:57,855 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:57,855 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:57,855 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:57,855 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:57,856 INFO L82 PathProgramCache]: Analyzing trace with hash 1918071909, now seen corresponding path program 1 times [2018-11-14 17:25:57,856 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:57,856 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:57,858 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:57,858 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:57,858 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:57,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:58,054 INFO L256 TraceCheckUtils]: 0: Hoare triple {1251#true} call ULTIMATE.init(); {1251#true} is VALID [2018-11-14 17:25:58,055 INFO L273 TraceCheckUtils]: 1: Hoare triple {1251#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1251#true} is VALID [2018-11-14 17:25:58,055 INFO L273 TraceCheckUtils]: 2: Hoare triple {1251#true} assume true; {1251#true} is VALID [2018-11-14 17:25:58,055 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1251#true} {1251#true} #175#return; {1251#true} is VALID [2018-11-14 17:25:58,056 INFO L256 TraceCheckUtils]: 4: Hoare triple {1251#true} call #t~ret25 := main(); {1251#true} is VALID [2018-11-14 17:25:58,057 INFO L273 TraceCheckUtils]: 5: Hoare triple {1251#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {1253#(<= 2 main_~len~0)} is VALID [2018-11-14 17:25:58,057 INFO L256 TraceCheckUtils]: 6: Hoare triple {1253#(<= 2 main_~len~0)} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {1251#true} is VALID [2018-11-14 17:25:58,058 INFO L273 TraceCheckUtils]: 7: Hoare triple {1251#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1251#true} is VALID [2018-11-14 17:25:58,058 INFO L273 TraceCheckUtils]: 8: Hoare triple {1251#true} assume true; {1251#true} is VALID [2018-11-14 17:25:58,058 INFO L273 TraceCheckUtils]: 9: Hoare triple {1251#true} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1251#true} is VALID [2018-11-14 17:25:58,058 INFO L273 TraceCheckUtils]: 10: Hoare triple {1251#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1251#true} is VALID [2018-11-14 17:25:58,059 INFO L273 TraceCheckUtils]: 11: Hoare triple {1251#true} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {1251#true} is VALID [2018-11-14 17:25:58,059 INFO L273 TraceCheckUtils]: 12: Hoare triple {1251#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1251#true} is VALID [2018-11-14 17:25:58,059 INFO L273 TraceCheckUtils]: 13: Hoare triple {1251#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {1251#true} is VALID [2018-11-14 17:25:58,059 INFO L273 TraceCheckUtils]: 14: Hoare triple {1251#true} assume true; {1251#true} is VALID [2018-11-14 17:25:58,059 INFO L273 TraceCheckUtils]: 15: Hoare triple {1251#true} assume !(~len > 0); {1251#true} is VALID [2018-11-14 17:25:58,060 INFO L273 TraceCheckUtils]: 16: Hoare triple {1251#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1251#true} is VALID [2018-11-14 17:25:58,060 INFO L273 TraceCheckUtils]: 17: Hoare triple {1251#true} assume true; {1251#true} is VALID [2018-11-14 17:25:58,061 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1251#true} {1253#(<= 2 main_~len~0)} #167#return; {1253#(<= 2 main_~len~0)} is VALID [2018-11-14 17:25:58,079 INFO L273 TraceCheckUtils]: 19: Hoare triple {1253#(<= 2 main_~len~0)} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1254#(<= 1 main_~mid_index~0)} is VALID [2018-11-14 17:25:58,079 INFO L256 TraceCheckUtils]: 20: Hoare triple {1254#(<= 1 main_~mid_index~0)} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {1251#true} is VALID [2018-11-14 17:25:58,093 INFO L273 TraceCheckUtils]: 21: Hoare triple {1251#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {1255#(= dll_insert_~index |dll_insert_#in~index|)} is VALID [2018-11-14 17:25:58,093 INFO L256 TraceCheckUtils]: 22: Hoare triple {1255#(= dll_insert_~index |dll_insert_#in~index|)} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1251#true} is VALID [2018-11-14 17:25:58,094 INFO L273 TraceCheckUtils]: 23: Hoare triple {1251#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1251#true} is VALID [2018-11-14 17:25:58,094 INFO L273 TraceCheckUtils]: 24: Hoare triple {1251#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1251#true} is VALID [2018-11-14 17:25:58,094 INFO L273 TraceCheckUtils]: 25: Hoare triple {1251#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1251#true} is VALID [2018-11-14 17:25:58,094 INFO L273 TraceCheckUtils]: 26: Hoare triple {1251#true} assume true; {1251#true} is VALID [2018-11-14 17:25:58,095 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1251#true} {1255#(= dll_insert_~index |dll_insert_#in~index|)} #163#return; {1255#(= dll_insert_~index |dll_insert_#in~index|)} is VALID [2018-11-14 17:25:58,098 INFO L273 TraceCheckUtils]: 28: Hoare triple {1255#(= dll_insert_~index |dll_insert_#in~index|)} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {1255#(= dll_insert_~index |dll_insert_#in~index|)} is VALID [2018-11-14 17:25:58,098 INFO L273 TraceCheckUtils]: 29: Hoare triple {1255#(= dll_insert_~index |dll_insert_#in~index|)} assume true; {1255#(= dll_insert_~index |dll_insert_#in~index|)} is VALID [2018-11-14 17:25:58,099 INFO L273 TraceCheckUtils]: 30: Hoare triple {1255#(= dll_insert_~index |dll_insert_#in~index|)} assume !(~index > 0); {1256#(<= |dll_insert_#in~index| 0)} is VALID [2018-11-14 17:25:58,099 INFO L273 TraceCheckUtils]: 31: Hoare triple {1256#(<= |dll_insert_#in~index| 0)} assume !(~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem10.base, #t~mem10.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4);havoc #t~mem10.base, #t~mem10.offset;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1256#(<= |dll_insert_#in~index| 0)} is VALID [2018-11-14 17:25:58,100 INFO L273 TraceCheckUtils]: 32: Hoare triple {1256#(<= |dll_insert_#in~index| 0)} assume #t~mem11.base != 0 || #t~mem11.offset != 0;havoc #t~mem11.base, #t~mem11.offset;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, #t~mem12.base, #t~mem12.offset + 8, 4);havoc #t~mem12.base, #t~mem12.offset; {1256#(<= |dll_insert_#in~index| 0)} is VALID [2018-11-14 17:25:58,100 INFO L273 TraceCheckUtils]: 33: Hoare triple {1256#(<= |dll_insert_#in~index| 0)} call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~head.base, ~head.offset, 4); {1256#(<= |dll_insert_#in~index| 0)} is VALID [2018-11-14 17:25:58,101 INFO L273 TraceCheckUtils]: 34: Hoare triple {1256#(<= |dll_insert_#in~index| 0)} assume true; {1256#(<= |dll_insert_#in~index| 0)} is VALID [2018-11-14 17:25:58,102 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1256#(<= |dll_insert_#in~index| 0)} {1254#(<= 1 main_~mid_index~0)} #169#return; {1252#false} is VALID [2018-11-14 17:25:58,102 INFO L273 TraceCheckUtils]: 36: Hoare triple {1252#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {1252#false} is VALID [2018-11-14 17:25:58,103 INFO L273 TraceCheckUtils]: 37: Hoare triple {1252#false} assume true; {1252#false} is VALID [2018-11-14 17:25:58,103 INFO L273 TraceCheckUtils]: 38: Hoare triple {1252#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {1252#false} is VALID [2018-11-14 17:25:58,104 INFO L273 TraceCheckUtils]: 39: Hoare triple {1252#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {1252#false} is VALID [2018-11-14 17:25:58,104 INFO L273 TraceCheckUtils]: 40: Hoare triple {1252#false} assume !false; {1252#false} is VALID [2018-11-14 17:25:58,109 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:25:58,109 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:25:58,110 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 17:25:58,110 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 41 [2018-11-14 17:25:58,111 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:58,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 17:25:58,167 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:58,168 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 17:25:58,168 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 17:25:58,168 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:25:58,169 INFO L87 Difference]: Start difference. First operand 55 states and 66 transitions. Second operand 6 states. [2018-11-14 17:25:58,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:58,605 INFO L93 Difference]: Finished difference Result 71 states and 87 transitions. [2018-11-14 17:25:58,606 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:25:58,606 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 41 [2018-11-14 17:25:58,606 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:25:58,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:25:58,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 17:25:58,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:25:58,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 17:25:58,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 82 transitions. [2018-11-14 17:25:58,739 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:58,742 INFO L225 Difference]: With dead ends: 71 [2018-11-14 17:25:58,742 INFO L226 Difference]: Without dead ends: 54 [2018-11-14 17:25:58,743 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-14 17:25:58,743 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-14 17:25:58,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2018-11-14 17:25:58,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:25:58,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 54 states. [2018-11-14 17:25:58,774 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 54 states. [2018-11-14 17:25:58,774 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 54 states. [2018-11-14 17:25:58,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:58,778 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-14 17:25:58,778 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2018-11-14 17:25:58,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:58,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:58,779 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 54 states. [2018-11-14 17:25:58,779 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 54 states. [2018-11-14 17:25:58,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:25:58,782 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-14 17:25:58,782 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2018-11-14 17:25:58,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:25:58,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:25:58,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:25:58,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:25:58,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-14 17:25:58,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2018-11-14 17:25:58,786 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 41 [2018-11-14 17:25:58,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:25:58,786 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2018-11-14 17:25:58,787 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 17:25:58,787 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2018-11-14 17:25:58,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-14 17:25:58,788 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:25:58,788 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:25:58,788 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:25:58,789 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:25:58,789 INFO L82 PathProgramCache]: Analyzing trace with hash -764765633, now seen corresponding path program 1 times [2018-11-14 17:25:58,789 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:25:58,789 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:25:58,790 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:58,791 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:58,791 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:25:58,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:59,009 INFO L256 TraceCheckUtils]: 0: Hoare triple {1533#true} call ULTIMATE.init(); {1533#true} is VALID [2018-11-14 17:25:59,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {1533#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1533#true} is VALID [2018-11-14 17:25:59,010 INFO L273 TraceCheckUtils]: 2: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,011 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1533#true} {1533#true} #175#return; {1533#true} is VALID [2018-11-14 17:25:59,011 INFO L256 TraceCheckUtils]: 4: Hoare triple {1533#true} call #t~ret25 := main(); {1533#true} is VALID [2018-11-14 17:25:59,012 INFO L273 TraceCheckUtils]: 5: Hoare triple {1533#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {1535#(<= 2 main_~len~0)} is VALID [2018-11-14 17:25:59,012 INFO L256 TraceCheckUtils]: 6: Hoare triple {1535#(<= 2 main_~len~0)} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {1533#true} is VALID [2018-11-14 17:25:59,013 INFO L273 TraceCheckUtils]: 7: Hoare triple {1533#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,013 INFO L273 TraceCheckUtils]: 8: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume true; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,018 INFO L273 TraceCheckUtils]: 9: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,018 INFO L273 TraceCheckUtils]: 10: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,019 INFO L273 TraceCheckUtils]: 11: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,019 INFO L273 TraceCheckUtils]: 12: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,020 INFO L273 TraceCheckUtils]: 13: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-14 17:25:59,021 INFO L273 TraceCheckUtils]: 14: Hoare triple {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume true; {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-14 17:25:59,022 INFO L273 TraceCheckUtils]: 15: Hoare triple {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,023 INFO L273 TraceCheckUtils]: 16: Hoare triple {1538#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,023 INFO L273 TraceCheckUtils]: 17: Hoare triple {1538#(<= |dll_create_#in~len| 1)} assume true; {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,031 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1538#(<= |dll_create_#in~len| 1)} {1535#(<= 2 main_~len~0)} #167#return; {1534#false} is VALID [2018-11-14 17:25:59,031 INFO L273 TraceCheckUtils]: 19: Hoare triple {1534#false} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1534#false} is VALID [2018-11-14 17:25:59,031 INFO L256 TraceCheckUtils]: 20: Hoare triple {1534#false} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {1533#true} is VALID [2018-11-14 17:25:59,032 INFO L273 TraceCheckUtils]: 21: Hoare triple {1533#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {1533#true} is VALID [2018-11-14 17:25:59,032 INFO L256 TraceCheckUtils]: 22: Hoare triple {1533#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1533#true} is VALID [2018-11-14 17:25:59,032 INFO L273 TraceCheckUtils]: 23: Hoare triple {1533#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1533#true} is VALID [2018-11-14 17:25:59,032 INFO L273 TraceCheckUtils]: 24: Hoare triple {1533#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1533#true} is VALID [2018-11-14 17:25:59,033 INFO L273 TraceCheckUtils]: 25: Hoare triple {1533#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1533#true} is VALID [2018-11-14 17:25:59,033 INFO L273 TraceCheckUtils]: 26: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,033 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1533#true} {1533#true} #163#return; {1533#true} is VALID [2018-11-14 17:25:59,033 INFO L273 TraceCheckUtils]: 28: Hoare triple {1533#true} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {1533#true} is VALID [2018-11-14 17:25:59,033 INFO L273 TraceCheckUtils]: 29: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,034 INFO L273 TraceCheckUtils]: 30: Hoare triple {1533#true} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~last~0.base, ~last~0.offset + 4, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset;#t~post9 := ~index;~index := #t~post9 - 1;havoc #t~post9; {1533#true} is VALID [2018-11-14 17:25:59,034 INFO L273 TraceCheckUtils]: 31: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,034 INFO L273 TraceCheckUtils]: 32: Hoare triple {1533#true} assume !(~index > 0); {1533#true} is VALID [2018-11-14 17:25:59,034 INFO L273 TraceCheckUtils]: 33: Hoare triple {1533#true} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {1533#true} is VALID [2018-11-14 17:25:59,035 INFO L273 TraceCheckUtils]: 34: Hoare triple {1533#true} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {1533#true} is VALID [2018-11-14 17:25:59,035 INFO L273 TraceCheckUtils]: 35: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,035 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1533#true} {1534#false} #169#return; {1534#false} is VALID [2018-11-14 17:25:59,035 INFO L273 TraceCheckUtils]: 37: Hoare triple {1534#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {1534#false} is VALID [2018-11-14 17:25:59,036 INFO L273 TraceCheckUtils]: 38: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,036 INFO L273 TraceCheckUtils]: 39: Hoare triple {1534#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {1534#false} is VALID [2018-11-14 17:25:59,036 INFO L273 TraceCheckUtils]: 40: Hoare triple {1534#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {1534#false} is VALID [2018-11-14 17:25:59,036 INFO L273 TraceCheckUtils]: 41: Hoare triple {1534#false} assume !false; {1534#false} is VALID [2018-11-14 17:25:59,039 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:25:59,039 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:25:59,040 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:25:59,057 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:25:59,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:59,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:25:59,133 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:25:59,611 INFO L256 TraceCheckUtils]: 0: Hoare triple {1533#true} call ULTIMATE.init(); {1533#true} is VALID [2018-11-14 17:25:59,612 INFO L273 TraceCheckUtils]: 1: Hoare triple {1533#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1533#true} is VALID [2018-11-14 17:25:59,612 INFO L273 TraceCheckUtils]: 2: Hoare triple {1533#true} assume true; {1533#true} is VALID [2018-11-14 17:25:59,613 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1533#true} {1533#true} #175#return; {1533#true} is VALID [2018-11-14 17:25:59,613 INFO L256 TraceCheckUtils]: 4: Hoare triple {1533#true} call #t~ret25 := main(); {1533#true} is VALID [2018-11-14 17:25:59,614 INFO L273 TraceCheckUtils]: 5: Hoare triple {1533#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {1535#(<= 2 main_~len~0)} is VALID [2018-11-14 17:25:59,614 INFO L256 TraceCheckUtils]: 6: Hoare triple {1535#(<= 2 main_~len~0)} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {1533#true} is VALID [2018-11-14 17:25:59,615 INFO L273 TraceCheckUtils]: 7: Hoare triple {1533#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,615 INFO L273 TraceCheckUtils]: 8: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume true; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,616 INFO L273 TraceCheckUtils]: 9: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,619 INFO L273 TraceCheckUtils]: 10: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,619 INFO L273 TraceCheckUtils]: 11: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1536#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-14 17:25:59,621 INFO L273 TraceCheckUtils]: 13: Hoare triple {1536#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-14 17:25:59,621 INFO L273 TraceCheckUtils]: 14: Hoare triple {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume true; {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-14 17:25:59,622 INFO L273 TraceCheckUtils]: 15: Hoare triple {1537#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,622 INFO L273 TraceCheckUtils]: 16: Hoare triple {1538#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,623 INFO L273 TraceCheckUtils]: 17: Hoare triple {1538#(<= |dll_create_#in~len| 1)} assume true; {1538#(<= |dll_create_#in~len| 1)} is VALID [2018-11-14 17:25:59,624 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1538#(<= |dll_create_#in~len| 1)} {1535#(<= 2 main_~len~0)} #167#return; {1534#false} is VALID [2018-11-14 17:25:59,625 INFO L273 TraceCheckUtils]: 19: Hoare triple {1534#false} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1534#false} is VALID [2018-11-14 17:25:59,625 INFO L256 TraceCheckUtils]: 20: Hoare triple {1534#false} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {1534#false} is VALID [2018-11-14 17:25:59,625 INFO L273 TraceCheckUtils]: 21: Hoare triple {1534#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {1534#false} is VALID [2018-11-14 17:25:59,626 INFO L256 TraceCheckUtils]: 22: Hoare triple {1534#false} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1534#false} is VALID [2018-11-14 17:25:59,626 INFO L273 TraceCheckUtils]: 23: Hoare triple {1534#false} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1534#false} is VALID [2018-11-14 17:25:59,626 INFO L273 TraceCheckUtils]: 24: Hoare triple {1534#false} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1534#false} is VALID [2018-11-14 17:25:59,627 INFO L273 TraceCheckUtils]: 25: Hoare triple {1534#false} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1534#false} is VALID [2018-11-14 17:25:59,627 INFO L273 TraceCheckUtils]: 26: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,627 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1534#false} {1534#false} #163#return; {1534#false} is VALID [2018-11-14 17:25:59,627 INFO L273 TraceCheckUtils]: 28: Hoare triple {1534#false} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {1534#false} is VALID [2018-11-14 17:25:59,628 INFO L273 TraceCheckUtils]: 29: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,628 INFO L273 TraceCheckUtils]: 30: Hoare triple {1534#false} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~last~0.base, ~last~0.offset + 4, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset;#t~post9 := ~index;~index := #t~post9 - 1;havoc #t~post9; {1534#false} is VALID [2018-11-14 17:25:59,628 INFO L273 TraceCheckUtils]: 31: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,629 INFO L273 TraceCheckUtils]: 32: Hoare triple {1534#false} assume !(~index > 0); {1534#false} is VALID [2018-11-14 17:25:59,629 INFO L273 TraceCheckUtils]: 33: Hoare triple {1534#false} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {1534#false} is VALID [2018-11-14 17:25:59,629 INFO L273 TraceCheckUtils]: 34: Hoare triple {1534#false} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {1534#false} is VALID [2018-11-14 17:25:59,629 INFO L273 TraceCheckUtils]: 35: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,630 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1534#false} {1534#false} #169#return; {1534#false} is VALID [2018-11-14 17:25:59,630 INFO L273 TraceCheckUtils]: 37: Hoare triple {1534#false} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {1534#false} is VALID [2018-11-14 17:25:59,630 INFO L273 TraceCheckUtils]: 38: Hoare triple {1534#false} assume true; {1534#false} is VALID [2018-11-14 17:25:59,630 INFO L273 TraceCheckUtils]: 39: Hoare triple {1534#false} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {1534#false} is VALID [2018-11-14 17:25:59,631 INFO L273 TraceCheckUtils]: 40: Hoare triple {1534#false} assume ~data~0 != #t~mem16;havoc #t~mem16; {1534#false} is VALID [2018-11-14 17:25:59,631 INFO L273 TraceCheckUtils]: 41: Hoare triple {1534#false} assume !false; {1534#false} is VALID [2018-11-14 17:25:59,634 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:25:59,664 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:25:59,665 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2018-11-14 17:25:59,665 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 42 [2018-11-14 17:25:59,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:25:59,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 17:25:59,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:25:59,808 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 17:25:59,808 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 17:25:59,809 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:25:59,809 INFO L87 Difference]: Start difference. First operand 54 states and 64 transitions. Second operand 6 states. [2018-11-14 17:26:00,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:26:00,408 INFO L93 Difference]: Finished difference Result 96 states and 116 transitions. [2018-11-14 17:26:00,408 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:26:00,408 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 42 [2018-11-14 17:26:00,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:26:00,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:26:00,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2018-11-14 17:26:00,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:26:00,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2018-11-14 17:26:00,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 112 transitions. [2018-11-14 17:26:00,657 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:26:00,659 INFO L225 Difference]: With dead ends: 96 [2018-11-14 17:26:00,659 INFO L226 Difference]: Without dead ends: 61 [2018-11-14 17:26:00,660 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:26:00,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-14 17:26:00,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 57. [2018-11-14 17:26:00,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:26:00,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 57 states. [2018-11-14 17:26:00,765 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 57 states. [2018-11-14 17:26:00,765 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 57 states. [2018-11-14 17:26:00,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:26:00,768 INFO L93 Difference]: Finished difference Result 61 states and 72 transitions. [2018-11-14 17:26:00,768 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 72 transitions. [2018-11-14 17:26:00,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:26:00,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:26:00,770 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 61 states. [2018-11-14 17:26:00,770 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 61 states. [2018-11-14 17:26:00,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:26:00,773 INFO L93 Difference]: Finished difference Result 61 states and 72 transitions. [2018-11-14 17:26:00,773 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 72 transitions. [2018-11-14 17:26:00,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:26:00,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:26:00,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:26:00,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:26:00,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-14 17:26:00,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 67 transitions. [2018-11-14 17:26:00,777 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 67 transitions. Word has length 42 [2018-11-14 17:26:00,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:26:00,777 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 67 transitions. [2018-11-14 17:26:00,777 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 17:26:00,777 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 67 transitions. [2018-11-14 17:26:00,778 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-14 17:26:00,778 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:26:00,779 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 17:26:00,779 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:26:00,779 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:26:00,779 INFO L82 PathProgramCache]: Analyzing trace with hash -1294737813, now seen corresponding path program 1 times [2018-11-14 17:26:00,779 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:26:00,780 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:26:00,781 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:26:00,781 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:26:00,781 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:26:00,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:26:02,100 WARN L179 SmtUtils]: Spent 226.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 43 [2018-11-14 17:26:02,379 WARN L179 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 53 [2018-11-14 17:26:02,774 WARN L179 SmtUtils]: Spent 106.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 44 [2018-11-14 17:26:04,388 WARN L179 SmtUtils]: Spent 191.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 52 [2018-11-14 17:26:04,862 WARN L179 SmtUtils]: Spent 161.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 53 [2018-11-14 17:26:05,111 WARN L179 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 73 [2018-11-14 17:26:05,909 INFO L256 TraceCheckUtils]: 0: Hoare triple {1986#true} call ULTIMATE.init(); {1986#true} is VALID [2018-11-14 17:26:05,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {1986#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1986#true} is VALID [2018-11-14 17:26:05,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {1986#true} assume true; {1986#true} is VALID [2018-11-14 17:26:05,910 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1986#true} {1986#true} #175#return; {1986#true} is VALID [2018-11-14 17:26:05,910 INFO L256 TraceCheckUtils]: 4: Hoare triple {1986#true} call #t~ret25 := main(); {1986#true} is VALID [2018-11-14 17:26:05,915 INFO L273 TraceCheckUtils]: 5: Hoare triple {1986#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {1988#(and (<= main_~data~0 1) (<= (div main_~len~0 2) 1) (<= 1 main_~data~0) (<= 2 main_~len~0) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-14 17:26:05,918 INFO L256 TraceCheckUtils]: 6: Hoare triple {1988#(and (<= main_~data~0 1) (<= (div main_~len~0 2) 1) (<= 1 main_~data~0) (<= 2 main_~len~0) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {1989#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 17:26:05,932 INFO L273 TraceCheckUtils]: 7: Hoare triple {1989#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1990#(and (= |#valid| |old(#valid)|) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} is VALID [2018-11-14 17:26:05,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {1990#(and (= |#valid| |old(#valid)|) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} assume true; {1990#(and (= |#valid| |old(#valid)|) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} is VALID [2018-11-14 17:26:05,958 INFO L273 TraceCheckUtils]: 9: Hoare triple {1990#(and (= |#valid| |old(#valid)|) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,961 INFO L273 TraceCheckUtils]: 10: Hoare triple {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,963 INFO L273 TraceCheckUtils]: 11: Hoare triple {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,964 INFO L273 TraceCheckUtils]: 12: Hoare triple {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,969 INFO L273 TraceCheckUtils]: 13: Hoare triple {1991#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {1992#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= 1 (select |#valid| dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,971 INFO L273 TraceCheckUtils]: 14: Hoare triple {1992#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= 1 (select |#valid| dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {1992#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= 1 (select |#valid| dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 17:26:05,973 INFO L273 TraceCheckUtils]: 15: Hoare triple {1992#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= 1 (select |#valid| dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1993#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} is VALID [2018-11-14 17:26:05,976 INFO L273 TraceCheckUtils]: 16: Hoare triple {1993#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1993#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} is VALID [2018-11-14 17:26:05,980 INFO L273 TraceCheckUtils]: 17: Hoare triple {1993#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (or (<= dll_create_~data |dll_create_#in~data|) (<= dll_create_~data 1)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (or (<= |dll_create_#in~data| dll_create_~data) (< 0 dll_create_~data)))} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {1994#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset) 1)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| dll_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8) dll_create_~new_head~0.base)) dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)))))} is VALID [2018-11-14 17:26:05,986 INFO L273 TraceCheckUtils]: 18: Hoare triple {1994#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset) 1)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| dll_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8) dll_create_~new_head~0.base)) dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)))))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~head~0.offset + 8, 4); {1995#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)))) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset) 1)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset))} is VALID [2018-11-14 17:26:05,988 INFO L273 TraceCheckUtils]: 19: Hoare triple {1995#(and (= 1 (select |#valid| dll_create_~new_head~0.base)) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)))) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset) 1)) (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} is VALID [2018-11-14 17:26:05,992 INFO L273 TraceCheckUtils]: 20: Hoare triple {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} assume true; {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} is VALID [2018-11-14 17:26:05,994 INFO L273 TraceCheckUtils]: 21: Hoare triple {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} assume !(~len > 0); {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} is VALID [2018-11-14 17:26:05,997 INFO L273 TraceCheckUtils]: 22: Hoare triple {1996#(and (= 0 (select |old(#valid)| dll_create_~head~0.base)) (= 1 (select |#valid| dll_create_~head~0.base)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset) 1) (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= 0 dll_create_~head~0.offset) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) 4))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1997#(and (= 1 (select |#valid| |dll_create_#res.base|)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 1)) (= 0 (select |old(#valid)| |dll_create_#res.base|)) (= 0 |dll_create_#res.offset|) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) 4))))} is VALID [2018-11-14 17:26:06,000 INFO L273 TraceCheckUtils]: 23: Hoare triple {1997#(and (= 1 (select |#valid| |dll_create_#res.base|)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 1)) (= 0 (select |old(#valid)| |dll_create_#res.base|)) (= 0 |dll_create_#res.offset|) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) 4))))} assume true; {1997#(and (= 1 (select |#valid| |dll_create_#res.base|)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 1)) (= 0 (select |old(#valid)| |dll_create_#res.base|)) (= 0 |dll_create_#res.offset|) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) 4))))} is VALID [2018-11-14 17:26:06,004 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1997#(and (= 1 (select |#valid| |dll_create_#res.base|)) (or (<= 2 |dll_create_#in~data|) (<= |dll_create_#in~data| 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 1)) (= 0 (select |old(#valid)| |dll_create_#res.base|)) (= 0 |dll_create_#res.offset|) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) 4))))} {1988#(and (<= main_~data~0 1) (<= (div main_~len~0 2) 1) (<= 1 main_~data~0) (<= 2 main_~len~0) (= (select |#valid| |main_~#s~0.base|) 1))} #167#return; {1998#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| |main_#t~ret13.base|) |main_#t~ret13.offset|)) (= 1 (select |#valid| |main_#t~ret13.base|)) (= 0 |main_#t~ret13.offset|) (not (= |main_~#s~0.base| |main_#t~ret13.base|)) (<= (div main_~len~0 2) 1) (<= 2 main_~len~0) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret13.base|)) |main_#t~ret13.base|) 4))))} is VALID [2018-11-14 17:26:06,006 INFO L273 TraceCheckUtils]: 25: Hoare triple {1998#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| |main_#t~ret13.base|) |main_#t~ret13.offset|)) (= 1 (select |#valid| |main_#t~ret13.base|)) (= 0 |main_#t~ret13.offset|) (not (= |main_~#s~0.base| |main_#t~ret13.base|)) (<= (div main_~len~0 2) 1) (<= 2 main_~len~0) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret13.base|)) |main_#t~ret13.base|) 4))))} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1999#(and (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 1 main_~data~0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= (select |#valid| |main_~#s~0.base|) 1) (<= main_~mid_index~0 1))} is VALID [2018-11-14 17:26:06,008 INFO L256 TraceCheckUtils]: 26: Hoare triple {1999#(and (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 1 main_~data~0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= (select |#valid| |main_~#s~0.base|) 1) (<= main_~mid_index~0 1))} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:26:06,009 INFO L273 TraceCheckUtils]: 27: Hoare triple {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {2001#(and (= dll_insert_~index |dll_insert_#in~index|) (or (and (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.offset)| dll_insert_~head.base) (select |#memory_$Pointer$.offset| dll_insert_~head.base)) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (not (= 1 dll_insert_~index))) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| dll_insert_~head.base) (select |#memory_$Pointer$.base| dll_insert_~head.base)) (= dll_insert_~head.base |dll_insert_#in~head.base|))} is VALID [2018-11-14 17:26:06,011 INFO L256 TraceCheckUtils]: 28: Hoare triple {2001#(and (= dll_insert_~index |dll_insert_#in~index|) (or (and (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.offset)| dll_insert_~head.base) (select |#memory_$Pointer$.offset| dll_insert_~head.base)) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (not (= 1 dll_insert_~index))) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| dll_insert_~head.base) (select |#memory_$Pointer$.base| dll_insert_~head.base)) (= dll_insert_~head.base |dll_insert_#in~head.base|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:26:06,012 INFO L273 TraceCheckUtils]: 29: Hoare triple {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2002#(and (= (select |old(#valid)| node_create_~temp~0.base) 0) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:26:06,014 INFO L273 TraceCheckUtils]: 30: Hoare triple {2002#(and (= (select |old(#valid)| node_create_~temp~0.base) 0) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2002#(and (= (select |old(#valid)| node_create_~temp~0.base) 0) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:26:06,016 INFO L273 TraceCheckUtils]: 31: Hoare triple {2002#(and (= (select |old(#valid)| node_create_~temp~0.base) 0) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2003#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-14 17:26:06,018 INFO L273 TraceCheckUtils]: 32: Hoare triple {2003#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} assume true; {2003#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-14 17:26:06,023 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2003#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} {2001#(and (= dll_insert_~index |dll_insert_#in~index|) (or (and (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.offset)| dll_insert_~head.base) (select |#memory_$Pointer$.offset| dll_insert_~head.base)) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (not (= 1 dll_insert_~index))) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| dll_insert_~head.base) (select |#memory_$Pointer$.base| dll_insert_~head.base)) (= dll_insert_~head.base |dll_insert_#in~head.base|))} #163#return; {2004#(and (or (= 0 (select |old(#valid)| dll_insert_~head.base)) (= (select |old(#memory_$Pointer$.base)| dll_insert_~head.base) (select |#memory_$Pointer$.base| dll_insert_~head.base))) (= dll_insert_~index |dll_insert_#in~index|) (= dll_insert_~head.base |dll_insert_#in~head.base|) (or (and (or (= 0 (select |old(#valid)| dll_insert_~head.base)) (= (select |old(#memory_$Pointer$.offset)| dll_insert_~head.base) (select |#memory_$Pointer$.offset| dll_insert_~head.base))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select |old(#valid)| |dll_insert_#t~ret6.base|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))) (not (= 1 dll_insert_~index))))} is VALID [2018-11-14 17:26:06,026 INFO L273 TraceCheckUtils]: 34: Hoare triple {2004#(and (or (= 0 (select |old(#valid)| dll_insert_~head.base)) (= (select |old(#memory_$Pointer$.base)| dll_insert_~head.base) (select |#memory_$Pointer$.base| dll_insert_~head.base))) (= dll_insert_~index |dll_insert_#in~index|) (= dll_insert_~head.base |dll_insert_#in~head.base|) (or (and (or (= 0 (select |old(#valid)| dll_insert_~head.base)) (= (select |old(#memory_$Pointer$.offset)| dll_insert_~head.base) (select |#memory_$Pointer$.offset| dll_insert_~head.base))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select |old(#valid)| |dll_insert_#t~ret6.base|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (or (= (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))) (not (= 1 dll_insert_~index))))} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {2005#(or (and (= dll_insert_~index |dll_insert_#in~index|) (or (not (= 1 dll_insert_~index)) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (not (= dll_insert_~new_node~0.base |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| dll_insert_~last~0.base) (select |#memory_$Pointer$.base| dll_insert_~last~0.base)) (= (select |old(#valid)| dll_insert_~last~0.base) 0)) (or (= dll_insert_~last~0.offset 0) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset)) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|))))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)))} is VALID [2018-11-14 17:26:06,027 INFO L273 TraceCheckUtils]: 35: Hoare triple {2005#(or (and (= dll_insert_~index |dll_insert_#in~index|) (or (not (= 1 dll_insert_~index)) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (not (= dll_insert_~new_node~0.base |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| dll_insert_~last~0.base) (select |#memory_$Pointer$.base| dll_insert_~last~0.base)) (= (select |old(#valid)| dll_insert_~last~0.base) 0)) (or (= dll_insert_~last~0.offset 0) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset)) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|))))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)))} assume true; {2005#(or (and (= dll_insert_~index |dll_insert_#in~index|) (or (not (= 1 dll_insert_~index)) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (not (= dll_insert_~new_node~0.base |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| dll_insert_~last~0.base) (select |#memory_$Pointer$.base| dll_insert_~last~0.base)) (= (select |old(#valid)| dll_insert_~last~0.base) 0)) (or (= dll_insert_~last~0.offset 0) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset)) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|))))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)))} is VALID [2018-11-14 17:26:06,029 INFO L273 TraceCheckUtils]: 36: Hoare triple {2005#(or (and (= dll_insert_~index |dll_insert_#in~index|) (or (not (= 1 dll_insert_~index)) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (not (= dll_insert_~new_node~0.base |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| dll_insert_~last~0.base) (select |#memory_$Pointer$.base| dll_insert_~last~0.base)) (= (select |old(#valid)| dll_insert_~last~0.base) 0)) (or (= dll_insert_~last~0.offset 0) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset)) (or (= |#memory_int| |old(#memory_int)|) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|))))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)))} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~last~0.base, ~last~0.offset + 4, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset;#t~post9 := ~index;~index := #t~post9 - 1;havoc #t~post9; {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,030 INFO L273 TraceCheckUtils]: 37: Hoare triple {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} assume true; {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,031 INFO L273 TraceCheckUtils]: 38: Hoare triple {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} assume !(~index > 0); {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,034 INFO L273 TraceCheckUtils]: 39: Hoare triple {2006#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (and (= (select (store (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.offset) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|)) (= (select (store (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) dll_insert_~snd_to_last~0.base) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (not (= dll_insert_~last~0.base |dll_insert_#in~head.base|))) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (<= 2 |dll_insert_#in~index|))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {2007#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select (store |#memory_$Pointer$.base| dll_insert_~last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~last~0.base) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (= (select (store |#memory_$Pointer$.offset| dll_insert_~last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~last~0.base) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,037 INFO L273 TraceCheckUtils]: 40: Hoare triple {2007#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select (store |#memory_$Pointer$.base| dll_insert_~last~0.base (store (select |#memory_$Pointer$.base| dll_insert_~last~0.base) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (= (select (store |#memory_$Pointer$.offset| dll_insert_~last~0.base (store (select |#memory_$Pointer$.offset| dll_insert_~last~0.base) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.offset)) |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {2008#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,038 INFO L273 TraceCheckUtils]: 41: Hoare triple {2008#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} assume true; {2008#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} is VALID [2018-11-14 17:26:06,042 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {2008#(or (and (= |dll_insert_#in~index| 1) (or (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 0)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4) |dll_insert_#in~head.base|) (= (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 0))) (= 0 (select |old(#valid)| |dll_insert_#in~head.base|)) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) |dll_insert_#in~head.base|) (and (= (select |old(#memory_$Pointer$.offset)| |dll_insert_#in~head.base|) (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_#in~head.base|)) (or (and (= |dll_insert_#in~index| 1) (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 0)) (= |#memory_int| |old(#memory_int)|))) (<= 2 |dll_insert_#in~index|))} {1999#(and (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 1 main_~data~0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= (select |#valid| |main_~#s~0.base|) 1) (<= main_~mid_index~0 1))} #169#return; {2009#(or (and (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 1 main_~data~0)) (= main_~mid_index~0 0))} is VALID [2018-11-14 17:26:06,043 INFO L273 TraceCheckUtils]: 43: Hoare triple {2009#(or (and (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 1 main_~data~0)) (= main_~mid_index~0 0))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {2010#(or (= main_~count~0 main_~mid_index~0) (and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))))} is VALID [2018-11-14 17:26:06,043 INFO L273 TraceCheckUtils]: 44: Hoare triple {2010#(or (= main_~count~0 main_~mid_index~0) (and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))))} assume true; {2010#(or (= main_~count~0 main_~mid_index~0) (and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))))} is VALID [2018-11-14 17:26:06,045 INFO L273 TraceCheckUtils]: 45: Hoare triple {2010#(or (= main_~count~0 main_~mid_index~0) (and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))))} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {2011#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem16|))} is VALID [2018-11-14 17:26:06,046 INFO L273 TraceCheckUtils]: 46: Hoare triple {2011#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem16|))} assume ~data~0 != #t~mem16;havoc #t~mem16; {1987#false} is VALID [2018-11-14 17:26:06,046 INFO L273 TraceCheckUtils]: 47: Hoare triple {1987#false} assume !false; {1987#false} is VALID [2018-11-14 17:26:06,079 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:26:06,079 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:26:06,079 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:26:06,090 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:26:06,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:26:06,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:26:06,174 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:26:06,224 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-14 17:26:06,229 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,241 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,242 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-14 17:26:06,244 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:26:06,745 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 15 [2018-11-14 17:26:06,749 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 18 [2018-11-14 17:26:06,755 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:26:06,758 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-14 17:26:06,761 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,768 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,775 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,796 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-14 17:26:06,800 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 17:26:06,803 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,807 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,826 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:06,826 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:55, output treesize:51 [2018-11-14 17:26:09,058 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:26:09,276 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:26:09,282 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 79 [2018-11-14 17:26:09,289 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-14 17:26:09,297 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:09,313 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:09,337 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:26:09,338 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:85, output treesize:75 [2018-11-14 17:26:09,347 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:26:10,021 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:26:10,022 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:26:10,023 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:26:10,025 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 60 [2018-11-14 17:26:10,047 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 52 [2018-11-14 17:26:10,049 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,064 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,151 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:26:10,151 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:86, output treesize:86 [2018-11-14 17:26:10,156 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:26:10,357 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-14 17:26:10,362 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 17:26:10,363 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,366 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,419 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 61 [2018-11-14 17:26:10,433 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 17:26:10,454 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,483 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:26:10,534 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:26:10,535 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:95, output treesize:120 [2018-11-14 17:26:12,057 WARN L179 SmtUtils]: Spent 859.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-14 17:26:13,079 WARN L179 SmtUtils]: Spent 842.00 ms on a formula simplification that was a NOOP. DAG size: 38 [2018-11-14 17:26:14,157 WARN L179 SmtUtils]: Spent 902.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-14 17:26:15,331 WARN L179 SmtUtils]: Spent 951.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-14 17:26:18,263 WARN L179 SmtUtils]: Spent 2.14 s on a formula simplification that was a NOOP. DAG size: 59 [2018-11-14 17:27:20,421 WARN L179 SmtUtils]: Spent 42.26 s on a formula simplification. DAG size of input: 330 DAG size of output: 90 [2018-11-14 17:27:20,451 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,459 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,472 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,488 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,490 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 61 [2018-11-14 17:27:20,492 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:20,821 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,827 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:20,920 INFO L303 Elim1Store]: Index analysis took 117 ms [2018-11-14 17:27:20,921 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 596 treesize of output 605 [2018-11-14 17:27:21,401 WARN L179 SmtUtils]: Spent 431.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 58 [2018-11-14 17:27:21,413 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2018-11-14 17:27:21,428 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 15 [2018-11-14 17:27:21,431 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:21,486 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:21,674 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:21,681 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:21,681 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 17:27:21,838 INFO L303 Elim1Store]: Index analysis took 178 ms [2018-11-14 17:27:21,839 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 500 treesize of output 543 [2018-11-14 17:27:22,346 WARN L179 SmtUtils]: Spent 487.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 67 [2018-11-14 17:27:22,360 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 28 [2018-11-14 17:27:22,363 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:22,614 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:22,626 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:22,631 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:22,639 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:22,645 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:22,779 INFO L303 Elim1Store]: Index analysis took 193 ms [2018-11-14 17:27:22,781 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 447 treesize of output 590 [2018-11-14 17:27:22,839 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 30 [2018-11-14 17:27:22,891 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 17:27:22,945 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 26 [2018-11-14 17:27:22,970 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:22,993 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,171 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:23,192 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:23,219 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:23,240 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:23,265 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:23,364 INFO L303 Elim1Store]: Index analysis took 240 ms [2018-11-14 17:27:23,366 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 436 treesize of output 555 [2018-11-14 17:27:23,378 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 34 [2018-11-14 17:27:23,380 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,457 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,513 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,568 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,616 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,822 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 28 [2018-11-14 17:27:23,830 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 17:27:23,832 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:23,852 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:24,039 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 17:27:24,110 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 6 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 481 treesize of output 296 [2018-11-14 17:27:24,125 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2018-11-14 17:27:24,132 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 15 [2018-11-14 17:27:24,133 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:24,147 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:24,239 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,262 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 341 treesize of output 233 [2018-11-14 17:27:24,432 WARN L179 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 67 [2018-11-14 17:27:24,449 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,449 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 17:27:24,457 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 142 treesize of output 114 [2018-11-14 17:27:24,476 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:27:24,565 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,582 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,583 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 136 treesize of output 175 [2018-11-14 17:27:24,609 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 17:27:24,628 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 62 treesize of output 56 [2018-11-14 17:27:24,733 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 41 [2018-11-14 17:27:24,736 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:24,785 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 22 [2018-11-14 17:27:24,788 INFO L267 ElimStorePlain]: Start of recursive call 23: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:24,815 INFO L267 ElimStorePlain]: Start of recursive call 21: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:24,885 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,886 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,891 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:24,907 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 121 treesize of output 155 [2018-11-14 17:27:24,935 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 55 [2018-11-14 17:27:24,939 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 2 xjuncts. [2018-11-14 17:27:25,015 INFO L267 ElimStorePlain]: Start of recursive call 24: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:25,100 INFO L267 ElimStorePlain]: Start of recursive call 20: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:25,199 INFO L267 ElimStorePlain]: Start of recursive call 18: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:25,300 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:25,447 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, 3 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-14 17:27:25,448 INFO L202 ElimStorePlain]: Needed 25 recursive calls to eliminate 8 variables, input treesize:1164, output treesize:666 [2018-11-14 17:27:25,515 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:27:25,897 WARN L179 SmtUtils]: Spent 154.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 54 [2018-11-14 17:27:25,988 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:25,996 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:25,999 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 0 case distinctions, treesize of input 311 treesize of output 191 [2018-11-14 17:27:26,016 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:26,038 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 119 treesize of output 92 [2018-11-14 17:27:26,066 INFO L267 ElimStorePlain]: Start of recursive call 3: 6 dim-0 vars, End of recursive call: 6 dim-0 vars, and 4 xjuncts. [2018-11-14 17:27:26,191 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 60 [2018-11-14 17:27:26,198 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:27:26,222 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 85 treesize of output 76 [2018-11-14 17:27:26,243 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-14 17:27:26,251 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 17:27:26,262 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 91 treesize of output 88 [2018-11-14 17:27:26,287 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-14 17:27:26,314 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 81 treesize of output 82 [2018-11-14 17:27:26,343 INFO L267 ElimStorePlain]: Start of recursive call 7: 3 dim-0 vars, End of recursive call: 3 dim-0 vars, and 3 xjuncts. [2018-11-14 17:27:26,666 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 88 [2018-11-14 17:27:26,670 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,678 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 84 [2018-11-14 17:27:26,682 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,688 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 111 treesize of output 94 [2018-11-14 17:27:26,693 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,702 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 80 [2018-11-14 17:27:26,706 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,712 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 84 [2018-11-14 17:27:26,718 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,724 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 109 treesize of output 94 [2018-11-14 17:27:26,730 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,736 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 84 [2018-11-14 17:27:26,749 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:26,754 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 88 [2018-11-14 17:27:26,758 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,137 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 77 [2018-11-14 17:27:27,141 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,146 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 83 [2018-11-14 17:27:27,150 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,154 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 69 [2018-11-14 17:27:27,157 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,161 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 73 [2018-11-14 17:27:27,165 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,170 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 73 [2018-11-14 17:27:27,173 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,176 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 77 [2018-11-14 17:27:27,180 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,187 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 73 [2018-11-14 17:27:27,190 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:27,194 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 83 [2018-11-14 17:27:27,220 INFO L267 ElimStorePlain]: Start of recursive call 23: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,221 INFO L267 ElimStorePlain]: Start of recursive call 2: 4 dim-1 vars, End of recursive call: 13 dim-0 vars, and 8 xjuncts. [2018-11-14 17:27:28,516 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 67 [2018-11-14 17:27:28,522 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:28,528 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,551 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:28,552 INFO L267 ElimStorePlain]: Start of recursive call 26: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,578 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-14 17:27:28,581 INFO L267 ElimStorePlain]: Start of recursive call 27: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,605 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 17:27:28,612 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,626 INFO L267 ElimStorePlain]: Start of recursive call 24: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,651 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 71 [2018-11-14 17:27:28,656 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:28,657 INFO L267 ElimStorePlain]: Start of recursive call 30: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,689 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 7 [2018-11-14 17:27:28,691 INFO L267 ElimStorePlain]: Start of recursive call 31: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:27:28,717 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 17:27:28,719 INFO L267 ElimStorePlain]: Start of recursive call 32: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,740 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:28,741 INFO L267 ElimStorePlain]: Start of recursive call 33: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,760 INFO L267 ElimStorePlain]: Start of recursive call 29: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,795 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 71 [2018-11-14 17:27:28,802 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 20 [2018-11-14 17:27:28,803 INFO L267 ElimStorePlain]: Start of recursive call 35: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,831 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:28,832 INFO L267 ElimStorePlain]: Start of recursive call 36: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,856 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 11 [2018-11-14 17:27:28,857 INFO L267 ElimStorePlain]: Start of recursive call 37: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,880 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:28,882 INFO L267 ElimStorePlain]: Start of recursive call 38: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,897 INFO L267 ElimStorePlain]: Start of recursive call 34: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,915 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 71 [2018-11-14 17:27:28,923 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 20 [2018-11-14 17:27:28,931 INFO L267 ElimStorePlain]: Start of recursive call 40: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:28,985 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 18 [2018-11-14 17:27:28,986 INFO L267 ElimStorePlain]: Start of recursive call 41: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:27:29,016 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,017 INFO L267 ElimStorePlain]: Start of recursive call 42: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,038 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,039 INFO L267 ElimStorePlain]: Start of recursive call 43: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,054 INFO L267 ElimStorePlain]: Start of recursive call 39: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,072 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 67 [2018-11-14 17:27:29,077 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:29,080 INFO L267 ElimStorePlain]: Start of recursive call 45: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,107 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,108 INFO L267 ElimStorePlain]: Start of recursive call 46: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,133 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 11 [2018-11-14 17:27:29,135 INFO L267 ElimStorePlain]: Start of recursive call 47: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,158 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,159 INFO L267 ElimStorePlain]: Start of recursive call 48: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,176 INFO L267 ElimStorePlain]: Start of recursive call 44: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,193 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 67 [2018-11-14 17:27:29,200 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:29,200 INFO L267 ElimStorePlain]: Start of recursive call 50: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,229 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-14 17:27:29,230 INFO L267 ElimStorePlain]: Start of recursive call 51: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,255 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:29,256 INFO L267 ElimStorePlain]: Start of recursive call 52: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,278 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 17:27:29,279 INFO L267 ElimStorePlain]: Start of recursive call 53: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,295 INFO L267 ElimStorePlain]: Start of recursive call 49: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,314 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 67 [2018-11-14 17:27:29,327 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:29,342 INFO L267 ElimStorePlain]: Start of recursive call 55: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,370 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-14 17:27:29,371 INFO L267 ElimStorePlain]: Start of recursive call 56: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,394 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 1 [2018-11-14 17:27:29,403 INFO L267 ElimStorePlain]: Start of recursive call 57: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,424 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 17:27:29,425 INFO L267 ElimStorePlain]: Start of recursive call 58: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,442 INFO L267 ElimStorePlain]: Start of recursive call 54: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,458 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 67 [2018-11-14 17:27:29,465 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 7 [2018-11-14 17:27:29,467 INFO L267 ElimStorePlain]: Start of recursive call 60: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 17:27:29,495 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 11 [2018-11-14 17:27:29,496 INFO L267 ElimStorePlain]: Start of recursive call 61: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,520 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,521 INFO L267 ElimStorePlain]: Start of recursive call 62: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,543 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-14 17:27:29,544 INFO L267 ElimStorePlain]: Start of recursive call 63: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,561 INFO L267 ElimStorePlain]: Start of recursive call 59: 4 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,741 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 17:27:29,741 INFO L202 ElimStorePlain]: Needed 63 recursive calls to eliminate 3 variables, input treesize:328, output treesize:33 [2018-11-14 17:27:29,746 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:27:29,884 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-14 17:27:29,887 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 17:27:29,888 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,890 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,894 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 17:27:29,894 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-14 17:27:29,897 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 17:27:29,964 INFO L256 TraceCheckUtils]: 0: Hoare triple {1986#true} call ULTIMATE.init(); {1986#true} is VALID [2018-11-14 17:27:29,964 INFO L273 TraceCheckUtils]: 1: Hoare triple {1986#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1986#true} is VALID [2018-11-14 17:27:29,965 INFO L273 TraceCheckUtils]: 2: Hoare triple {1986#true} assume true; {1986#true} is VALID [2018-11-14 17:27:29,965 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1986#true} {1986#true} #175#return; {1986#true} is VALID [2018-11-14 17:27:29,965 INFO L256 TraceCheckUtils]: 4: Hoare triple {1986#true} call #t~ret25 := main(); {1986#true} is VALID [2018-11-14 17:27:29,966 INFO L273 TraceCheckUtils]: 5: Hoare triple {1986#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4); {2030#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-14 17:27:29,967 INFO L256 TraceCheckUtils]: 6: Hoare triple {2030#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret13.base, #t~ret13.offset := dll_create(~len~0, ~data~0); {1989#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 17:27:29,967 INFO L273 TraceCheckUtils]: 7: Hoare triple {1989#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {2037#(and (= |#valid| |old(#valid)|) (= |dll_create_#in~data| dll_create_~data))} is VALID [2018-11-14 17:27:29,968 INFO L273 TraceCheckUtils]: 8: Hoare triple {2037#(and (= |#valid| |old(#valid)|) (= |dll_create_#in~data| dll_create_~data))} assume true; {2037#(and (= |#valid| |old(#valid)|) (= |dll_create_#in~data| dll_create_~data))} is VALID [2018-11-14 17:27:29,987 INFO L273 TraceCheckUtils]: 9: Hoare triple {2037#(and (= |#valid| |old(#valid)|) (= |dll_create_#in~data| dll_create_~data))} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} is VALID [2018-11-14 17:27:29,988 INFO L273 TraceCheckUtils]: 10: Hoare triple {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} is VALID [2018-11-14 17:27:29,989 INFO L273 TraceCheckUtils]: 11: Hoare triple {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} is VALID [2018-11-14 17:27:29,989 INFO L273 TraceCheckUtils]: 12: Hoare triple {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} is VALID [2018-11-14 17:27:29,990 INFO L273 TraceCheckUtils]: 13: Hoare triple {2044#(and (= 0 (select |old(#valid)| dll_create_~new_head~0.base)) (= |dll_create_#in~data| dll_create_~data) (= |#valid| (store |old(#valid)| dll_create_~new_head~0.base 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {2057#(and (= |#valid| (store |old(#valid)| dll_create_~head~0.base 1)) (= |dll_create_#in~data| dll_create_~data) (= (select |old(#valid)| dll_create_~head~0.base) 0))} is VALID [2018-11-14 17:27:30,000 INFO L273 TraceCheckUtils]: 14: Hoare triple {2057#(and (= |#valid| (store |old(#valid)| dll_create_~head~0.base 1)) (= |dll_create_#in~data| dll_create_~data) (= (select |old(#valid)| dll_create_~head~0.base) 0))} assume true; {2057#(and (= |#valid| (store |old(#valid)| dll_create_~head~0.base 1)) (= |dll_create_#in~data| dll_create_~data) (= (select |old(#valid)| dll_create_~head~0.base) 0))} is VALID [2018-11-14 17:27:30,002 INFO L273 TraceCheckUtils]: 15: Hoare triple {2057#(and (= |#valid| (store |old(#valid)| dll_create_~head~0.base 1)) (= |dll_create_#in~data| dll_create_~data) (= (select |old(#valid)| dll_create_~head~0.base) 0))} assume !!(~len > 0);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2064#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= |dll_create_#in~data| dll_create_~data) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select |old(#valid)| dll_create_~head~0.base) 0))} is VALID [2018-11-14 17:27:30,004 INFO L273 TraceCheckUtils]: 16: Hoare triple {2064#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= |dll_create_#in~data| dll_create_~data) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select |old(#valid)| dll_create_~head~0.base) 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2064#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= |dll_create_#in~data| dll_create_~data) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select |old(#valid)| dll_create_~head~0.base) 0))} is VALID [2018-11-14 17:27:30,006 INFO L273 TraceCheckUtils]: 17: Hoare triple {2064#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= |dll_create_#in~data| dll_create_~data) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select |old(#valid)| dll_create_~head~0.base) 0))} call write~int(~data, ~new_head~0.base, ~new_head~0.offset + 0, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset + 4, 4);call write~$Pointer$(0, 0, ~new_head~0.base, ~new_head~0.offset + 8, 4); {2071#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8)) 0) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) dll_create_~head~0.base) (= (select |old(#valid)| dll_create_~head~0.base) 0))} is VALID [2018-11-14 17:27:30,008 INFO L273 TraceCheckUtils]: 18: Hoare triple {2071#(and (= (store (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8)) 0) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (= 0 dll_create_~new_head~0.offset) (= (select (store |old(#valid)| dll_create_~head~0.base 1) dll_create_~new_head~0.base) 0) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) dll_create_~head~0.base) (= (select |old(#valid)| dll_create_~head~0.base) 0))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~head~0.offset + 8, 4); {2075#(and (exists ((dll_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4))) (+ dll_create_~head~0.offset 8)) dll_create_~new_head~0.base)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4))) 0) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) 1) dll_create_~new_head~0.base 1)) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8)) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) 1) dll_create_~new_head~0.base)) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (= 0 dll_create_~new_head~0.offset))} is VALID [2018-11-14 17:27:30,009 INFO L273 TraceCheckUtils]: 19: Hoare triple {2075#(and (exists ((dll_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4))) (+ dll_create_~head~0.offset 8)) dll_create_~new_head~0.base)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4))) 0) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) 1) dll_create_~new_head~0.base 1)) (= (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8)) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 4)) 1) dll_create_~new_head~0.base)) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (= 0 dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} is VALID [2018-11-14 17:27:30,011 INFO L273 TraceCheckUtils]: 20: Hoare triple {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} assume true; {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} is VALID [2018-11-14 17:27:30,012 INFO L273 TraceCheckUtils]: 21: Hoare triple {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} assume !(~len > 0); {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} is VALID [2018-11-14 17:27:30,014 INFO L273 TraceCheckUtils]: 22: Hoare triple {2079#(and (= (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base 1) |#valid|) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4))) (+ v_subst_1 8)) dll_create_~head~0.base)) (= 0 dll_create_~head~0.offset) (= |dll_create_#in~data| (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| dll_create_~head~0.base) (+ dll_create_~head~0.offset 4)) 1) dll_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2089#(and (= |dll_create_#res.offset| 0) (exists ((v_subst_1 Int)) (= |dll_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) (+ v_subst_1 8)))) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base| 1)) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) |dll_create_#in~data|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base|)) (= (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0))} is VALID [2018-11-14 17:27:30,015 INFO L273 TraceCheckUtils]: 23: Hoare triple {2089#(and (= |dll_create_#res.offset| 0) (exists ((v_subst_1 Int)) (= |dll_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) (+ v_subst_1 8)))) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base| 1)) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) |dll_create_#in~data|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base|)) (= (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0))} assume true; {2089#(and (= |dll_create_#res.offset| 0) (exists ((v_subst_1 Int)) (= |dll_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) (+ v_subst_1 8)))) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base| 1)) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) |dll_create_#in~data|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base|)) (= (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0))} is VALID [2018-11-14 17:27:30,018 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2089#(and (= |dll_create_#res.offset| 0) (exists ((v_subst_1 Int)) (= |dll_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) (+ v_subst_1 8)))) (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base| 1)) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) |dll_create_#in~data|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4))) 0) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 4)) 1) |dll_create_#res.base|)) (= (select (select |#memory_$Pointer$.base| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0))} {2030#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1) (= (select |#valid| |main_~#s~0.base|) 1))} #167#return; {2096#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret13.base|) |main_#t~ret13.offset|)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)))) (= (select |#valid| |main_#t~ret13.base|) 1) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4))) (+ v_subst_1 8)) |main_#t~ret13.base|)) (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 8))) (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| |main_#t~ret13.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)) |main_#t~ret13.base|)) (= main_~data~0 1) (= (select |#valid| |main_~#s~0.base|) 1) (= |main_#t~ret13.offset| 0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)))))} is VALID [2018-11-14 17:27:30,021 INFO L273 TraceCheckUtils]: 25: Hoare triple {2096#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret13.base|) |main_#t~ret13.offset|)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)))) (= (select |#valid| |main_#t~ret13.base|) 1) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4))) (+ v_subst_1 8)) |main_#t~ret13.base|)) (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 8))) (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| |main_#t~ret13.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)) |main_#t~ret13.base|)) (= main_~data~0 1) (= (select |#valid| |main_~#s~0.base|) 1) (= |main_#t~ret13.offset| 0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret13.base|) (+ |main_#t~ret13.offset| 4)))))} call write~$Pointer$(#t~ret13.base, #t~ret13.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret13.base, #t~ret13.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {2100#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 8) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= |main_~#s~0.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) |main_~#s~0.base|)) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (= (select |#valid| |main_~#s~0.base|) 1) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (+ v_subst_1 8)))))} is VALID [2018-11-14 17:27:30,023 INFO L256 TraceCheckUtils]: 26: Hoare triple {2100#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 8) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= |main_~#s~0.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) |main_~#s~0.base|)) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (= (select |#valid| |main_~#s~0.base|) 1) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (+ v_subst_1 8)))))} call dll_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:27:30,024 INFO L273 TraceCheckUtils]: 27: Hoare triple {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {2107#(and (= |#valid| |old(#valid)|) (= |dll_insert_#in~head.base| dll_insert_~head.base) (= |#memory_int| |old(#memory_int)|) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:27:30,026 INFO L256 TraceCheckUtils]: 28: Hoare triple {2107#(and (= |#valid| |old(#valid)|) (= |dll_insert_#in~head.base| dll_insert_~head.base) (= |#memory_int| |old(#memory_int)|) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:27:30,027 INFO L273 TraceCheckUtils]: 29: Hoare triple {2000#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(12);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2114#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:27:30,028 INFO L273 TraceCheckUtils]: 30: Hoare triple {2114#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2114#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 17:27:30,030 INFO L273 TraceCheckUtils]: 31: Hoare triple {2114#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 4, 4);call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 8, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 0, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2121#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) |node_create_#res.offset| node_create_~data)))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))))} is VALID [2018-11-14 17:27:30,031 INFO L273 TraceCheckUtils]: 32: Hoare triple {2121#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) |node_create_#res.offset| node_create_~data)))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))))} assume true; {2121#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) |node_create_#res.offset| node_create_~data)))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))))} is VALID [2018-11-14 17:27:30,034 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2121#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) |node_create_#res.offset| node_create_~data)))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (+ |node_create_#res.offset| 4) 0) (+ |node_create_#res.offset| 8) 0))))} {2107#(and (= |#valid| |old(#valid)|) (= |dll_insert_#in~head.base| dll_insert_~head.base) (= |#memory_int| |old(#memory_int)|) (= dll_insert_~head.offset |dll_insert_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #163#return; {2128#(and (= 0 |dll_insert_#t~ret6.offset|) (= (store |old(#memory_$Pointer$.offset)| |dll_insert_#t~ret6.base| (store (store (select |old(#memory_$Pointer$.offset)| |dll_insert_#t~ret6.base|) 4 0) 8 0)) |#memory_$Pointer$.offset|) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| |dll_insert_#t~ret6.base| (store (select |old(#memory_int)| |dll_insert_#t~ret6.base|) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| |dll_insert_#t~ret6.base|) 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |dll_insert_#t~ret6.base| (store (store (select |old(#memory_$Pointer$.base)| |dll_insert_#t~ret6.base|) 4 0) 8 0))) (= |dll_insert_#in~head.base| dll_insert_~head.base) (= dll_insert_~head.offset |dll_insert_#in~head.offset|))} is VALID [2018-11-14 17:27:30,036 INFO L273 TraceCheckUtils]: 34: Hoare triple {2128#(and (= 0 |dll_insert_#t~ret6.offset|) (= (store |old(#memory_$Pointer$.offset)| |dll_insert_#t~ret6.base| (store (store (select |old(#memory_$Pointer$.offset)| |dll_insert_#t~ret6.base|) 4 0) 8 0)) |#memory_$Pointer$.offset|) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| |dll_insert_#t~ret6.base| (store (select |old(#memory_int)| |dll_insert_#t~ret6.base|) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| |dll_insert_#t~ret6.base|) 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |dll_insert_#t~ret6.base| (store (store (select |old(#memory_$Pointer$.base)| |dll_insert_#t~ret6.base|) 4 0) 8 0))) (= |dll_insert_#in~head.base| dll_insert_~head.base) (= dll_insert_~head.offset |dll_insert_#in~head.offset|))} ~new_node~0.base, ~new_node~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {2132#(and (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} is VALID [2018-11-14 17:27:30,037 INFO L273 TraceCheckUtils]: 35: Hoare triple {2132#(and (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} assume true; {2132#(and (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} is VALID [2018-11-14 17:27:30,039 INFO L273 TraceCheckUtils]: 36: Hoare triple {2132#(and (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.offset) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~last~0.base, ~last~0.offset + 4, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset;#t~post9 := ~index;~index := #t~post9 - 1;havoc #t~post9; {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} is VALID [2018-11-14 17:27:30,040 INFO L273 TraceCheckUtils]: 37: Hoare triple {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} assume true; {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} is VALID [2018-11-14 17:27:30,041 INFO L273 TraceCheckUtils]: 38: Hoare triple {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} assume !(~index > 0); {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} is VALID [2018-11-14 17:27:30,045 INFO L273 TraceCheckUtils]: 39: Hoare triple {2139#(and (= (select (select |#memory_$Pointer$.base| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.base) (= (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0))) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (select (select |#memory_$Pointer$.offset| |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) dll_insert_~snd_to_last~0.offset) (= (select (select |#memory_$Pointer$.base| dll_insert_~snd_to_last~0.base) (+ dll_insert_~snd_to_last~0.offset 4)) dll_insert_~last~0.base))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 4, 4);call write~$Pointer$(~snd_to_last~0.base, ~snd_to_last~0.offset, ~new_node~0.base, ~new_node~0.offset + 8, 4);call write~$Pointer$(~last~0.base, ~last~0.offset, ~new_node~0.base, ~new_node~0.offset + 4, 4); {2149#(and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base))) (= (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |#memory_$Pointer$.offset|) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} is VALID [2018-11-14 17:27:32,063 INFO L273 TraceCheckUtils]: 40: Hoare triple {2149#(and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.base))) (= (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) dll_insert_~last~0.base) (= 0 dll_insert_~new_node~0.offset) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)) (= (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.offset)) dll_insert_~new_node~0.base) (+ dll_insert_~new_node~0.offset 8) (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ dll_insert_~new_node~0.offset 4) dll_insert_~last~0.offset)) |#memory_$Pointer$.offset|) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0))} assume ~last~0.base != 0 || ~last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~last~0.base, ~last~0.offset + 8, 4); {2153#(exists ((node_create_~data Int) (dll_insert_~new_node~0.base Int) (dll_insert_~last~0.offset Int)) (and (= |#memory_$Pointer$.base| (store (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base))) (= |#memory_$Pointer$.offset| (store (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) 0))) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)))} is UNKNOWN [2018-11-14 17:27:32,064 INFO L273 TraceCheckUtils]: 41: Hoare triple {2153#(exists ((node_create_~data Int) (dll_insert_~new_node~0.base Int) (dll_insert_~last~0.offset Int)) (and (= |#memory_$Pointer$.base| (store (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base))) (= |#memory_$Pointer$.offset| (store (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) 0))) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)))} assume true; {2153#(exists ((node_create_~data Int) (dll_insert_~new_node~0.base Int) (dll_insert_~last~0.offset Int)) (and (= |#memory_$Pointer$.base| (store (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base))) (= |#memory_$Pointer$.offset| (store (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) 0))) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)))} is VALID [2018-11-14 17:27:32,070 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {2153#(exists ((node_create_~data Int) (dll_insert_~new_node~0.base Int) (dll_insert_~last~0.offset Int)) (and (= |#memory_$Pointer$.base| (store (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) dll_insert_~new_node~0.base)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)))) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) dll_insert_~new_node~0.base))) (= |#memory_$Pointer$.offset| (store (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4)) (store (select (store (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base (store (store (select (store (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4) 0)) dll_insert_~new_node~0.base) 8 (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) 4 dll_insert_~last~0.offset)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) (select (select (store |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.base)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base (store (store (select |old(#memory_$Pointer$.offset)| dll_insert_~new_node~0.base) 4 0) 8 0)) |dll_insert_#in~head.base|) |dll_insert_#in~head.offset|) 4))) (+ dll_insert_~last~0.offset 8) 0))) (= (select |old(#valid)| dll_insert_~new_node~0.base) 0) (= (store |old(#memory_int)| dll_insert_~new_node~0.base (store (select |old(#memory_int)| dll_insert_~new_node~0.base) 0 node_create_~data)) |#memory_int|)))} {2100#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 8) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= |main_~#s~0.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) |main_~#s~0.base|)) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4))) (= (select |#valid| |main_~#s~0.base|) 1) (exists ((v_subst_1 Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (+ v_subst_1 8)))))} #169#return; {2160#(and (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)))) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4)) (+ (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4) 8))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 8)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 8) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4)) (+ (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4) 8)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) (= |main_~#s~0.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)) 0) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 8)))} is VALID [2018-11-14 17:27:32,071 INFO L273 TraceCheckUtils]: 43: Hoare triple {2160#(and (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)))) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4)) (+ (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4) 8))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4))) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 8)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 8) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4)) (+ (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 4) 8)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) (= |main_~#s~0.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4)) 0) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (+ (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 4))) 8)))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset;~count~0 := 0; {2164#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} is VALID [2018-11-14 17:27:32,072 INFO L273 TraceCheckUtils]: 44: Hoare triple {2164#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} assume true; {2164#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} is VALID [2018-11-14 17:27:32,073 INFO L273 TraceCheckUtils]: 45: Hoare triple {2164#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} assume !!((~ptr~0.base != 0 || ~ptr~0.offset != 0) && ~count~0 != ~mid_index~0);call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset + 4, 4);~temp~2.base, ~temp~2.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~int(~ptr~0.base, ~ptr~0.offset + 0, 4); {2011#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem16|))} is VALID [2018-11-14 17:27:32,073 INFO L273 TraceCheckUtils]: 46: Hoare triple {2011#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem16|))} assume ~data~0 != #t~mem16;havoc #t~mem16; {1987#false} is VALID [2018-11-14 17:27:32,073 INFO L273 TraceCheckUtils]: 47: Hoare triple {1987#false} assume !false; {1987#false} is VALID [2018-11-14 17:27:32,096 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:27:32,130 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:27:32,131 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 26] total 47 [2018-11-14 17:27:32,131 INFO L78 Accepts]: Start accepts. Automaton has 47 states. Word has length 48 [2018-11-14 17:27:32,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:27:32,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 47 states.