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/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/dll_nullified_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:00:56,273 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:00:56,275 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:00:56,288 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:00:56,288 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:00:56,289 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:00:56,291 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:00:56,294 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:00:56,297 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:00:56,298 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:00:56,302 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:00:56,303 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:00:56,304 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:00:56,305 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:00:56,310 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:00:56,311 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:00:56,312 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:00:56,314 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:00:56,316 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:00:56,318 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:00:56,319 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:00:56,320 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:00:56,323 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:00:56,323 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:00:56,323 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:00:56,324 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:00:56,325 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:00:56,326 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:00:56,327 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:00:56,328 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:00:56,328 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:00:56,330 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:00:56,330 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:00:56,330 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:00:56,331 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:00:56,332 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:00:56,332 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-23 13:00:56,362 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:00:56,363 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:00:56,364 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:00:56,364 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:00:56,365 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:00:56,365 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:00:56,365 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:00:56,365 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:00:56,365 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:00:56,366 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:00:56,367 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:00:56,367 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:00:56,367 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:00:56,368 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:00:56,368 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:00:56,368 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:00:56,368 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:00:56,368 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:00:56,369 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:00:56,369 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:00:56,369 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:00:56,369 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:00:56,369 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:00:56,370 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:00:56,371 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:00:56,371 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:00:56,372 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:00:56,372 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:00:56,372 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:00:56,372 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:00:56,372 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:00:56,427 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:00:56,440 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:00:56,444 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:00:56,445 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:00:56,446 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:00:56,447 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/dll_nullified_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:00:56,506 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/12e17de78/87fe74b283c54ac2928be6b7c03830e9/FLAGe9effdf7b [2018-11-23 13:00:57,090 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:00:57,091 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/dll_nullified_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:00:57,107 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/12e17de78/87fe74b283c54ac2928be6b7c03830e9/FLAGe9effdf7b [2018-11-23 13:00:57,297 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/12e17de78/87fe74b283c54ac2928be6b7c03830e9 [2018-11-23 13:00:57,308 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:00:57,309 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:00:57,310 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:00:57,310 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:00:57,315 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:00:57,317 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:00:57" (1/1) ... [2018-11-23 13:00:57,320 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53e6a460 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:57, skipping insertion in model container [2018-11-23 13:00:57,320 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:00:57" (1/1) ... [2018-11-23 13:00:57,330 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:00:57,383 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:00:57,851 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:00:57,866 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:00:57,943 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:00:58,024 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:00:58,024 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58 WrapperNode [2018-11-23 13:00:58,025 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:00:58,025 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:00:58,025 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:00:58,026 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:00:58,033 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,130 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,143 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:00:58,143 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:00:58,143 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:00:58,143 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:00:58,155 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,155 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,162 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,162 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,178 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,193 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,197 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (1/1) ... [2018-11-23 13:00:58,209 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:00:58,210 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:00:58,210 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:00:58,210 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:00:58,211 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (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-23 13:00:58,263 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:00:58,264 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 13:00:58,264 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 13:00:58,264 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 13:00:58,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 13:00:58,264 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:00:58,265 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:00:58,265 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:00:58,265 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:00:58,265 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 13:00:58,265 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 13:00:58,265 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:00:58,265 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create [2018-11-23 13:00:58,266 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create [2018-11-23 13:00:58,266 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:00:58,266 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:00:59,231 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:00:59,232 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 13:00:59,233 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:00:59 BoogieIcfgContainer [2018-11-23 13:00:59,233 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:00:59,234 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:00:59,234 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:00:59,237 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:00:59,238 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:00:57" (1/3) ... [2018-11-23 13:00:59,239 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17faa65 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:00:59, skipping insertion in model container [2018-11-23 13:00:59,239 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:00:58" (2/3) ... [2018-11-23 13:00:59,239 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17faa65 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:00:59, skipping insertion in model container [2018-11-23 13:00:59,240 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:00:59" (3/3) ... [2018-11-23 13:00:59,242 INFO L112 eAbstractionObserver]: Analyzing ICFG dll_nullified_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:00:59,253 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:00:59,262 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:00:59,281 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:00:59,313 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:00:59,314 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:00:59,314 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:00:59,314 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:00:59,315 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:00:59,315 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:00:59,315 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:00:59,315 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:00:59,316 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:00:59,333 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states. [2018-11-23 13:00:59,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 13:00:59,340 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:00:59,341 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:00:59,343 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:00:59,349 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:00:59,350 INFO L82 PathProgramCache]: Analyzing trace with hash 988582603, now seen corresponding path program 1 times [2018-11-23 13:00:59,352 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:00:59,353 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:00:59,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:00:59,419 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:00:59,419 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:00:59,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:00:59,532 INFO L256 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {41#true} is VALID [2018-11-23 13:00:59,537 INFO L273 TraceCheckUtils]: 1: Hoare triple {41#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {41#true} is VALID [2018-11-23 13:00:59,538 INFO L273 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2018-11-23 13:00:59,539 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #110#return; {41#true} is VALID [2018-11-23 13:00:59,539 INFO L256 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret18 := main(); {41#true} is VALID [2018-11-23 13:00:59,539 INFO L273 TraceCheckUtils]: 5: Hoare triple {41#true} ~len~0 := 5; {41#true} is VALID [2018-11-23 13:00:59,540 INFO L256 TraceCheckUtils]: 6: Hoare triple {41#true} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {41#true} is VALID [2018-11-23 13:00:59,540 INFO L273 TraceCheckUtils]: 7: Hoare triple {41#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {41#true} is VALID [2018-11-23 13:00:59,541 INFO L273 TraceCheckUtils]: 8: Hoare triple {41#true} assume !true; {42#false} is VALID [2018-11-23 13:00:59,541 INFO L273 TraceCheckUtils]: 9: Hoare triple {42#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {42#false} is VALID [2018-11-23 13:00:59,542 INFO L273 TraceCheckUtils]: 10: Hoare triple {42#false} assume true; {42#false} is VALID [2018-11-23 13:00:59,542 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {42#false} {41#true} #114#return; {42#false} is VALID [2018-11-23 13:00:59,542 INFO L273 TraceCheckUtils]: 12: Hoare triple {42#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {42#false} is VALID [2018-11-23 13:00:59,543 INFO L273 TraceCheckUtils]: 13: Hoare triple {42#false} assume !true; {42#false} is VALID [2018-11-23 13:00:59,543 INFO L273 TraceCheckUtils]: 14: Hoare triple {42#false} assume !!(~head~1.base != 0 || ~head~1.offset != 0);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head~1.base, 12 + ~head~1.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;call #t~mem13 := read~int(~head~1.base, ~head~1.offset, 4);#t~short15 := 0 != #t~mem13; {42#false} is VALID [2018-11-23 13:00:59,544 INFO L273 TraceCheckUtils]: 15: Hoare triple {42#false} assume #t~short15; {42#false} is VALID [2018-11-23 13:00:59,544 INFO L273 TraceCheckUtils]: 16: Hoare triple {42#false} #t~short17 := #t~short15; {42#false} is VALID [2018-11-23 13:00:59,544 INFO L273 TraceCheckUtils]: 17: Hoare triple {42#false} assume #t~short17; {42#false} is VALID [2018-11-23 13:00:59,545 INFO L273 TraceCheckUtils]: 18: Hoare triple {42#false} assume #t~short17;havoc #t~mem16;havoc #t~short17;havoc #t~mem13;havoc #t~mem14;havoc #t~short15; {42#false} is VALID [2018-11-23 13:00:59,545 INFO L273 TraceCheckUtils]: 19: Hoare triple {42#false} assume !false; {42#false} is VALID [2018-11-23 13:00:59,550 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-23 13:00:59,552 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:00:59,553 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 13:00:59,558 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 13:00:59,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:00:59,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 13:00:59,688 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:00:59,689 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 13:00:59,696 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 13:00:59,697 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:00:59,699 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 2 states. [2018-11-23 13:00:59,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:00:59,830 INFO L93 Difference]: Finished difference Result 60 states and 82 transitions. [2018-11-23 13:00:59,830 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 13:00:59,831 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 13:00:59,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:00:59,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:00:59,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2018-11-23 13:00:59,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:00:59,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2018-11-23 13:00:59,856 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 82 transitions. [2018-11-23 13:01:00,233 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-23 13:01:00,245 INFO L225 Difference]: With dead ends: 60 [2018-11-23 13:01:00,246 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 13:01:00,249 INFO L631 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-23 13:01:00,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 13:01:00,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-23 13:01:00,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:00,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-23 13:01:00,292 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-23 13:01:00,293 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-23 13:01:00,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:00,297 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2018-11-23 13:01:00,297 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2018-11-23 13:01:00,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:00,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:00,299 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-23 13:01:00,299 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-23 13:01:00,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:00,303 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2018-11-23 13:01:00,304 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2018-11-23 13:01:00,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:00,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:00,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:00,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:00,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 13:01:00,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2018-11-23 13:01:00,310 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 20 [2018-11-23 13:01:00,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:00,311 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2018-11-23 13:01:00,311 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 13:01:00,311 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2018-11-23 13:01:00,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 13:01:00,312 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:00,313 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:00,313 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:00,313 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:00,314 INFO L82 PathProgramCache]: Analyzing trace with hash 1260304420, now seen corresponding path program 1 times [2018-11-23 13:01:00,314 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:00,314 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:00,316 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:00,316 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:00,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:00,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:00,476 INFO L256 TraceCheckUtils]: 0: Hoare triple {218#true} call ULTIMATE.init(); {218#true} is VALID [2018-11-23 13:01:00,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {218#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {218#true} is VALID [2018-11-23 13:01:00,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {218#true} assume true; {218#true} is VALID [2018-11-23 13:01:00,477 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {218#true} {218#true} #110#return; {218#true} is VALID [2018-11-23 13:01:00,478 INFO L256 TraceCheckUtils]: 4: Hoare triple {218#true} call #t~ret18 := main(); {218#true} is VALID [2018-11-23 13:01:00,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {218#true} ~len~0 := 5; {218#true} is VALID [2018-11-23 13:01:00,478 INFO L256 TraceCheckUtils]: 6: Hoare triple {218#true} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {218#true} is VALID [2018-11-23 13:01:00,479 INFO L273 TraceCheckUtils]: 7: Hoare triple {218#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {218#true} is VALID [2018-11-23 13:01:00,479 INFO L273 TraceCheckUtils]: 8: Hoare triple {218#true} assume !(~len > 0); {218#true} is VALID [2018-11-23 13:01:00,480 INFO L273 TraceCheckUtils]: 9: Hoare triple {218#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {218#true} is VALID [2018-11-23 13:01:00,481 INFO L273 TraceCheckUtils]: 10: Hoare triple {218#true} assume true; {218#true} is VALID [2018-11-23 13:01:00,481 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {218#true} {218#true} #114#return; {218#true} is VALID [2018-11-23 13:01:00,482 INFO L273 TraceCheckUtils]: 12: Hoare triple {218#true} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {218#true} is VALID [2018-11-23 13:01:00,482 INFO L273 TraceCheckUtils]: 13: Hoare triple {218#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {218#true} is VALID [2018-11-23 13:01:00,482 INFO L273 TraceCheckUtils]: 14: Hoare triple {218#true} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {218#true} is VALID [2018-11-23 13:01:00,499 INFO L273 TraceCheckUtils]: 15: Hoare triple {218#true} assume #t~short7; {220#|main_#t~short7|} is VALID [2018-11-23 13:01:00,508 INFO L273 TraceCheckUtils]: 16: Hoare triple {220#|main_#t~short7|} #t~short9 := #t~short7; {221#|main_#t~short9|} is VALID [2018-11-23 13:01:00,514 INFO L273 TraceCheckUtils]: 17: Hoare triple {221#|main_#t~short9|} assume !#t~short9;call #t~mem8 := read~int(~head~1.base, 16 + ~head~1.offset, 4);#t~short9 := 0 != #t~mem8; {219#false} is VALID [2018-11-23 13:01:00,514 INFO L273 TraceCheckUtils]: 18: Hoare triple {219#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {219#false} is VALID [2018-11-23 13:01:00,514 INFO L273 TraceCheckUtils]: 19: Hoare triple {219#false} assume !false; {219#false} is VALID [2018-11-23 13:01:00,516 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-23 13:01:00,517 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:00,517 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 13:01:00,519 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 13:01:00,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:00,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 13:01:00,768 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:00,769 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 13:01:00,769 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 13:01:00,769 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 13:01:00,770 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand 4 states. [2018-11-23 13:01:01,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:01,106 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2018-11-23 13:01:01,106 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:01:01,107 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 13:01:01,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:01,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:01,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2018-11-23 13:01:01,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:01,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2018-11-23 13:01:01,115 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2018-11-23 13:01:01,225 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:01,227 INFO L225 Difference]: With dead ends: 47 [2018-11-23 13:01:01,227 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 13:01:01,228 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:01:01,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 13:01:01,263 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 13:01:01,263 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:01,263 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-23 13:01:01,263 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-23 13:01:01,263 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-23 13:01:01,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:01,268 INFO L93 Difference]: Finished difference Result 34 states and 42 transitions. [2018-11-23 13:01:01,268 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2018-11-23 13:01:01,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:01,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:01,269 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-23 13:01:01,269 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-23 13:01:01,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:01,273 INFO L93 Difference]: Finished difference Result 34 states and 42 transitions. [2018-11-23 13:01:01,273 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2018-11-23 13:01:01,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:01,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:01,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:01,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:01,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 13:01:01,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 41 transitions. [2018-11-23 13:01:01,276 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 41 transitions. Word has length 20 [2018-11-23 13:01:01,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:01,277 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 41 transitions. [2018-11-23 13:01:01,277 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 13:01:01,277 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 41 transitions. [2018-11-23 13:01:01,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 13:01:01,278 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:01,279 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:01,279 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:01,279 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:01,279 INFO L82 PathProgramCache]: Analyzing trace with hash 1260302498, now seen corresponding path program 1 times [2018-11-23 13:01:01,279 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:01,280 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:01,281 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:01,282 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:01,282 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:01,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:01,405 INFO L256 TraceCheckUtils]: 0: Hoare triple {394#true} call ULTIMATE.init(); {394#true} is VALID [2018-11-23 13:01:01,406 INFO L273 TraceCheckUtils]: 1: Hoare triple {394#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {394#true} is VALID [2018-11-23 13:01:01,406 INFO L273 TraceCheckUtils]: 2: Hoare triple {394#true} assume true; {394#true} is VALID [2018-11-23 13:01:01,407 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {394#true} {394#true} #110#return; {394#true} is VALID [2018-11-23 13:01:01,407 INFO L256 TraceCheckUtils]: 4: Hoare triple {394#true} call #t~ret18 := main(); {394#true} is VALID [2018-11-23 13:01:01,410 INFO L273 TraceCheckUtils]: 5: Hoare triple {394#true} ~len~0 := 5; {396#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:01,411 INFO L256 TraceCheckUtils]: 6: Hoare triple {396#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {394#true} is VALID [2018-11-23 13:01:01,411 INFO L273 TraceCheckUtils]: 7: Hoare triple {394#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {397#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:01,412 INFO L273 TraceCheckUtils]: 8: Hoare triple {397#(<= |dll_create_#in~len| dll_create_~len)} assume !(~len > 0); {398#(<= |dll_create_#in~len| 0)} is VALID [2018-11-23 13:01:01,413 INFO L273 TraceCheckUtils]: 9: Hoare triple {398#(<= |dll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {398#(<= |dll_create_#in~len| 0)} is VALID [2018-11-23 13:01:01,414 INFO L273 TraceCheckUtils]: 10: Hoare triple {398#(<= |dll_create_#in~len| 0)} assume true; {398#(<= |dll_create_#in~len| 0)} is VALID [2018-11-23 13:01:01,420 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {398#(<= |dll_create_#in~len| 0)} {396#(<= 5 main_~len~0)} #114#return; {395#false} is VALID [2018-11-23 13:01:01,420 INFO L273 TraceCheckUtils]: 12: Hoare triple {395#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {395#false} is VALID [2018-11-23 13:01:01,421 INFO L273 TraceCheckUtils]: 13: Hoare triple {395#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {395#false} is VALID [2018-11-23 13:01:01,421 INFO L273 TraceCheckUtils]: 14: Hoare triple {395#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {395#false} is VALID [2018-11-23 13:01:01,421 INFO L273 TraceCheckUtils]: 15: Hoare triple {395#false} assume #t~short7; {395#false} is VALID [2018-11-23 13:01:01,421 INFO L273 TraceCheckUtils]: 16: Hoare triple {395#false} #t~short9 := #t~short7; {395#false} is VALID [2018-11-23 13:01:01,422 INFO L273 TraceCheckUtils]: 17: Hoare triple {395#false} assume #t~short9; {395#false} is VALID [2018-11-23 13:01:01,422 INFO L273 TraceCheckUtils]: 18: Hoare triple {395#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {395#false} is VALID [2018-11-23 13:01:01,422 INFO L273 TraceCheckUtils]: 19: Hoare triple {395#false} assume !false; {395#false} is VALID [2018-11-23 13:01:01,423 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-23 13:01:01,424 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:01,424 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 13:01:01,424 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2018-11-23 13:01:01,424 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:01,425 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 13:01:01,462 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:01,462 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 13:01:01,462 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 13:01:01,463 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:01:01,463 INFO L87 Difference]: Start difference. First operand 33 states and 41 transitions. Second operand 5 states. [2018-11-23 13:01:01,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:01,831 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2018-11-23 13:01:01,831 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:01:01,831 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2018-11-23 13:01:01,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:01,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:01:01,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-11-23 13:01:01,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:01:01,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-11-23 13:01:01,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2018-11-23 13:01:01,991 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:01,994 INFO L225 Difference]: With dead ends: 58 [2018-11-23 13:01:01,995 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 13:01:01,995 INFO L631 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-23 13:01:01,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 13:01:02,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2018-11-23 13:01:02,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:02,027 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 34 states. [2018-11-23 13:01:02,028 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 34 states. [2018-11-23 13:01:02,028 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 34 states. [2018-11-23 13:01:02,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:02,032 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2018-11-23 13:01:02,032 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2018-11-23 13:01:02,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:02,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:02,033 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 38 states. [2018-11-23 13:01:02,033 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 38 states. [2018-11-23 13:01:02,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:02,036 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2018-11-23 13:01:02,036 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2018-11-23 13:01:02,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:02,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:02,037 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:02,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:02,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 13:01:02,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2018-11-23 13:01:02,040 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 20 [2018-11-23 13:01:02,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:02,040 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2018-11-23 13:01:02,040 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 13:01:02,041 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2018-11-23 13:01:02,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:01:02,042 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:02,042 INFO L402 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] [2018-11-23 13:01:02,042 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:02,042 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:02,043 INFO L82 PathProgramCache]: Analyzing trace with hash 1673054840, now seen corresponding path program 1 times [2018-11-23 13:01:02,043 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:02,043 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:02,045 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:02,045 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:02,045 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:02,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:02,154 INFO L256 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2018-11-23 13:01:02,155 INFO L273 TraceCheckUtils]: 1: Hoare triple {593#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {593#true} is VALID [2018-11-23 13:01:02,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {593#true} assume true; {593#true} is VALID [2018-11-23 13:01:02,156 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {593#true} {593#true} #110#return; {593#true} is VALID [2018-11-23 13:01:02,157 INFO L256 TraceCheckUtils]: 4: Hoare triple {593#true} call #t~ret18 := main(); {593#true} is VALID [2018-11-23 13:01:02,157 INFO L273 TraceCheckUtils]: 5: Hoare triple {593#true} ~len~0 := 5; {593#true} is VALID [2018-11-23 13:01:02,157 INFO L256 TraceCheckUtils]: 6: Hoare triple {593#true} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {593#true} is VALID [2018-11-23 13:01:02,159 INFO L273 TraceCheckUtils]: 7: Hoare triple {593#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-23 13:01:02,161 INFO L273 TraceCheckUtils]: 8: Hoare triple {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-23 13:01:02,161 INFO L273 TraceCheckUtils]: 9: Hoare triple {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-23 13:01:02,163 INFO L273 TraceCheckUtils]: 10: Hoare triple {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {595#(and (= dll_create_~head~0.base 0) (= dll_create_~head~0.offset 0))} is VALID [2018-11-23 13:01:02,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {595#(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, 12 + ~head~0.offset, 4); {594#false} is VALID [2018-11-23 13:01:02,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {594#false} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {594#false} is VALID [2018-11-23 13:01:02,164 INFO L273 TraceCheckUtils]: 13: Hoare triple {594#false} assume !(~len > 0); {594#false} is VALID [2018-11-23 13:01:02,165 INFO L273 TraceCheckUtils]: 14: Hoare triple {594#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {594#false} is VALID [2018-11-23 13:01:02,165 INFO L273 TraceCheckUtils]: 15: Hoare triple {594#false} assume true; {594#false} is VALID [2018-11-23 13:01:02,166 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {594#false} {593#true} #114#return; {594#false} is VALID [2018-11-23 13:01:02,166 INFO L273 TraceCheckUtils]: 17: Hoare triple {594#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {594#false} is VALID [2018-11-23 13:01:02,167 INFO L273 TraceCheckUtils]: 18: Hoare triple {594#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {594#false} is VALID [2018-11-23 13:01:02,167 INFO L273 TraceCheckUtils]: 19: Hoare triple {594#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {594#false} is VALID [2018-11-23 13:01:02,167 INFO L273 TraceCheckUtils]: 20: Hoare triple {594#false} assume #t~short7; {594#false} is VALID [2018-11-23 13:01:02,167 INFO L273 TraceCheckUtils]: 21: Hoare triple {594#false} #t~short9 := #t~short7; {594#false} is VALID [2018-11-23 13:01:02,168 INFO L273 TraceCheckUtils]: 22: Hoare triple {594#false} assume #t~short9; {594#false} is VALID [2018-11-23 13:01:02,168 INFO L273 TraceCheckUtils]: 23: Hoare triple {594#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {594#false} is VALID [2018-11-23 13:01:02,168 INFO L273 TraceCheckUtils]: 24: Hoare triple {594#false} assume !false; {594#false} is VALID [2018-11-23 13:01:02,170 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:02,170 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:02,170 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 13:01:02,170 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2018-11-23 13:01:02,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:02,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 13:01:02,217 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:02,218 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 13:01:02,218 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 13:01:02,218 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:01:02,219 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand 3 states. [2018-11-23 13:01:02,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:02,390 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2018-11-23 13:01:02,390 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 13:01:02,391 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2018-11-23 13:01:02,391 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:02,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:02,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-23 13:01:02,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:02,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-23 13:01:02,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-23 13:01:02,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:02,551 INFO L225 Difference]: With dead ends: 63 [2018-11-23 13:01:02,551 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 13:01:02,552 INFO L631 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-23 13:01:02,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 13:01:02,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-23 13:01:02,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:02,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 37 states. [2018-11-23 13:01:02,585 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 37 states. [2018-11-23 13:01:02,586 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 37 states. [2018-11-23 13:01:02,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:02,589 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-23 13:01:02,589 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-23 13:01:02,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:02,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:02,590 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 38 states. [2018-11-23 13:01:02,590 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 38 states. [2018-11-23 13:01:02,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:02,592 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2018-11-23 13:01:02,593 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2018-11-23 13:01:02,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:02,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:02,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:02,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:02,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 13:01:02,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2018-11-23 13:01:02,596 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 25 [2018-11-23 13:01:02,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:02,597 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2018-11-23 13:01:02,597 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 13:01:02,597 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2018-11-23 13:01:02,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:01:02,598 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:02,598 INFO L402 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] [2018-11-23 13:01:02,599 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:02,599 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:02,599 INFO L82 PathProgramCache]: Analyzing trace with hash 661937590, now seen corresponding path program 1 times [2018-11-23 13:01:02,599 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:02,599 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:02,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:02,601 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:02,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:02,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:02,825 INFO L256 TraceCheckUtils]: 0: Hoare triple {797#true} call ULTIMATE.init(); {797#true} is VALID [2018-11-23 13:01:02,825 INFO L273 TraceCheckUtils]: 1: Hoare triple {797#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {797#true} is VALID [2018-11-23 13:01:02,826 INFO L273 TraceCheckUtils]: 2: Hoare triple {797#true} assume true; {797#true} is VALID [2018-11-23 13:01:02,827 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {797#true} {797#true} #110#return; {797#true} is VALID [2018-11-23 13:01:02,827 INFO L256 TraceCheckUtils]: 4: Hoare triple {797#true} call #t~ret18 := main(); {797#true} is VALID [2018-11-23 13:01:02,828 INFO L273 TraceCheckUtils]: 5: Hoare triple {797#true} ~len~0 := 5; {797#true} is VALID [2018-11-23 13:01:02,828 INFO L256 TraceCheckUtils]: 6: Hoare triple {797#true} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {797#true} is VALID [2018-11-23 13:01:02,828 INFO L273 TraceCheckUtils]: 7: Hoare triple {797#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {797#true} is VALID [2018-11-23 13:01:02,829 INFO L273 TraceCheckUtils]: 8: Hoare triple {797#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {797#true} is VALID [2018-11-23 13:01:02,829 INFO L273 TraceCheckUtils]: 9: Hoare triple {797#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {797#true} is VALID [2018-11-23 13:01:02,834 INFO L273 TraceCheckUtils]: 10: Hoare triple {797#true} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {799#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2018-11-23 13:01:02,835 INFO L273 TraceCheckUtils]: 11: Hoare triple {799#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {799#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2018-11-23 13:01:02,835 INFO L273 TraceCheckUtils]: 12: Hoare triple {799#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {800#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2018-11-23 13:01:02,836 INFO L273 TraceCheckUtils]: 13: Hoare triple {800#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} assume !(~len > 0); {800#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2018-11-23 13:01:02,837 INFO L273 TraceCheckUtils]: 14: Hoare triple {800#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {801#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2018-11-23 13:01:02,838 INFO L273 TraceCheckUtils]: 15: Hoare triple {801#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} assume true; {801#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2018-11-23 13:01:02,840 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {801#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} {797#true} #114#return; {802#(= 0 (select (select |#memory_int| |main_#t~ret4.base|) |main_#t~ret4.offset|))} is VALID [2018-11-23 13:01:02,841 INFO L273 TraceCheckUtils]: 17: Hoare triple {802#(= 0 (select (select |#memory_int| |main_#t~ret4.base|) |main_#t~ret4.offset|))} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {803#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2018-11-23 13:01:02,842 INFO L273 TraceCheckUtils]: 18: Hoare triple {803#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {803#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2018-11-23 13:01:02,847 INFO L273 TraceCheckUtils]: 19: Hoare triple {803#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {804#(not |main_#t~short7|)} is VALID [2018-11-23 13:01:02,848 INFO L273 TraceCheckUtils]: 20: Hoare triple {804#(not |main_#t~short7|)} assume #t~short7; {798#false} is VALID [2018-11-23 13:01:02,848 INFO L273 TraceCheckUtils]: 21: Hoare triple {798#false} #t~short9 := #t~short7; {798#false} is VALID [2018-11-23 13:01:02,848 INFO L273 TraceCheckUtils]: 22: Hoare triple {798#false} assume #t~short9; {798#false} is VALID [2018-11-23 13:01:02,848 INFO L273 TraceCheckUtils]: 23: Hoare triple {798#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {798#false} is VALID [2018-11-23 13:01:02,849 INFO L273 TraceCheckUtils]: 24: Hoare triple {798#false} assume !false; {798#false} is VALID [2018-11-23 13:01:02,852 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:02,852 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:02,852 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 13:01:02,853 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 25 [2018-11-23 13:01:02,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:02,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 13:01:02,923 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:02,923 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 13:01:02,923 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 13:01:02,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:01:02,924 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand 8 states. [2018-11-23 13:01:03,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:03,847 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2018-11-23 13:01:03,847 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:01:03,848 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 25 [2018-11-23 13:01:03,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:03,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:03,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2018-11-23 13:01:03,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:03,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2018-11-23 13:01:03,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2018-11-23 13:01:03,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:03,947 INFO L225 Difference]: With dead ends: 64 [2018-11-23 13:01:03,947 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 13:01:03,948 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2018-11-23 13:01:03,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 13:01:03,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 46. [2018-11-23 13:01:03,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:03,998 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 46 states. [2018-11-23 13:01:03,998 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 46 states. [2018-11-23 13:01:03,998 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 46 states. [2018-11-23 13:01:04,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:04,002 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 13:01:04,002 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 13:01:04,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:04,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:04,003 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 59 states. [2018-11-23 13:01:04,003 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 59 states. [2018-11-23 13:01:04,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:04,006 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 13:01:04,007 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 13:01:04,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:04,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:04,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:04,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:04,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 13:01:04,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 56 transitions. [2018-11-23 13:01:04,011 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 56 transitions. Word has length 25 [2018-11-23 13:01:04,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:04,011 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 56 transitions. [2018-11-23 13:01:04,011 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 13:01:04,012 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 56 transitions. [2018-11-23 13:01:04,012 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:01:04,013 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:04,013 INFO L402 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] [2018-11-23 13:01:04,013 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:04,013 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:04,014 INFO L82 PathProgramCache]: Analyzing trace with hash 663786554, now seen corresponding path program 1 times [2018-11-23 13:01:04,014 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:04,014 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:04,015 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:04,016 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:04,016 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:04,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:04,168 INFO L256 TraceCheckUtils]: 0: Hoare triple {1067#true} call ULTIMATE.init(); {1067#true} is VALID [2018-11-23 13:01:04,169 INFO L273 TraceCheckUtils]: 1: Hoare triple {1067#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1067#true} is VALID [2018-11-23 13:01:04,169 INFO L273 TraceCheckUtils]: 2: Hoare triple {1067#true} assume true; {1067#true} is VALID [2018-11-23 13:01:04,170 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1067#true} {1067#true} #110#return; {1067#true} is VALID [2018-11-23 13:01:04,170 INFO L256 TraceCheckUtils]: 4: Hoare triple {1067#true} call #t~ret18 := main(); {1067#true} is VALID [2018-11-23 13:01:04,172 INFO L273 TraceCheckUtils]: 5: Hoare triple {1067#true} ~len~0 := 5; {1069#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:04,172 INFO L256 TraceCheckUtils]: 6: Hoare triple {1069#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1067#true} is VALID [2018-11-23 13:01:04,173 INFO L273 TraceCheckUtils]: 7: Hoare triple {1067#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,173 INFO L273 TraceCheckUtils]: 8: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,174 INFO L273 TraceCheckUtils]: 9: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,174 INFO L273 TraceCheckUtils]: 10: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,190 INFO L273 TraceCheckUtils]: 11: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,196 INFO L273 TraceCheckUtils]: 12: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1071#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:04,198 INFO L273 TraceCheckUtils]: 13: Hoare triple {1071#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {1072#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,199 INFO L273 TraceCheckUtils]: 15: Hoare triple {1072#(<= |dll_create_#in~len| 1)} assume true; {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,200 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {1072#(<= |dll_create_#in~len| 1)} {1069#(<= 5 main_~len~0)} #114#return; {1068#false} is VALID [2018-11-23 13:01:04,200 INFO L273 TraceCheckUtils]: 17: Hoare triple {1068#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1068#false} is VALID [2018-11-23 13:01:04,201 INFO L273 TraceCheckUtils]: 18: Hoare triple {1068#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1068#false} is VALID [2018-11-23 13:01:04,201 INFO L273 TraceCheckUtils]: 19: Hoare triple {1068#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1068#false} is VALID [2018-11-23 13:01:04,201 INFO L273 TraceCheckUtils]: 20: Hoare triple {1068#false} assume !#t~short7;call #t~mem6 := read~int(~head~1.base, 8 + ~head~1.offset, 4);#t~short7 := 0 != #t~mem6; {1068#false} is VALID [2018-11-23 13:01:04,202 INFO L273 TraceCheckUtils]: 21: Hoare triple {1068#false} #t~short9 := #t~short7; {1068#false} is VALID [2018-11-23 13:01:04,202 INFO L273 TraceCheckUtils]: 22: Hoare triple {1068#false} assume !#t~short9;call #t~mem8 := read~int(~head~1.base, 16 + ~head~1.offset, 4);#t~short9 := 0 != #t~mem8; {1068#false} is VALID [2018-11-23 13:01:04,202 INFO L273 TraceCheckUtils]: 23: Hoare triple {1068#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1068#false} is VALID [2018-11-23 13:01:04,202 INFO L273 TraceCheckUtils]: 24: Hoare triple {1068#false} assume !false; {1068#false} is VALID [2018-11-23 13:01:04,204 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:04,205 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:04,205 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-23 13:01:04,216 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:04,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:04,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:04,292 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:04,585 INFO L256 TraceCheckUtils]: 0: Hoare triple {1067#true} call ULTIMATE.init(); {1067#true} is VALID [2018-11-23 13:01:04,586 INFO L273 TraceCheckUtils]: 1: Hoare triple {1067#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1067#true} is VALID [2018-11-23 13:01:04,586 INFO L273 TraceCheckUtils]: 2: Hoare triple {1067#true} assume true; {1067#true} is VALID [2018-11-23 13:01:04,586 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1067#true} {1067#true} #110#return; {1067#true} is VALID [2018-11-23 13:01:04,586 INFO L256 TraceCheckUtils]: 4: Hoare triple {1067#true} call #t~ret18 := main(); {1067#true} is VALID [2018-11-23 13:01:04,587 INFO L273 TraceCheckUtils]: 5: Hoare triple {1067#true} ~len~0 := 5; {1069#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:04,587 INFO L256 TraceCheckUtils]: 6: Hoare triple {1069#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1067#true} is VALID [2018-11-23 13:01:04,588 INFO L273 TraceCheckUtils]: 7: Hoare triple {1067#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,588 INFO L273 TraceCheckUtils]: 8: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,591 INFO L273 TraceCheckUtils]: 9: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,591 INFO L273 TraceCheckUtils]: 10: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,592 INFO L273 TraceCheckUtils]: 11: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1070#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:04,597 INFO L273 TraceCheckUtils]: 12: Hoare triple {1070#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1071#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:04,599 INFO L273 TraceCheckUtils]: 13: Hoare triple {1071#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,599 INFO L273 TraceCheckUtils]: 14: Hoare triple {1072#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,602 INFO L273 TraceCheckUtils]: 15: Hoare triple {1072#(<= |dll_create_#in~len| 1)} assume true; {1072#(<= |dll_create_#in~len| 1)} is VALID [2018-11-23 13:01:04,603 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {1072#(<= |dll_create_#in~len| 1)} {1069#(<= 5 main_~len~0)} #114#return; {1068#false} is VALID [2018-11-23 13:01:04,603 INFO L273 TraceCheckUtils]: 17: Hoare triple {1068#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1068#false} is VALID [2018-11-23 13:01:04,604 INFO L273 TraceCheckUtils]: 18: Hoare triple {1068#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1068#false} is VALID [2018-11-23 13:01:04,604 INFO L273 TraceCheckUtils]: 19: Hoare triple {1068#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1068#false} is VALID [2018-11-23 13:01:04,604 INFO L273 TraceCheckUtils]: 20: Hoare triple {1068#false} assume !#t~short7;call #t~mem6 := read~int(~head~1.base, 8 + ~head~1.offset, 4);#t~short7 := 0 != #t~mem6; {1068#false} is VALID [2018-11-23 13:01:04,604 INFO L273 TraceCheckUtils]: 21: Hoare triple {1068#false} #t~short9 := #t~short7; {1068#false} is VALID [2018-11-23 13:01:04,605 INFO L273 TraceCheckUtils]: 22: Hoare triple {1068#false} assume !#t~short9;call #t~mem8 := read~int(~head~1.base, 16 + ~head~1.offset, 4);#t~short9 := 0 != #t~mem8; {1068#false} is VALID [2018-11-23 13:01:04,605 INFO L273 TraceCheckUtils]: 23: Hoare triple {1068#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1068#false} is VALID [2018-11-23 13:01:04,605 INFO L273 TraceCheckUtils]: 24: Hoare triple {1068#false} assume !false; {1068#false} is VALID [2018-11-23 13:01:04,606 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:04,634 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:04,634 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2018-11-23 13:01:04,634 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2018-11-23 13:01:04,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:04,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 13:01:04,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:04,752 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 13:01:04,752 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 13:01:04,753 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 13:01:04,753 INFO L87 Difference]: Start difference. First operand 46 states and 56 transitions. Second operand 6 states. [2018-11-23 13:01:05,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:05,263 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2018-11-23 13:01:05,263 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 13:01:05,263 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2018-11-23 13:01:05,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:05,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 13:01:05,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-11-23 13:01:05,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 13:01:05,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-11-23 13:01:05,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-11-23 13:01:05,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:05,427 INFO L225 Difference]: With dead ends: 76 [2018-11-23 13:01:05,427 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 13:01:05,428 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 26 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-23 13:01:05,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 13:01:05,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 48. [2018-11-23 13:01:05,464 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:05,464 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 48 states. [2018-11-23 13:01:05,464 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 48 states. [2018-11-23 13:01:05,465 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 48 states. [2018-11-23 13:01:05,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:05,467 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2018-11-23 13:01:05,467 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-23 13:01:05,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:05,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:05,468 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 53 states. [2018-11-23 13:01:05,468 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 53 states. [2018-11-23 13:01:05,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:05,471 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2018-11-23 13:01:05,471 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-23 13:01:05,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:05,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:05,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:05,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:05,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 13:01:05,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2018-11-23 13:01:05,474 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 25 [2018-11-23 13:01:05,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:05,475 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2018-11-23 13:01:05,475 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 13:01:05,475 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2018-11-23 13:01:05,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 13:01:05,476 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:05,476 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 13:01:05,477 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:05,477 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:05,477 INFO L82 PathProgramCache]: Analyzing trace with hash 1292380644, now seen corresponding path program 1 times [2018-11-23 13:01:05,477 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:05,477 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:05,479 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:05,479 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:05,479 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:05,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:05,623 INFO L256 TraceCheckUtils]: 0: Hoare triple {1408#true} call ULTIMATE.init(); {1408#true} is VALID [2018-11-23 13:01:05,623 INFO L273 TraceCheckUtils]: 1: Hoare triple {1408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1408#true} is VALID [2018-11-23 13:01:05,624 INFO L273 TraceCheckUtils]: 2: Hoare triple {1408#true} assume true; {1408#true} is VALID [2018-11-23 13:01:05,624 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1408#true} {1408#true} #110#return; {1408#true} is VALID [2018-11-23 13:01:05,624 INFO L256 TraceCheckUtils]: 4: Hoare triple {1408#true} call #t~ret18 := main(); {1408#true} is VALID [2018-11-23 13:01:05,625 INFO L273 TraceCheckUtils]: 5: Hoare triple {1408#true} ~len~0 := 5; {1410#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:05,626 INFO L256 TraceCheckUtils]: 6: Hoare triple {1410#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1408#true} is VALID [2018-11-23 13:01:05,627 INFO L273 TraceCheckUtils]: 7: Hoare triple {1408#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,629 INFO L273 TraceCheckUtils]: 9: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,630 INFO L273 TraceCheckUtils]: 10: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,631 INFO L273 TraceCheckUtils]: 11: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,632 INFO L273 TraceCheckUtils]: 12: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,632 INFO L273 TraceCheckUtils]: 13: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,633 INFO L273 TraceCheckUtils]: 14: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,633 INFO L273 TraceCheckUtils]: 15: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,634 INFO L273 TraceCheckUtils]: 16: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,635 INFO L273 TraceCheckUtils]: 17: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1413#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:05,636 INFO L273 TraceCheckUtils]: 18: Hoare triple {1413#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(~len > 0); {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,637 INFO L273 TraceCheckUtils]: 19: Hoare triple {1414#(<= |dll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,638 INFO L273 TraceCheckUtils]: 20: Hoare triple {1414#(<= |dll_create_#in~len| 2)} assume true; {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,639 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1414#(<= |dll_create_#in~len| 2)} {1410#(<= 5 main_~len~0)} #114#return; {1409#false} is VALID [2018-11-23 13:01:05,640 INFO L273 TraceCheckUtils]: 22: Hoare triple {1409#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1409#false} is VALID [2018-11-23 13:01:05,640 INFO L273 TraceCheckUtils]: 23: Hoare triple {1409#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1409#false} is VALID [2018-11-23 13:01:05,641 INFO L273 TraceCheckUtils]: 24: Hoare triple {1409#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1409#false} is VALID [2018-11-23 13:01:05,641 INFO L273 TraceCheckUtils]: 25: Hoare triple {1409#false} assume #t~short7; {1409#false} is VALID [2018-11-23 13:01:05,641 INFO L273 TraceCheckUtils]: 26: Hoare triple {1409#false} #t~short9 := #t~short7; {1409#false} is VALID [2018-11-23 13:01:05,642 INFO L273 TraceCheckUtils]: 27: Hoare triple {1409#false} assume #t~short9; {1409#false} is VALID [2018-11-23 13:01:05,642 INFO L273 TraceCheckUtils]: 28: Hoare triple {1409#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1409#false} is VALID [2018-11-23 13:01:05,642 INFO L273 TraceCheckUtils]: 29: Hoare triple {1409#false} assume !false; {1409#false} is VALID [2018-11-23 13:01:05,645 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:05,646 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:05,646 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-23 13:01:05,662 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:05,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:05,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:05,728 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:05,822 INFO L256 TraceCheckUtils]: 0: Hoare triple {1408#true} call ULTIMATE.init(); {1408#true} is VALID [2018-11-23 13:01:05,823 INFO L273 TraceCheckUtils]: 1: Hoare triple {1408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1408#true} is VALID [2018-11-23 13:01:05,823 INFO L273 TraceCheckUtils]: 2: Hoare triple {1408#true} assume true; {1408#true} is VALID [2018-11-23 13:01:05,824 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1408#true} {1408#true} #110#return; {1408#true} is VALID [2018-11-23 13:01:05,824 INFO L256 TraceCheckUtils]: 4: Hoare triple {1408#true} call #t~ret18 := main(); {1408#true} is VALID [2018-11-23 13:01:05,825 INFO L273 TraceCheckUtils]: 5: Hoare triple {1408#true} ~len~0 := 5; {1410#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:05,826 INFO L256 TraceCheckUtils]: 6: Hoare triple {1410#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1408#true} is VALID [2018-11-23 13:01:05,826 INFO L273 TraceCheckUtils]: 7: Hoare triple {1408#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,827 INFO L273 TraceCheckUtils]: 8: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,827 INFO L273 TraceCheckUtils]: 9: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,827 INFO L273 TraceCheckUtils]: 10: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,828 INFO L273 TraceCheckUtils]: 11: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1411#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:05,835 INFO L273 TraceCheckUtils]: 12: Hoare triple {1411#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,836 INFO L273 TraceCheckUtils]: 13: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,836 INFO L273 TraceCheckUtils]: 14: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,836 INFO L273 TraceCheckUtils]: 15: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,837 INFO L273 TraceCheckUtils]: 16: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:05,837 INFO L273 TraceCheckUtils]: 17: Hoare triple {1412#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1413#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:05,838 INFO L273 TraceCheckUtils]: 18: Hoare triple {1413#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(~len > 0); {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,839 INFO L273 TraceCheckUtils]: 19: Hoare triple {1414#(<= |dll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,839 INFO L273 TraceCheckUtils]: 20: Hoare triple {1414#(<= |dll_create_#in~len| 2)} assume true; {1414#(<= |dll_create_#in~len| 2)} is VALID [2018-11-23 13:01:05,841 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1414#(<= |dll_create_#in~len| 2)} {1410#(<= 5 main_~len~0)} #114#return; {1409#false} is VALID [2018-11-23 13:01:05,841 INFO L273 TraceCheckUtils]: 22: Hoare triple {1409#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1409#false} is VALID [2018-11-23 13:01:05,841 INFO L273 TraceCheckUtils]: 23: Hoare triple {1409#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1409#false} is VALID [2018-11-23 13:01:05,842 INFO L273 TraceCheckUtils]: 24: Hoare triple {1409#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1409#false} is VALID [2018-11-23 13:01:05,842 INFO L273 TraceCheckUtils]: 25: Hoare triple {1409#false} assume #t~short7; {1409#false} is VALID [2018-11-23 13:01:05,842 INFO L273 TraceCheckUtils]: 26: Hoare triple {1409#false} #t~short9 := #t~short7; {1409#false} is VALID [2018-11-23 13:01:05,842 INFO L273 TraceCheckUtils]: 27: Hoare triple {1409#false} assume #t~short9; {1409#false} is VALID [2018-11-23 13:01:05,843 INFO L273 TraceCheckUtils]: 28: Hoare triple {1409#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1409#false} is VALID [2018-11-23 13:01:05,843 INFO L273 TraceCheckUtils]: 29: Hoare triple {1409#false} assume !false; {1409#false} is VALID [2018-11-23 13:01:05,844 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:05,864 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:05,864 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2018-11-23 13:01:05,864 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 30 [2018-11-23 13:01:05,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:05,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 13:01:05,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:05,900 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 13:01:05,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 13:01:05,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-23 13:01:05,901 INFO L87 Difference]: Start difference. First operand 48 states and 58 transitions. Second operand 7 states. [2018-11-23 13:01:06,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:06,430 INFO L93 Difference]: Finished difference Result 87 states and 108 transitions. [2018-11-23 13:01:06,430 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 13:01:06,430 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 30 [2018-11-23 13:01:06,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:06,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 13:01:06,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 79 transitions. [2018-11-23 13:01:06,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 13:01:06,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 79 transitions. [2018-11-23 13:01:06,435 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 79 transitions. [2018-11-23 13:01:06,635 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:06,637 INFO L225 Difference]: With dead ends: 87 [2018-11-23 13:01:06,638 INFO L226 Difference]: Without dead ends: 60 [2018-11-23 13:01:06,639 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:01:06,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-11-23 13:01:06,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 53. [2018-11-23 13:01:06,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:06,685 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 53 states. [2018-11-23 13:01:06,685 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 53 states. [2018-11-23 13:01:06,685 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 53 states. [2018-11-23 13:01:06,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:06,688 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2018-11-23 13:01:06,689 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2018-11-23 13:01:06,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:06,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:06,689 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 60 states. [2018-11-23 13:01:06,690 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 60 states. [2018-11-23 13:01:06,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:06,692 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2018-11-23 13:01:06,692 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2018-11-23 13:01:06,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:06,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:06,693 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:06,693 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:06,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 13:01:06,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2018-11-23 13:01:06,696 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 30 [2018-11-23 13:01:06,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:06,696 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2018-11-23 13:01:06,696 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 13:01:06,696 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-23 13:01:06,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 13:01:06,697 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:06,698 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:06,698 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:06,698 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:06,698 INFO L82 PathProgramCache]: Analyzing trace with hash 376621686, now seen corresponding path program 2 times [2018-11-23 13:01:06,698 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:06,699 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:06,700 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:06,700 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:06,700 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:06,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:06,991 INFO L256 TraceCheckUtils]: 0: Hoare triple {1798#true} call ULTIMATE.init(); {1798#true} is VALID [2018-11-23 13:01:06,991 INFO L273 TraceCheckUtils]: 1: Hoare triple {1798#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1798#true} is VALID [2018-11-23 13:01:06,992 INFO L273 TraceCheckUtils]: 2: Hoare triple {1798#true} assume true; {1798#true} is VALID [2018-11-23 13:01:06,992 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1798#true} {1798#true} #110#return; {1798#true} is VALID [2018-11-23 13:01:06,992 INFO L256 TraceCheckUtils]: 4: Hoare triple {1798#true} call #t~ret18 := main(); {1798#true} is VALID [2018-11-23 13:01:06,993 INFO L273 TraceCheckUtils]: 5: Hoare triple {1798#true} ~len~0 := 5; {1800#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:06,993 INFO L256 TraceCheckUtils]: 6: Hoare triple {1800#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1798#true} is VALID [2018-11-23 13:01:06,993 INFO L273 TraceCheckUtils]: 7: Hoare triple {1798#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:06,994 INFO L273 TraceCheckUtils]: 8: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:06,997 INFO L273 TraceCheckUtils]: 9: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,021 INFO L273 TraceCheckUtils]: 11: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,034 INFO L273 TraceCheckUtils]: 12: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,035 INFO L273 TraceCheckUtils]: 13: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,036 INFO L273 TraceCheckUtils]: 14: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,054 INFO L273 TraceCheckUtils]: 15: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,057 INFO L273 TraceCheckUtils]: 16: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,058 INFO L273 TraceCheckUtils]: 17: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,059 INFO L273 TraceCheckUtils]: 18: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,060 INFO L273 TraceCheckUtils]: 19: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,060 INFO L273 TraceCheckUtils]: 20: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,061 INFO L273 TraceCheckUtils]: 21: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,062 INFO L273 TraceCheckUtils]: 22: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1804#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:07,063 INFO L273 TraceCheckUtils]: 23: Hoare triple {1804#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(~len > 0); {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,064 INFO L273 TraceCheckUtils]: 24: Hoare triple {1805#(<= |dll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,065 INFO L273 TraceCheckUtils]: 25: Hoare triple {1805#(<= |dll_create_#in~len| 3)} assume true; {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,066 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1805#(<= |dll_create_#in~len| 3)} {1800#(<= 5 main_~len~0)} #114#return; {1799#false} is VALID [2018-11-23 13:01:07,067 INFO L273 TraceCheckUtils]: 27: Hoare triple {1799#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1799#false} is VALID [2018-11-23 13:01:07,067 INFO L273 TraceCheckUtils]: 28: Hoare triple {1799#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1799#false} is VALID [2018-11-23 13:01:07,067 INFO L273 TraceCheckUtils]: 29: Hoare triple {1799#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1799#false} is VALID [2018-11-23 13:01:07,068 INFO L273 TraceCheckUtils]: 30: Hoare triple {1799#false} assume #t~short7; {1799#false} is VALID [2018-11-23 13:01:07,068 INFO L273 TraceCheckUtils]: 31: Hoare triple {1799#false} #t~short9 := #t~short7; {1799#false} is VALID [2018-11-23 13:01:07,069 INFO L273 TraceCheckUtils]: 32: Hoare triple {1799#false} assume #t~short9; {1799#false} is VALID [2018-11-23 13:01:07,069 INFO L273 TraceCheckUtils]: 33: Hoare triple {1799#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1799#false} is VALID [2018-11-23 13:01:07,070 INFO L273 TraceCheckUtils]: 34: Hoare triple {1799#false} assume !false; {1799#false} is VALID [2018-11-23 13:01:07,072 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:07,073 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:07,073 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:07,088 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:01:07,154 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:01:07,154 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:07,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:07,217 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:07,607 INFO L256 TraceCheckUtils]: 0: Hoare triple {1798#true} call ULTIMATE.init(); {1798#true} is VALID [2018-11-23 13:01:07,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {1798#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1798#true} is VALID [2018-11-23 13:01:07,608 INFO L273 TraceCheckUtils]: 2: Hoare triple {1798#true} assume true; {1798#true} is VALID [2018-11-23 13:01:07,608 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1798#true} {1798#true} #110#return; {1798#true} is VALID [2018-11-23 13:01:07,608 INFO L256 TraceCheckUtils]: 4: Hoare triple {1798#true} call #t~ret18 := main(); {1798#true} is VALID [2018-11-23 13:01:07,615 INFO L273 TraceCheckUtils]: 5: Hoare triple {1798#true} ~len~0 := 5; {1800#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:07,616 INFO L256 TraceCheckUtils]: 6: Hoare triple {1800#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {1798#true} is VALID [2018-11-23 13:01:07,616 INFO L273 TraceCheckUtils]: 7: Hoare triple {1798#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,617 INFO L273 TraceCheckUtils]: 8: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,617 INFO L273 TraceCheckUtils]: 9: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,618 INFO L273 TraceCheckUtils]: 10: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,618 INFO L273 TraceCheckUtils]: 11: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1801#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:07,619 INFO L273 TraceCheckUtils]: 12: Hoare triple {1801#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,619 INFO L273 TraceCheckUtils]: 13: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,619 INFO L273 TraceCheckUtils]: 14: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,620 INFO L273 TraceCheckUtils]: 15: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,621 INFO L273 TraceCheckUtils]: 16: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:07,622 INFO L273 TraceCheckUtils]: 17: Hoare triple {1802#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,623 INFO L273 TraceCheckUtils]: 18: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,624 INFO L273 TraceCheckUtils]: 19: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,625 INFO L273 TraceCheckUtils]: 20: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,626 INFO L273 TraceCheckUtils]: 21: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:07,627 INFO L273 TraceCheckUtils]: 22: Hoare triple {1803#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1804#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:07,628 INFO L273 TraceCheckUtils]: 23: Hoare triple {1804#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(~len > 0); {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,628 INFO L273 TraceCheckUtils]: 24: Hoare triple {1805#(<= |dll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,639 INFO L273 TraceCheckUtils]: 25: Hoare triple {1805#(<= |dll_create_#in~len| 3)} assume true; {1805#(<= |dll_create_#in~len| 3)} is VALID [2018-11-23 13:01:07,640 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1805#(<= |dll_create_#in~len| 3)} {1800#(<= 5 main_~len~0)} #114#return; {1799#false} is VALID [2018-11-23 13:01:07,641 INFO L273 TraceCheckUtils]: 27: Hoare triple {1799#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {1799#false} is VALID [2018-11-23 13:01:07,641 INFO L273 TraceCheckUtils]: 28: Hoare triple {1799#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {1799#false} is VALID [2018-11-23 13:01:07,641 INFO L273 TraceCheckUtils]: 29: Hoare triple {1799#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {1799#false} is VALID [2018-11-23 13:01:07,641 INFO L273 TraceCheckUtils]: 30: Hoare triple {1799#false} assume #t~short7; {1799#false} is VALID [2018-11-23 13:01:07,641 INFO L273 TraceCheckUtils]: 31: Hoare triple {1799#false} #t~short9 := #t~short7; {1799#false} is VALID [2018-11-23 13:01:07,642 INFO L273 TraceCheckUtils]: 32: Hoare triple {1799#false} assume #t~short9; {1799#false} is VALID [2018-11-23 13:01:07,642 INFO L273 TraceCheckUtils]: 33: Hoare triple {1799#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {1799#false} is VALID [2018-11-23 13:01:07,642 INFO L273 TraceCheckUtils]: 34: Hoare triple {1799#false} assume !false; {1799#false} is VALID [2018-11-23 13:01:07,643 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:07,672 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:07,672 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2018-11-23 13:01:07,673 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 35 [2018-11-23 13:01:07,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:07,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 13:01:07,756 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-23 13:01:07,757 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 13:01:07,757 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 13:01:07,757 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:01:07,758 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand 8 states. [2018-11-23 13:01:08,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:08,407 INFO L93 Difference]: Finished difference Result 92 states and 114 transitions. [2018-11-23 13:01:08,408 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 13:01:08,408 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 35 [2018-11-23 13:01:08,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:08,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:08,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-11-23 13:01:08,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:08,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-11-23 13:01:08,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-11-23 13:01:08,559 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:08,562 INFO L225 Difference]: With dead ends: 92 [2018-11-23 13:01:08,562 INFO L226 Difference]: Without dead ends: 65 [2018-11-23 13:01:08,563 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:01:08,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-11-23 13:01:08,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 58. [2018-11-23 13:01:08,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:08,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 58 states. [2018-11-23 13:01:08,588 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 58 states. [2018-11-23 13:01:08,588 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 58 states. [2018-11-23 13:01:08,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:08,591 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2018-11-23 13:01:08,592 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2018-11-23 13:01:08,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:08,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:08,592 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 65 states. [2018-11-23 13:01:08,592 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 65 states. [2018-11-23 13:01:08,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:08,595 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2018-11-23 13:01:08,595 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2018-11-23 13:01:08,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:08,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:08,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:08,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:08,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 13:01:08,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 70 transitions. [2018-11-23 13:01:08,598 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 70 transitions. Word has length 35 [2018-11-23 13:01:08,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:08,598 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 70 transitions. [2018-11-23 13:01:08,598 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 13:01:08,598 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2018-11-23 13:01:08,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 13:01:08,599 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:08,599 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:08,600 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:08,600 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:08,600 INFO L82 PathProgramCache]: Analyzing trace with hash -1613777628, now seen corresponding path program 3 times [2018-11-23 13:01:08,600 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:08,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:08,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:08,602 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:08,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:08,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:08,874 INFO L256 TraceCheckUtils]: 0: Hoare triple {2226#true} call ULTIMATE.init(); {2226#true} is VALID [2018-11-23 13:01:08,875 INFO L273 TraceCheckUtils]: 1: Hoare triple {2226#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2226#true} is VALID [2018-11-23 13:01:08,875 INFO L273 TraceCheckUtils]: 2: Hoare triple {2226#true} assume true; {2226#true} is VALID [2018-11-23 13:01:08,875 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2226#true} {2226#true} #110#return; {2226#true} is VALID [2018-11-23 13:01:08,875 INFO L256 TraceCheckUtils]: 4: Hoare triple {2226#true} call #t~ret18 := main(); {2226#true} is VALID [2018-11-23 13:01:08,876 INFO L273 TraceCheckUtils]: 5: Hoare triple {2226#true} ~len~0 := 5; {2228#(<= 5 main_~len~0)} is VALID [2018-11-23 13:01:08,876 INFO L256 TraceCheckUtils]: 6: Hoare triple {2228#(<= 5 main_~len~0)} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {2226#true} is VALID [2018-11-23 13:01:08,877 INFO L273 TraceCheckUtils]: 7: Hoare triple {2226#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2229#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:08,878 INFO L273 TraceCheckUtils]: 8: Hoare triple {2229#(<= |dll_create_#in~len| dll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2229#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:08,878 INFO L273 TraceCheckUtils]: 9: Hoare triple {2229#(<= |dll_create_#in~len| dll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2229#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:08,897 INFO L273 TraceCheckUtils]: 10: Hoare triple {2229#(<= |dll_create_#in~len| dll_create_~len)} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2229#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:08,910 INFO L273 TraceCheckUtils]: 11: Hoare triple {2229#(<= |dll_create_#in~len| dll_create_~len)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2229#(<= |dll_create_#in~len| dll_create_~len)} is VALID [2018-11-23 13:01:08,926 INFO L273 TraceCheckUtils]: 12: Hoare triple {2229#(<= |dll_create_#in~len| dll_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:08,935 INFO L273 TraceCheckUtils]: 13: Hoare triple {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:08,948 INFO L273 TraceCheckUtils]: 14: Hoare triple {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:08,957 INFO L273 TraceCheckUtils]: 15: Hoare triple {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:08,958 INFO L273 TraceCheckUtils]: 16: Hoare triple {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2018-11-23 13:01:08,961 INFO L273 TraceCheckUtils]: 17: Hoare triple {2230#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:08,961 INFO L273 TraceCheckUtils]: 18: Hoare triple {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:08,964 INFO L273 TraceCheckUtils]: 19: Hoare triple {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:08,964 INFO L273 TraceCheckUtils]: 20: Hoare triple {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:08,967 INFO L273 TraceCheckUtils]: 21: Hoare triple {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2018-11-23 13:01:08,967 INFO L273 TraceCheckUtils]: 22: Hoare triple {2231#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:08,968 INFO L273 TraceCheckUtils]: 23: Hoare triple {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:08,968 INFO L273 TraceCheckUtils]: 24: Hoare triple {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:08,970 INFO L273 TraceCheckUtils]: 25: Hoare triple {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:08,970 INFO L273 TraceCheckUtils]: 26: Hoare triple {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2018-11-23 13:01:08,971 INFO L273 TraceCheckUtils]: 27: Hoare triple {2232#(<= |dll_create_#in~len| (+ dll_create_~len 3))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2233#(<= |dll_create_#in~len| (+ dll_create_~len 4))} is VALID [2018-11-23 13:01:08,971 INFO L273 TraceCheckUtils]: 28: Hoare triple {2233#(<= |dll_create_#in~len| (+ dll_create_~len 4))} assume !(~len > 0); {2234#(<= |dll_create_#in~len| 4)} is VALID [2018-11-23 13:01:08,972 INFO L273 TraceCheckUtils]: 29: Hoare triple {2234#(<= |dll_create_#in~len| 4)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2234#(<= |dll_create_#in~len| 4)} is VALID [2018-11-23 13:01:08,972 INFO L273 TraceCheckUtils]: 30: Hoare triple {2234#(<= |dll_create_#in~len| 4)} assume true; {2234#(<= |dll_create_#in~len| 4)} is VALID [2018-11-23 13:01:08,973 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2234#(<= |dll_create_#in~len| 4)} {2228#(<= 5 main_~len~0)} #114#return; {2227#false} is VALID [2018-11-23 13:01:08,974 INFO L273 TraceCheckUtils]: 32: Hoare triple {2227#false} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {2227#false} is VALID [2018-11-23 13:01:08,974 INFO L273 TraceCheckUtils]: 33: Hoare triple {2227#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {2227#false} is VALID [2018-11-23 13:01:08,974 INFO L273 TraceCheckUtils]: 34: Hoare triple {2227#false} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {2227#false} is VALID [2018-11-23 13:01:08,974 INFO L273 TraceCheckUtils]: 35: Hoare triple {2227#false} assume #t~short7; {2227#false} is VALID [2018-11-23 13:01:08,975 INFO L273 TraceCheckUtils]: 36: Hoare triple {2227#false} #t~short9 := #t~short7; {2227#false} is VALID [2018-11-23 13:01:08,975 INFO L273 TraceCheckUtils]: 37: Hoare triple {2227#false} assume #t~short9; {2227#false} is VALID [2018-11-23 13:01:08,975 INFO L273 TraceCheckUtils]: 38: Hoare triple {2227#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {2227#false} is VALID [2018-11-23 13:01:08,975 INFO L273 TraceCheckUtils]: 39: Hoare triple {2227#false} assume !false; {2227#false} is VALID [2018-11-23 13:01:08,977 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 34 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:08,977 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:08,977 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:08,987 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:01:09,253 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:01:09,253 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:09,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:09,290 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:09,415 INFO L478 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-23 13:01:09,419 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,423 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,423 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:6, output treesize:5 [2018-11-23 13:01:09,425 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:09,426 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_13|]. (= |#valid| (store |v_#valid_13| dll_create_~new_head~0.base 1)) [2018-11-23 13:01:09,426 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= 1 (select |#valid| dll_create_~new_head~0.base)) [2018-11-23 13:01:09,490 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,491 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,492 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2018-11-23 13:01:09,493 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,495 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,496 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:11, output treesize:4 [2018-11-23 13:01:09,546 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:01:09,551 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:01:09,570 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 34 [2018-11-23 13:01:09,576 INFO L478 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 34 treesize of output 37 [2018-11-23 13:01:09,581 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,583 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 45 [2018-11-23 13:01:09,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,605 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 61 [2018-11-23 13:01:09,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,625 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,626 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,637 INFO L478 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 41 treesize of output 85 [2018-11-23 13:01:09,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,659 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:09,756 INFO L303 Elim1Store]: Index analysis took 110 ms [2018-11-23 13:01:09,758 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 107 [2018-11-23 13:01:09,764 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,791 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,806 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,818 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,829 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,840 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,851 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,851 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 2 variables, input treesize:56, output treesize:30 [2018-11-23 13:01:09,859 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:09,859 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_21|, |v_#memory_int_20|]. (let ((.cse1 (select |v_#memory_int_20| dll_create_~new_head~0.base))) (and (= (store |v_#memory_int_21| dll_create_~new_head~0.base (let ((.cse0 (+ dll_create_~new_head~0.offset 4))) (store (store (store (store (select |v_#memory_int_21| dll_create_~new_head~0.base) dll_create_~new_head~0.offset 0) (+ dll_create_~new_head~0.offset 8) 0) (+ dll_create_~new_head~0.offset 16) 0) .cse0 (select .cse1 .cse0)))) |v_#memory_int_20|) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)) (= (store |v_#memory_int_20| dll_create_~new_head~0.base (let ((.cse2 (+ dll_create_~new_head~0.offset 12))) (store .cse1 .cse2 (select (select |#memory_int| dll_create_~new_head~0.base) .cse2)))) |#memory_int|))) [2018-11-23 13:01:09,860 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| dll_create_~new_head~0.base))) (and (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 16))) (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 8))) (= 0 (select .cse0 dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))) [2018-11-23 13:01:09,906 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 46 [2018-11-23 13:01:09,910 INFO L478 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 1 [2018-11-23 13:01:09,911 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,921 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,932 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:09,933 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:49, output treesize:26 [2018-11-23 13:01:09,938 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:09,938 WARN L384 uantifierElimination]: Input elimination task: ∃ [dll_create_~head~0.base, dll_create_~head~0.offset, |v_#memory_int_22|]. (let ((.cse0 (select |v_#memory_int_22| dll_create_~new_head~0.base))) (and (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 8))) (= 0 (select .cse0 dll_create_~new_head~0.offset)) (= (store |v_#memory_int_22| dll_create_~head~0.base (let ((.cse1 (+ dll_create_~head~0.offset 12))) (store (select |v_#memory_int_22| dll_create_~head~0.base) .cse1 (select (select |#memory_int| dll_create_~head~0.base) .cse1)))) |#memory_int|) (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 16))) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))) [2018-11-23 13:01:09,938 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| dll_create_~new_head~0.base))) (and (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 16))) (= 0 (select .cse0 (+ dll_create_~new_head~0.offset 8))) (= 0 (select .cse0 dll_create_~new_head~0.offset)))) [2018-11-23 13:01:10,210 INFO L256 TraceCheckUtils]: 0: Hoare triple {2226#true} call ULTIMATE.init(); {2226#true} is VALID [2018-11-23 13:01:10,210 INFO L273 TraceCheckUtils]: 1: Hoare triple {2226#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2226#true} is VALID [2018-11-23 13:01:10,210 INFO L273 TraceCheckUtils]: 2: Hoare triple {2226#true} assume true; {2226#true} is VALID [2018-11-23 13:01:10,210 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2226#true} {2226#true} #110#return; {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L256 TraceCheckUtils]: 4: Hoare triple {2226#true} call #t~ret18 := main(); {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L273 TraceCheckUtils]: 5: Hoare triple {2226#true} ~len~0 := 5; {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L256 TraceCheckUtils]: 6: Hoare triple {2226#true} call #t~ret4.base, #t~ret4.offset := dll_create(~len~0); {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L273 TraceCheckUtils]: 7: Hoare triple {2226#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L273 TraceCheckUtils]: 8: Hoare triple {2226#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L273 TraceCheckUtils]: 9: Hoare triple {2226#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2226#true} is VALID [2018-11-23 13:01:10,211 INFO L273 TraceCheckUtils]: 10: Hoare triple {2226#true} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 11: Hoare triple {2226#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 12: Hoare triple {2226#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 13: Hoare triple {2226#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 14: Hoare triple {2226#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 15: Hoare triple {2226#true} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 16: Hoare triple {2226#true} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2226#true} is VALID [2018-11-23 13:01:10,212 INFO L273 TraceCheckUtils]: 17: Hoare triple {2226#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2226#true} is VALID [2018-11-23 13:01:10,213 INFO L273 TraceCheckUtils]: 18: Hoare triple {2226#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:10,216 INFO L273 TraceCheckUtils]: 19: Hoare triple {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:10,216 INFO L273 TraceCheckUtils]: 20: Hoare triple {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:10,218 INFO L273 TraceCheckUtils]: 21: Hoare triple {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:10,218 INFO L273 TraceCheckUtils]: 22: Hoare triple {2292#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2305#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2018-11-23 13:01:10,220 INFO L273 TraceCheckUtils]: 23: Hoare triple {2305#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(20);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2309#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2018-11-23 13:01:10,220 INFO L273 TraceCheckUtils]: 24: Hoare triple {2309#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2309#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2018-11-23 13:01:10,222 INFO L273 TraceCheckUtils]: 25: Hoare triple {2309#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4);call write~int(0, ~new_head~0.base, 16 + ~new_head~0.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); {2316#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 16))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2018-11-23 13:01:10,230 INFO L273 TraceCheckUtils]: 26: Hoare triple {2316#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 16))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0;call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); {2320#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 16))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)))} is VALID [2018-11-23 13:01:10,232 INFO L273 TraceCheckUtils]: 27: Hoare triple {2320#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 16))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2324#(and (= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 16)) 0))} is VALID [2018-11-23 13:01:10,232 INFO L273 TraceCheckUtils]: 28: Hoare triple {2324#(and (= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 16)) 0))} assume !(~len > 0); {2324#(and (= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 16)) 0))} is VALID [2018-11-23 13:01:10,241 INFO L273 TraceCheckUtils]: 29: Hoare triple {2324#(and (= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset)) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 8)) 0) (= (select (select |#memory_int| dll_create_~head~0.base) (+ dll_create_~head~0.offset 16)) 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2331#(and (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 0) (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 16)) 0))} is VALID [2018-11-23 13:01:10,242 INFO L273 TraceCheckUtils]: 30: Hoare triple {2331#(and (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 0) (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 16)) 0))} assume true; {2331#(and (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 0) (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 16)) 0))} is VALID [2018-11-23 13:01:10,243 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2331#(and (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 8)) 0) (= (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|) 0) (= (select (select |#memory_int| |dll_create_#res.base|) (+ |dll_create_#res.offset| 16)) 0))} {2226#true} #114#return; {2338#(and (= (select (select |#memory_int| |main_#t~ret4.base|) |main_#t~ret4.offset|) 0) (= (select (select |#memory_int| |main_#t~ret4.base|) (+ |main_#t~ret4.offset| 8)) 0) (= (select (select |#memory_int| |main_#t~ret4.base|) (+ |main_#t~ret4.offset| 16)) 0))} is VALID [2018-11-23 13:01:10,247 INFO L273 TraceCheckUtils]: 32: Hoare triple {2338#(and (= (select (select |#memory_int| |main_#t~ret4.base|) |main_#t~ret4.offset|) 0) (= (select (select |#memory_int| |main_#t~ret4.base|) (+ |main_#t~ret4.offset| 8)) 0) (= (select (select |#memory_int| |main_#t~ret4.base|) (+ |main_#t~ret4.offset| 16)) 0))} ~head~1.base, ~head~1.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset; {2342#(and (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 16))) (= (select (select |#memory_int| main_~head~1.base) main_~head~1.offset) 0))} is VALID [2018-11-23 13:01:10,248 INFO L273 TraceCheckUtils]: 33: Hoare triple {2342#(and (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 16))) (= (select (select |#memory_int| main_~head~1.base) main_~head~1.offset) 0))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); {2342#(and (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 16))) (= (select (select |#memory_int| main_~head~1.base) main_~head~1.offset) 0))} is VALID [2018-11-23 13:01:10,249 INFO L273 TraceCheckUtils]: 34: Hoare triple {2342#(and (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 16))) (= (select (select |#memory_int| main_~head~1.base) main_~head~1.offset) 0))} assume !!(#t~mem11.base != 0 || #t~mem11.offset != 0);havoc #t~mem11.base, #t~mem11.offset;call #t~mem5 := read~int(~head~1.base, ~head~1.offset, 4);#t~short7 := 0 != #t~mem5; {2349#(not |main_#t~short7|)} is VALID [2018-11-23 13:01:10,249 INFO L273 TraceCheckUtils]: 35: Hoare triple {2349#(not |main_#t~short7|)} assume #t~short7; {2227#false} is VALID [2018-11-23 13:01:10,249 INFO L273 TraceCheckUtils]: 36: Hoare triple {2227#false} #t~short9 := #t~short7; {2227#false} is VALID [2018-11-23 13:01:10,250 INFO L273 TraceCheckUtils]: 37: Hoare triple {2227#false} assume #t~short9; {2227#false} is VALID [2018-11-23 13:01:10,250 INFO L273 TraceCheckUtils]: 38: Hoare triple {2227#false} assume #t~short9;havoc #t~short7;havoc #t~mem6;havoc #t~short9;havoc #t~mem8;havoc #t~mem5; {2227#false} is VALID [2018-11-23 13:01:10,250 INFO L273 TraceCheckUtils]: 39: Hoare triple {2227#false} assume !false; {2227#false} is VALID [2018-11-23 13:01:10,254 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 22 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 13:01:10,274 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:10,274 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 12] total 19 [2018-11-23 13:01:10,275 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 40 [2018-11-23 13:01:10,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:10,275 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 13:01:10,385 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:10,385 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 13:01:10,385 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 13:01:10,385 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=295, Unknown=0, NotChecked=0, Total=342 [2018-11-23 13:01:10,386 INFO L87 Difference]: Start difference. First operand 58 states and 70 transitions. Second operand 19 states. [2018-11-23 13:01:14,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,332 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2018-11-23 13:01:14,332 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 13:01:14,333 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 40 [2018-11-23 13:01:14,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:14,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 13:01:14,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2018-11-23 13:01:14,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 13:01:14,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2018-11-23 13:01:14,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 110 transitions. [2018-11-23 13:01:14,561 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:14,563 INFO L225 Difference]: With dead ends: 111 [2018-11-23 13:01:14,563 INFO L226 Difference]: Without dead ends: 84 [2018-11-23 13:01:14,565 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 327 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=300, Invalid=1422, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 13:01:14,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-23 13:01:14,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 57. [2018-11-23 13:01:14,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:14,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 57 states. [2018-11-23 13:01:14,635 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 57 states. [2018-11-23 13:01:14,635 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 57 states. [2018-11-23 13:01:14,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,639 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2018-11-23 13:01:14,640 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 103 transitions. [2018-11-23 13:01:14,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:14,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:14,640 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 84 states. [2018-11-23 13:01:14,640 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 84 states. [2018-11-23 13:01:14,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,643 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2018-11-23 13:01:14,643 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 103 transitions. [2018-11-23 13:01:14,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:14,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:14,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:14,644 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:14,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 13:01:14,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2018-11-23 13:01:14,646 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 40 [2018-11-23 13:01:14,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:14,646 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2018-11-23 13:01:14,646 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 13:01:14,646 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2018-11-23 13:01:14,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 13:01:14,647 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:14,647 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:14,647 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:14,648 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:14,648 INFO L82 PathProgramCache]: Analyzing trace with hash 117210554, now seen corresponding path program 1 times [2018-11-23 13:01:14,648 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:14,648 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:14,649 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:14,649 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:14,649 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:14,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:15,375 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: zero is neutral element of plus operator at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:87) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:154) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 13:01:15,379 INFO L168 Benchmark]: Toolchain (without parser) took 18071.14 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.0 GB). Free memory was 1.4 GB in the beginning and 2.5 GB in the end (delta: -1.1 GB). There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 13:01:15,381 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 13:01:15,381 INFO L168 Benchmark]: CACSL2BoogieTranslator took 714.95 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. [2018-11-23 13:01:15,382 INFO L168 Benchmark]: Boogie Procedure Inliner took 117.61 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 739.2 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -820.8 MB). Peak memory consumption was 16.0 MB. Max. memory is 7.1 GB. [2018-11-23 13:01:15,383 INFO L168 Benchmark]: Boogie Preprocessor took 65.99 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 13.1 MB). Peak memory consumption was 13.1 MB. Max. memory is 7.1 GB. [2018-11-23 13:01:15,383 INFO L168 Benchmark]: RCFGBuilder took 1023.51 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 36.6 MB). Peak memory consumption was 36.6 MB. Max. memory is 7.1 GB. [2018-11-23 13:01:15,384 INFO L168 Benchmark]: TraceAbstraction took 16144.34 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 304.6 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -355.5 MB). There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 13:01:15,388 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 714.95 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 117.61 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 739.2 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -820.8 MB). Peak memory consumption was 16.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 65.99 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 13.1 MB). Peak memory consumption was 13.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1023.51 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 36.6 MB). Peak memory consumption was 36.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 16144.34 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 304.6 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -355.5 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: zero is neutral element of plus operator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: zero is neutral element of plus operator: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:87) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...