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_Bitvector.epf -i ../../../trunk/examples/svcomp/list-properties/list_search_true-unreach-call_false-valid-memcleanup.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:05:15,218 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:05:15,220 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:05:15,236 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:05:15,237 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:05:15,239 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:05:15,240 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:05:15,242 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:05:15,245 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:05:15,247 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:05:15,248 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:05:15,248 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:05:15,251 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:05:15,252 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:05:15,253 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:05:15,254 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:05:15,255 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:05:15,256 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:05:15,258 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:05:15,260 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:05:15,261 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:05:15,262 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:05:15,265 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:05:15,265 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:05:15,265 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:05:15,269 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:05:15,271 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:05:15,271 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:05:15,272 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:05:15,275 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:05:15,275 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:05:15,277 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:05:15,277 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:05:15,277 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:05:15,280 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:05:15,281 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:05:15,282 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 11:05:15,308 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:05:15,308 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:05:15,316 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:05:15,316 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:05:15,317 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:05:15,317 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:05:15,317 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:05:15,318 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:05:15,318 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:05:15,318 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:05:15,318 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:05:15,319 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:05:15,320 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:05:15,320 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:05:15,320 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:05:15,320 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:05:15,321 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:05:15,321 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:05:15,321 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:05:15,321 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:05:15,321 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:05:15,322 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:05:15,322 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:05:15,322 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:05:15,322 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:05:15,322 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:05:15,323 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:05:15,324 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:05:15,324 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:05:15,324 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:05:15,324 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:05:15,324 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:05:15,325 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:05:15,386 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:05:15,400 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:05:15,404 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:05:15,406 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:05:15,407 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:05:15,407 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-properties/list_search_true-unreach-call_false-valid-memcleanup.i [2018-11-23 11:05:15,471 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/747f58ec0/210b0f19cb054f5e9511ac801d538bac/FLAGbf0fe6f36 [2018-11-23 11:05:16,108 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:05:16,109 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-properties/list_search_true-unreach-call_false-valid-memcleanup.i [2018-11-23 11:05:16,129 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/747f58ec0/210b0f19cb054f5e9511ac801d538bac/FLAGbf0fe6f36 [2018-11-23 11:05:16,318 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/747f58ec0/210b0f19cb054f5e9511ac801d538bac [2018-11-23 11:05:16,328 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:05:16,329 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:05:16,331 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:05:16,331 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:05:16,335 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:05:16,336 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:05:16" (1/1) ... [2018-11-23 11:05:16,339 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@59565e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:16, skipping insertion in model container [2018-11-23 11:05:16,340 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:05:16" (1/1) ... [2018-11-23 11:05:16,350 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:05:16,417 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:05:17,006 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:05:17,025 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:05:17,187 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:05:17,319 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:05:17,320 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17 WrapperNode [2018-11-23 11:05:17,320 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:05:17,321 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:05:17,321 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:05:17,321 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:05:17,330 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,353 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,363 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:05:17,364 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:05:17,364 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:05:17,364 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:05:17,372 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,372 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,378 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,379 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,410 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,421 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,424 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (1/1) ... [2018-11-23 11:05:17,429 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:05:17,430 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:05:17,430 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:05:17,430 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:05:17,432 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (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 11:05:17,500 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 11:05:17,501 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:05:17,501 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:05:17,501 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:05:17,501 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:05:17,502 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:05:17,502 INFO L130 BoogieDeclarations]: Found specification of procedure search_list [2018-11-23 11:05:17,502 INFO L138 BoogieDeclarations]: Found implementation of procedure search_list [2018-11-23 11:05:17,502 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:05:17,502 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 11:05:17,503 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 11:05:17,503 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:05:17,503 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:05:17,503 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:05:17,503 INFO L130 BoogieDeclarations]: Found specification of procedure delete_list [2018-11-23 11:05:17,505 INFO L138 BoogieDeclarations]: Found implementation of procedure delete_list [2018-11-23 11:05:17,505 INFO L130 BoogieDeclarations]: Found specification of procedure insert_list [2018-11-23 11:05:17,505 INFO L138 BoogieDeclarations]: Found implementation of procedure insert_list [2018-11-23 11:05:17,505 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:05:17,506 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:05:18,554 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:05:18,555 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 11:05:18,555 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:05:18 BoogieIcfgContainer [2018-11-23 11:05:18,555 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:05:18,556 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:05:18,556 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:05:18,560 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:05:18,560 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:05:16" (1/3) ... [2018-11-23 11:05:18,561 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7be0ffb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:05:18, skipping insertion in model container [2018-11-23 11:05:18,561 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:05:17" (2/3) ... [2018-11-23 11:05:18,562 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7be0ffb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:05:18, skipping insertion in model container [2018-11-23 11:05:18,562 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:05:18" (3/3) ... [2018-11-23 11:05:18,564 INFO L112 eAbstractionObserver]: Analyzing ICFG list_search_true-unreach-call_false-valid-memcleanup.i [2018-11-23 11:05:18,574 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:05:18,583 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:05:18,601 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:05:18,632 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:05:18,633 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:05:18,633 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:05:18,633 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:05:18,633 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:05:18,633 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:05:18,634 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:05:18,634 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:05:18,634 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:05:18,653 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states. [2018-11-23 11:05:18,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 11:05:18,664 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:18,666 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:18,669 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:18,675 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:18,675 INFO L82 PathProgramCache]: Analyzing trace with hash 1779994185, now seen corresponding path program 1 times [2018-11-23 11:05:18,681 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:18,682 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:18,702 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:18,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:18,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:18,901 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:19,199 INFO L256 TraceCheckUtils]: 0: Hoare triple {55#true} call ULTIMATE.init(); {55#true} is VALID [2018-11-23 11:05:19,203 INFO L273 TraceCheckUtils]: 1: Hoare triple {55#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {55#true} is VALID [2018-11-23 11:05:19,203 INFO L273 TraceCheckUtils]: 2: Hoare triple {55#true} assume true; {55#true} is VALID [2018-11-23 11:05:19,204 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {55#true} {55#true} #125#return; {55#true} is VALID [2018-11-23 11:05:19,204 INFO L256 TraceCheckUtils]: 4: Hoare triple {55#true} call #t~ret45 := main(); {55#true} is VALID [2018-11-23 11:05:19,204 INFO L273 TraceCheckUtils]: 5: Hoare triple {55#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {55#true} is VALID [2018-11-23 11:05:19,205 INFO L256 TraceCheckUtils]: 6: Hoare triple {55#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {55#true} is VALID [2018-11-23 11:05:19,205 INFO L273 TraceCheckUtils]: 7: Hoare triple {55#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {55#true} is VALID [2018-11-23 11:05:19,205 INFO L273 TraceCheckUtils]: 8: Hoare triple {55#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {55#true} is VALID [2018-11-23 11:05:19,206 INFO L273 TraceCheckUtils]: 9: Hoare triple {55#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {55#true} is VALID [2018-11-23 11:05:19,206 INFO L273 TraceCheckUtils]: 10: Hoare triple {55#true} assume true; {55#true} is VALID [2018-11-23 11:05:19,207 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {55#true} {55#true} #111#return; {55#true} is VALID [2018-11-23 11:05:19,207 INFO L273 TraceCheckUtils]: 12: Hoare triple {55#true} havoc #t~ret36; {55#true} is VALID [2018-11-23 11:05:19,207 INFO L256 TraceCheckUtils]: 13: Hoare triple {55#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {55#true} is VALID [2018-11-23 11:05:19,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {55#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {55#true} is VALID [2018-11-23 11:05:19,208 INFO L273 TraceCheckUtils]: 15: Hoare triple {55#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {55#true} is VALID [2018-11-23 11:05:19,208 INFO L273 TraceCheckUtils]: 16: Hoare triple {55#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {55#true} is VALID [2018-11-23 11:05:19,209 INFO L273 TraceCheckUtils]: 17: Hoare triple {55#true} assume true; {55#true} is VALID [2018-11-23 11:05:19,209 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {55#true} {55#true} #113#return; {55#true} is VALID [2018-11-23 11:05:19,210 INFO L273 TraceCheckUtils]: 19: Hoare triple {55#true} havoc #t~ret37; {55#true} is VALID [2018-11-23 11:05:19,210 INFO L256 TraceCheckUtils]: 20: Hoare triple {55#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {55#true} is VALID [2018-11-23 11:05:19,210 INFO L273 TraceCheckUtils]: 21: Hoare triple {55#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {55#true} is VALID [2018-11-23 11:05:19,211 INFO L273 TraceCheckUtils]: 22: Hoare triple {55#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {55#true} is VALID [2018-11-23 11:05:19,211 INFO L273 TraceCheckUtils]: 23: Hoare triple {55#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {55#true} is VALID [2018-11-23 11:05:19,211 INFO L273 TraceCheckUtils]: 24: Hoare triple {55#true} assume true; {55#true} is VALID [2018-11-23 11:05:19,212 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {55#true} {55#true} #115#return; {55#true} is VALID [2018-11-23 11:05:19,212 INFO L273 TraceCheckUtils]: 26: Hoare triple {55#true} havoc #t~ret38; {55#true} is VALID [2018-11-23 11:05:19,212 INFO L256 TraceCheckUtils]: 27: Hoare triple {55#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {55#true} is VALID [2018-11-23 11:05:19,213 INFO L273 TraceCheckUtils]: 28: Hoare triple {55#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {55#true} is VALID [2018-11-23 11:05:19,213 INFO L273 TraceCheckUtils]: 29: Hoare triple {55#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {55#true} is VALID [2018-11-23 11:05:19,214 INFO L273 TraceCheckUtils]: 30: Hoare triple {55#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {55#true} is VALID [2018-11-23 11:05:19,214 INFO L273 TraceCheckUtils]: 31: Hoare triple {55#true} assume true; {55#true} is VALID [2018-11-23 11:05:19,214 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {55#true} {55#true} #117#return; {55#true} is VALID [2018-11-23 11:05:19,215 INFO L273 TraceCheckUtils]: 33: Hoare triple {55#true} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {55#true} is VALID [2018-11-23 11:05:19,228 INFO L273 TraceCheckUtils]: 34: Hoare triple {55#true} assume !true; {56#false} is VALID [2018-11-23 11:05:19,228 INFO L256 TraceCheckUtils]: 35: Hoare triple {56#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {56#false} is VALID [2018-11-23 11:05:19,229 INFO L273 TraceCheckUtils]: 36: Hoare triple {56#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {56#false} is VALID [2018-11-23 11:05:19,229 INFO L273 TraceCheckUtils]: 37: Hoare triple {56#false} assume !true; {56#false} is VALID [2018-11-23 11:05:19,230 INFO L273 TraceCheckUtils]: 38: Hoare triple {56#false} #res.base, #res.offset := ~l.base, ~l.offset; {56#false} is VALID [2018-11-23 11:05:19,230 INFO L273 TraceCheckUtils]: 39: Hoare triple {56#false} assume true; {56#false} is VALID [2018-11-23 11:05:19,230 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {56#false} {56#false} #119#return; {56#false} is VALID [2018-11-23 11:05:19,231 INFO L273 TraceCheckUtils]: 41: Hoare triple {56#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {56#false} is VALID [2018-11-23 11:05:19,231 INFO L256 TraceCheckUtils]: 42: Hoare triple {56#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {56#false} is VALID [2018-11-23 11:05:19,232 INFO L273 TraceCheckUtils]: 43: Hoare triple {56#false} ~cond := #in~cond; {56#false} is VALID [2018-11-23 11:05:19,232 INFO L273 TraceCheckUtils]: 44: Hoare triple {56#false} assume 0bv32 == ~cond; {56#false} is VALID [2018-11-23 11:05:19,232 INFO L273 TraceCheckUtils]: 45: Hoare triple {56#false} assume !false; {56#false} is VALID [2018-11-23 11:05:19,242 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2018-11-23 11:05:19,242 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:19,250 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:19,251 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:05:19,258 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 46 [2018-11-23 11:05:19,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:19,266 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:05:19,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:19,539 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:05:19,550 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:05:19,551 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:05:19,554 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 2 states. [2018-11-23 11:05:20,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:20,185 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2018-11-23 11:05:20,185 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:05:20,185 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 46 [2018-11-23 11:05:20,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:20,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:05:20,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 109 transitions. [2018-11-23 11:05:20,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:05:20,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 109 transitions. [2018-11-23 11:05:20,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 109 transitions. [2018-11-23 11:05:20,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:20,656 INFO L225 Difference]: With dead ends: 84 [2018-11-23 11:05:20,657 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 11:05:20,661 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 45 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 11:05:20,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 11:05:20,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2018-11-23 11:05:20,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:20,753 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 34 states. [2018-11-23 11:05:20,756 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2018-11-23 11:05:20,756 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2018-11-23 11:05:20,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:20,768 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2018-11-23 11:05:20,769 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2018-11-23 11:05:20,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:20,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:20,770 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2018-11-23 11:05:20,770 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2018-11-23 11:05:20,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:20,778 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2018-11-23 11:05:20,778 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2018-11-23 11:05:20,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:20,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:20,779 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:20,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:20,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 11:05:20,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2018-11-23 11:05:20,787 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 46 [2018-11-23 11:05:20,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:20,788 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2018-11-23 11:05:20,788 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:05:20,788 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2018-11-23 11:05:20,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 11:05:20,790 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:20,790 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:20,791 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:20,791 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:20,791 INFO L82 PathProgramCache]: Analyzing trace with hash -604514330, now seen corresponding path program 1 times [2018-11-23 11:05:20,792 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:20,792 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:20,818 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:20,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:20,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:20,942 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:21,239 INFO L256 TraceCheckUtils]: 0: Hoare triple {423#true} call ULTIMATE.init(); {423#true} is VALID [2018-11-23 11:05:21,240 INFO L273 TraceCheckUtils]: 1: Hoare triple {423#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {423#true} is VALID [2018-11-23 11:05:21,240 INFO L273 TraceCheckUtils]: 2: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 11:05:21,241 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {423#true} {423#true} #125#return; {423#true} is VALID [2018-11-23 11:05:21,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {423#true} call #t~ret45 := main(); {423#true} is VALID [2018-11-23 11:05:21,242 INFO L273 TraceCheckUtils]: 5: Hoare triple {423#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {423#true} is VALID [2018-11-23 11:05:21,242 INFO L256 TraceCheckUtils]: 6: Hoare triple {423#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {423#true} is VALID [2018-11-23 11:05:21,247 INFO L273 TraceCheckUtils]: 7: Hoare triple {423#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {449#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:21,259 INFO L273 TraceCheckUtils]: 8: Hoare triple {449#(not (= (_ bv0 32) insert_list_~l.base))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {449#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:21,261 INFO L273 TraceCheckUtils]: 9: Hoare triple {449#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,261 INFO L273 TraceCheckUtils]: 10: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} assume true; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,264 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {456#(not (= ~head~0.base (_ bv0 32)))} {423#true} #111#return; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,265 INFO L273 TraceCheckUtils]: 12: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret36; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,266 INFO L256 TraceCheckUtils]: 13: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {469#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:05:21,276 INFO L273 TraceCheckUtils]: 14: Hoare triple {469#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {469#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:05:21,277 INFO L273 TraceCheckUtils]: 15: Hoare triple {469#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,279 INFO L273 TraceCheckUtils]: 16: Hoare triple {476#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,281 INFO L273 TraceCheckUtils]: 17: Hoare triple {476#(= |old(~head~0.base)| (_ bv0 32))} assume true; {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,283 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {476#(= |old(~head~0.base)| (_ bv0 32))} {456#(not (= ~head~0.base (_ bv0 32)))} #113#return; {424#false} is VALID [2018-11-23 11:05:21,283 INFO L273 TraceCheckUtils]: 19: Hoare triple {424#false} havoc #t~ret37; {424#false} is VALID [2018-11-23 11:05:21,284 INFO L256 TraceCheckUtils]: 20: Hoare triple {424#false} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {424#false} is VALID [2018-11-23 11:05:21,284 INFO L273 TraceCheckUtils]: 21: Hoare triple {424#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {424#false} is VALID [2018-11-23 11:05:21,284 INFO L273 TraceCheckUtils]: 22: Hoare triple {424#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {424#false} is VALID [2018-11-23 11:05:21,284 INFO L273 TraceCheckUtils]: 23: Hoare triple {424#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {424#false} is VALID [2018-11-23 11:05:21,285 INFO L273 TraceCheckUtils]: 24: Hoare triple {424#false} assume true; {424#false} is VALID [2018-11-23 11:05:21,285 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {424#false} {424#false} #115#return; {424#false} is VALID [2018-11-23 11:05:21,285 INFO L273 TraceCheckUtils]: 26: Hoare triple {424#false} havoc #t~ret38; {424#false} is VALID [2018-11-23 11:05:21,285 INFO L256 TraceCheckUtils]: 27: Hoare triple {424#false} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {424#false} is VALID [2018-11-23 11:05:21,286 INFO L273 TraceCheckUtils]: 28: Hoare triple {424#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {424#false} is VALID [2018-11-23 11:05:21,286 INFO L273 TraceCheckUtils]: 29: Hoare triple {424#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {424#false} is VALID [2018-11-23 11:05:21,286 INFO L273 TraceCheckUtils]: 30: Hoare triple {424#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {424#false} is VALID [2018-11-23 11:05:21,286 INFO L273 TraceCheckUtils]: 31: Hoare triple {424#false} assume true; {424#false} is VALID [2018-11-23 11:05:21,287 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {424#false} {424#false} #117#return; {424#false} is VALID [2018-11-23 11:05:21,287 INFO L273 TraceCheckUtils]: 33: Hoare triple {424#false} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {424#false} is VALID [2018-11-23 11:05:21,287 INFO L273 TraceCheckUtils]: 34: Hoare triple {424#false} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {424#false} is VALID [2018-11-23 11:05:21,288 INFO L256 TraceCheckUtils]: 35: Hoare triple {424#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {424#false} is VALID [2018-11-23 11:05:21,288 INFO L273 TraceCheckUtils]: 36: Hoare triple {424#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {424#false} is VALID [2018-11-23 11:05:21,288 INFO L273 TraceCheckUtils]: 37: Hoare triple {424#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {424#false} is VALID [2018-11-23 11:05:21,289 INFO L273 TraceCheckUtils]: 38: Hoare triple {424#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {424#false} is VALID [2018-11-23 11:05:21,289 INFO L273 TraceCheckUtils]: 39: Hoare triple {424#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {424#false} is VALID [2018-11-23 11:05:21,289 INFO L273 TraceCheckUtils]: 40: Hoare triple {424#false} #res.base, #res.offset := ~l.base, ~l.offset; {424#false} is VALID [2018-11-23 11:05:21,289 INFO L273 TraceCheckUtils]: 41: Hoare triple {424#false} assume true; {424#false} is VALID [2018-11-23 11:05:21,290 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {424#false} {424#false} #119#return; {424#false} is VALID [2018-11-23 11:05:21,290 INFO L273 TraceCheckUtils]: 43: Hoare triple {424#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {424#false} is VALID [2018-11-23 11:05:21,290 INFO L256 TraceCheckUtils]: 44: Hoare triple {424#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {424#false} is VALID [2018-11-23 11:05:21,291 INFO L273 TraceCheckUtils]: 45: Hoare triple {424#false} ~cond := #in~cond; {424#false} is VALID [2018-11-23 11:05:21,291 INFO L273 TraceCheckUtils]: 46: Hoare triple {424#false} assume 0bv32 == ~cond; {424#false} is VALID [2018-11-23 11:05:21,291 INFO L273 TraceCheckUtils]: 47: Hoare triple {424#false} assume !false; {424#false} is VALID [2018-11-23 11:05:21,296 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 11:05:21,296 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:21,653 INFO L273 TraceCheckUtils]: 47: Hoare triple {424#false} assume !false; {424#false} is VALID [2018-11-23 11:05:21,653 INFO L273 TraceCheckUtils]: 46: Hoare triple {424#false} assume 0bv32 == ~cond; {424#false} is VALID [2018-11-23 11:05:21,654 INFO L273 TraceCheckUtils]: 45: Hoare triple {424#false} ~cond := #in~cond; {424#false} is VALID [2018-11-23 11:05:21,654 INFO L256 TraceCheckUtils]: 44: Hoare triple {424#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {424#false} is VALID [2018-11-23 11:05:21,654 INFO L273 TraceCheckUtils]: 43: Hoare triple {424#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {424#false} is VALID [2018-11-23 11:05:21,654 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {423#true} {424#false} #119#return; {424#false} is VALID [2018-11-23 11:05:21,655 INFO L273 TraceCheckUtils]: 41: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 11:05:21,655 INFO L273 TraceCheckUtils]: 40: Hoare triple {423#true} #res.base, #res.offset := ~l.base, ~l.offset; {423#true} is VALID [2018-11-23 11:05:21,656 INFO L273 TraceCheckUtils]: 39: Hoare triple {423#true} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {423#true} is VALID [2018-11-23 11:05:21,656 INFO L273 TraceCheckUtils]: 38: Hoare triple {423#true} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {423#true} is VALID [2018-11-23 11:05:21,657 INFO L273 TraceCheckUtils]: 37: Hoare triple {423#true} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {423#true} is VALID [2018-11-23 11:05:21,657 INFO L273 TraceCheckUtils]: 36: Hoare triple {423#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {423#true} is VALID [2018-11-23 11:05:21,657 INFO L256 TraceCheckUtils]: 35: Hoare triple {424#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {423#true} is VALID [2018-11-23 11:05:21,658 INFO L273 TraceCheckUtils]: 34: Hoare triple {424#false} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {424#false} is VALID [2018-11-23 11:05:21,658 INFO L273 TraceCheckUtils]: 33: Hoare triple {424#false} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {424#false} is VALID [2018-11-23 11:05:21,658 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {423#true} {424#false} #117#return; {424#false} is VALID [2018-11-23 11:05:21,658 INFO L273 TraceCheckUtils]: 31: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 11:05:21,659 INFO L273 TraceCheckUtils]: 30: Hoare triple {423#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {423#true} is VALID [2018-11-23 11:05:21,659 INFO L273 TraceCheckUtils]: 29: Hoare triple {423#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {423#true} is VALID [2018-11-23 11:05:21,659 INFO L273 TraceCheckUtils]: 28: Hoare triple {423#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {423#true} is VALID [2018-11-23 11:05:21,660 INFO L256 TraceCheckUtils]: 27: Hoare triple {424#false} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {423#true} is VALID [2018-11-23 11:05:21,660 INFO L273 TraceCheckUtils]: 26: Hoare triple {424#false} havoc #t~ret38; {424#false} is VALID [2018-11-23 11:05:21,660 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {423#true} {424#false} #115#return; {424#false} is VALID [2018-11-23 11:05:21,661 INFO L273 TraceCheckUtils]: 24: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 11:05:21,661 INFO L273 TraceCheckUtils]: 23: Hoare triple {423#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {423#true} is VALID [2018-11-23 11:05:21,661 INFO L273 TraceCheckUtils]: 22: Hoare triple {423#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {423#true} is VALID [2018-11-23 11:05:21,662 INFO L273 TraceCheckUtils]: 21: Hoare triple {423#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {423#true} is VALID [2018-11-23 11:05:21,662 INFO L256 TraceCheckUtils]: 20: Hoare triple {424#false} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {423#true} is VALID [2018-11-23 11:05:21,662 INFO L273 TraceCheckUtils]: 19: Hoare triple {424#false} havoc #t~ret37; {424#false} is VALID [2018-11-23 11:05:21,664 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {476#(= |old(~head~0.base)| (_ bv0 32))} {456#(not (= ~head~0.base (_ bv0 32)))} #113#return; {424#false} is VALID [2018-11-23 11:05:21,667 INFO L273 TraceCheckUtils]: 17: Hoare triple {476#(= |old(~head~0.base)| (_ bv0 32))} assume true; {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,667 INFO L273 TraceCheckUtils]: 16: Hoare triple {476#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,682 INFO L273 TraceCheckUtils]: 15: Hoare triple {672#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {476#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2018-11-23 11:05:21,687 INFO L273 TraceCheckUtils]: 14: Hoare triple {672#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {672#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:21,690 INFO L256 TraceCheckUtils]: 13: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {672#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:21,691 INFO L273 TraceCheckUtils]: 12: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret36; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,693 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {456#(not (= ~head~0.base (_ bv0 32)))} {423#true} #111#return; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,694 INFO L273 TraceCheckUtils]: 10: Hoare triple {456#(not (= ~head~0.base (_ bv0 32)))} assume true; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,697 INFO L273 TraceCheckUtils]: 9: Hoare triple {449#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {456#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:21,698 INFO L273 TraceCheckUtils]: 8: Hoare triple {449#(not (= (_ bv0 32) insert_list_~l.base))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {449#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:21,699 INFO L273 TraceCheckUtils]: 7: Hoare triple {423#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {449#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:21,699 INFO L256 TraceCheckUtils]: 6: Hoare triple {423#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {423#true} is VALID [2018-11-23 11:05:21,699 INFO L273 TraceCheckUtils]: 5: Hoare triple {423#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {423#true} is VALID [2018-11-23 11:05:21,700 INFO L256 TraceCheckUtils]: 4: Hoare triple {423#true} call #t~ret45 := main(); {423#true} is VALID [2018-11-23 11:05:21,700 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {423#true} {423#true} #125#return; {423#true} is VALID [2018-11-23 11:05:21,700 INFO L273 TraceCheckUtils]: 2: Hoare triple {423#true} assume true; {423#true} is VALID [2018-11-23 11:05:21,700 INFO L273 TraceCheckUtils]: 1: Hoare triple {423#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {423#true} is VALID [2018-11-23 11:05:21,700 INFO L256 TraceCheckUtils]: 0: Hoare triple {423#true} call ULTIMATE.init(); {423#true} is VALID [2018-11-23 11:05:21,705 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 1 proven. 22 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 11:05:21,709 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:21,709 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-23 11:05:21,712 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 48 [2018-11-23 11:05:21,719 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:21,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 11:05:21,977 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:21,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 11:05:21,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 11:05:21,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:05:21,978 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand 7 states. [2018-11-23 11:05:23,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:23,463 INFO L93 Difference]: Finished difference Result 76 states and 98 transitions. [2018-11-23 11:05:23,464 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 11:05:23,464 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 48 [2018-11-23 11:05:23,464 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:23,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 11:05:23,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2018-11-23 11:05:23,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 11:05:23,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2018-11-23 11:05:23,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2018-11-23 11:05:23,746 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:23,755 INFO L225 Difference]: With dead ends: 76 [2018-11-23 11:05:23,755 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 11:05:23,757 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=58, Invalid=124, Unknown=0, NotChecked=0, Total=182 [2018-11-23 11:05:23,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 11:05:23,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 39. [2018-11-23 11:05:23,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:23,817 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 39 states. [2018-11-23 11:05:23,817 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 39 states. [2018-11-23 11:05:23,817 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 39 states. [2018-11-23 11:05:23,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:23,823 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2018-11-23 11:05:23,823 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 11:05:23,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:23,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:23,824 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 51 states. [2018-11-23 11:05:23,824 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 51 states. [2018-11-23 11:05:23,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:23,830 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2018-11-23 11:05:23,830 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 11:05:23,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:23,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:23,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:23,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:23,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 11:05:23,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2018-11-23 11:05:23,835 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 48 [2018-11-23 11:05:23,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:23,836 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2018-11-23 11:05:23,836 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 11:05:23,836 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2018-11-23 11:05:23,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 11:05:23,838 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:23,838 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:23,838 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:23,838 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:23,839 INFO L82 PathProgramCache]: Analyzing trace with hash 1991162280, now seen corresponding path program 1 times [2018-11-23 11:05:23,839 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:23,839 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:23,861 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:23,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:23,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:23,974 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:24,074 INFO L256 TraceCheckUtils]: 0: Hoare triple {998#true} call ULTIMATE.init(); {998#true} is VALID [2018-11-23 11:05:24,075 INFO L273 TraceCheckUtils]: 1: Hoare triple {998#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {998#true} is VALID [2018-11-23 11:05:24,075 INFO L273 TraceCheckUtils]: 2: Hoare triple {998#true} assume true; {998#true} is VALID [2018-11-23 11:05:24,076 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {998#true} {998#true} #125#return; {998#true} is VALID [2018-11-23 11:05:24,076 INFO L256 TraceCheckUtils]: 4: Hoare triple {998#true} call #t~ret45 := main(); {998#true} is VALID [2018-11-23 11:05:24,076 INFO L273 TraceCheckUtils]: 5: Hoare triple {998#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {998#true} is VALID [2018-11-23 11:05:24,077 INFO L256 TraceCheckUtils]: 6: Hoare triple {998#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {998#true} is VALID [2018-11-23 11:05:24,077 INFO L273 TraceCheckUtils]: 7: Hoare triple {998#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {998#true} is VALID [2018-11-23 11:05:24,077 INFO L273 TraceCheckUtils]: 8: Hoare triple {998#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {998#true} is VALID [2018-11-23 11:05:24,078 INFO L273 TraceCheckUtils]: 9: Hoare triple {998#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {998#true} is VALID [2018-11-23 11:05:24,078 INFO L273 TraceCheckUtils]: 10: Hoare triple {998#true} assume true; {998#true} is VALID [2018-11-23 11:05:24,078 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {998#true} {998#true} #111#return; {998#true} is VALID [2018-11-23 11:05:24,078 INFO L273 TraceCheckUtils]: 12: Hoare triple {998#true} havoc #t~ret36; {998#true} is VALID [2018-11-23 11:05:24,079 INFO L256 TraceCheckUtils]: 13: Hoare triple {998#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {998#true} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 14: Hoare triple {998#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {998#true} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 15: Hoare triple {998#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {998#true} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {998#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {998#true} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 17: Hoare triple {998#true} assume true; {998#true} is VALID [2018-11-23 11:05:24,080 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {998#true} {998#true} #113#return; {998#true} is VALID [2018-11-23 11:05:24,080 INFO L273 TraceCheckUtils]: 19: Hoare triple {998#true} havoc #t~ret37; {998#true} is VALID [2018-11-23 11:05:24,080 INFO L256 TraceCheckUtils]: 20: Hoare triple {998#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {998#true} is VALID [2018-11-23 11:05:24,080 INFO L273 TraceCheckUtils]: 21: Hoare triple {998#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {998#true} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 22: Hoare triple {998#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {998#true} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 23: Hoare triple {998#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {998#true} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 24: Hoare triple {998#true} assume true; {998#true} is VALID [2018-11-23 11:05:24,081 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {998#true} {998#true} #115#return; {998#true} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 26: Hoare triple {998#true} havoc #t~ret38; {998#true} is VALID [2018-11-23 11:05:24,082 INFO L256 TraceCheckUtils]: 27: Hoare triple {998#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {998#true} is VALID [2018-11-23 11:05:24,082 INFO L273 TraceCheckUtils]: 28: Hoare triple {998#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1087#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:24,084 INFO L273 TraceCheckUtils]: 29: Hoare triple {1087#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1087#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:24,084 INFO L273 TraceCheckUtils]: 30: Hoare triple {1087#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1094#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:24,086 INFO L273 TraceCheckUtils]: 31: Hoare triple {1094#(not (= ~head~0.base (_ bv0 32)))} assume true; {1094#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:24,087 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1094#(not (= ~head~0.base (_ bv0 32)))} {998#true} #117#return; {1094#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:24,088 INFO L273 TraceCheckUtils]: 33: Hoare triple {1094#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {1104#(not (= main_~mylist~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:24,088 INFO L273 TraceCheckUtils]: 34: Hoare triple {1104#(not (= main_~mylist~0.base (_ bv0 32)))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {999#false} is VALID [2018-11-23 11:05:24,088 INFO L256 TraceCheckUtils]: 35: Hoare triple {999#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {999#false} is VALID [2018-11-23 11:05:24,089 INFO L273 TraceCheckUtils]: 36: Hoare triple {999#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {999#false} is VALID [2018-11-23 11:05:24,089 INFO L273 TraceCheckUtils]: 37: Hoare triple {999#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {999#false} is VALID [2018-11-23 11:05:24,089 INFO L273 TraceCheckUtils]: 38: Hoare triple {999#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {999#false} is VALID [2018-11-23 11:05:24,089 INFO L273 TraceCheckUtils]: 39: Hoare triple {999#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {999#false} is VALID [2018-11-23 11:05:24,090 INFO L273 TraceCheckUtils]: 40: Hoare triple {999#false} #res.base, #res.offset := ~l.base, ~l.offset; {999#false} is VALID [2018-11-23 11:05:24,090 INFO L273 TraceCheckUtils]: 41: Hoare triple {999#false} assume true; {999#false} is VALID [2018-11-23 11:05:24,091 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {999#false} {999#false} #119#return; {999#false} is VALID [2018-11-23 11:05:24,091 INFO L273 TraceCheckUtils]: 43: Hoare triple {999#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {999#false} is VALID [2018-11-23 11:05:24,092 INFO L256 TraceCheckUtils]: 44: Hoare triple {999#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {999#false} is VALID [2018-11-23 11:05:24,092 INFO L273 TraceCheckUtils]: 45: Hoare triple {999#false} ~cond := #in~cond; {999#false} is VALID [2018-11-23 11:05:24,092 INFO L273 TraceCheckUtils]: 46: Hoare triple {999#false} assume 0bv32 == ~cond; {999#false} is VALID [2018-11-23 11:05:24,092 INFO L273 TraceCheckUtils]: 47: Hoare triple {999#false} assume !false; {999#false} is VALID [2018-11-23 11:05:24,096 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-23 11:05:24,096 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:24,106 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:24,106 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 11:05:24,107 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 48 [2018-11-23 11:05:24,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:24,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 11:05:24,192 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:24,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 11:05:24,193 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:05:24,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:05:24,193 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand 5 states. [2018-11-23 11:05:24,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:24,956 INFO L93 Difference]: Finished difference Result 55 states and 63 transitions. [2018-11-23 11:05:24,956 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:05:24,956 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 48 [2018-11-23 11:05:24,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:24,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:05:24,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-11-23 11:05:24,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:05:24,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-11-23 11:05:24,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-11-23 11:05:25,048 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:25,051 INFO L225 Difference]: With dead ends: 55 [2018-11-23 11:05:25,051 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 11:05:25,052 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:05:25,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 11:05:25,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 40. [2018-11-23 11:05:25,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:25,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 40 states. [2018-11-23 11:05:25,109 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 40 states. [2018-11-23 11:05:25,109 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 40 states. [2018-11-23 11:05:25,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:25,113 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 11:05:25,113 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2018-11-23 11:05:25,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:25,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:25,114 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 41 states. [2018-11-23 11:05:25,114 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 41 states. [2018-11-23 11:05:25,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:25,117 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 11:05:25,117 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2018-11-23 11:05:25,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:25,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:25,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:25,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:25,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 11:05:25,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2018-11-23 11:05:25,121 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 48 [2018-11-23 11:05:25,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:25,122 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2018-11-23 11:05:25,122 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 11:05:25,122 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2018-11-23 11:05:25,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 11:05:25,124 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:25,124 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:25,124 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:25,125 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:25,125 INFO L82 PathProgramCache]: Analyzing trace with hash 1428115847, now seen corresponding path program 1 times [2018-11-23 11:05:25,125 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:25,125 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:25,158 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:25,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:25,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:25,328 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:25,468 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:25,481 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 10 treesize of output 9 [2018-11-23 11:05:25,487 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,492 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,503 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,503 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 11:05:25,665 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-23 11:05:25,676 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-23 11:05:25,677 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,681 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,684 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:25,684 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-23 11:05:25,688 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:25,688 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~mylist~0.base_21]. (let ((.cse0 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_21) (_ bv4 32)))) (and (= main_~mylist~0.base .cse0) (not (= (_ bv0 32) .cse0)))) [2018-11-23 11:05:25,689 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= main_~mylist~0.base (_ bv0 32))) [2018-11-23 11:05:25,722 INFO L256 TraceCheckUtils]: 0: Hoare triple {1366#true} call ULTIMATE.init(); {1366#true} is VALID [2018-11-23 11:05:25,723 INFO L273 TraceCheckUtils]: 1: Hoare triple {1366#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1366#true} is VALID [2018-11-23 11:05:25,723 INFO L273 TraceCheckUtils]: 2: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:25,724 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1366#true} {1366#true} #125#return; {1366#true} is VALID [2018-11-23 11:05:25,724 INFO L256 TraceCheckUtils]: 4: Hoare triple {1366#true} call #t~ret45 := main(); {1366#true} is VALID [2018-11-23 11:05:25,725 INFO L273 TraceCheckUtils]: 5: Hoare triple {1366#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {1366#true} is VALID [2018-11-23 11:05:25,725 INFO L256 TraceCheckUtils]: 6: Hoare triple {1366#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {1366#true} is VALID [2018-11-23 11:05:25,725 INFO L273 TraceCheckUtils]: 7: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1366#true} is VALID [2018-11-23 11:05:25,726 INFO L273 TraceCheckUtils]: 8: Hoare triple {1366#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1366#true} is VALID [2018-11-23 11:05:25,726 INFO L273 TraceCheckUtils]: 9: Hoare triple {1366#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1366#true} is VALID [2018-11-23 11:05:25,726 INFO L273 TraceCheckUtils]: 10: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:25,726 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {1366#true} {1366#true} #111#return; {1366#true} is VALID [2018-11-23 11:05:25,726 INFO L273 TraceCheckUtils]: 12: Hoare triple {1366#true} havoc #t~ret36; {1366#true} is VALID [2018-11-23 11:05:25,727 INFO L256 TraceCheckUtils]: 13: Hoare triple {1366#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {1366#true} is VALID [2018-11-23 11:05:25,727 INFO L273 TraceCheckUtils]: 14: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1366#true} is VALID [2018-11-23 11:05:25,727 INFO L273 TraceCheckUtils]: 15: Hoare triple {1366#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1366#true} is VALID [2018-11-23 11:05:25,727 INFO L273 TraceCheckUtils]: 16: Hoare triple {1366#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1366#true} is VALID [2018-11-23 11:05:25,728 INFO L273 TraceCheckUtils]: 17: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:25,728 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1366#true} {1366#true} #113#return; {1366#true} is VALID [2018-11-23 11:05:25,728 INFO L273 TraceCheckUtils]: 19: Hoare triple {1366#true} havoc #t~ret37; {1366#true} is VALID [2018-11-23 11:05:25,728 INFO L256 TraceCheckUtils]: 20: Hoare triple {1366#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {1366#true} is VALID [2018-11-23 11:05:25,729 INFO L273 TraceCheckUtils]: 21: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1434#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:25,730 INFO L273 TraceCheckUtils]: 22: Hoare triple {1434#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1434#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:25,730 INFO L273 TraceCheckUtils]: 23: Hoare triple {1434#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:25,731 INFO L273 TraceCheckUtils]: 24: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} assume true; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:25,734 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1441#(not (= ~head~0.base (_ bv0 32)))} {1366#true} #115#return; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:25,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret38; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:25,736 INFO L256 TraceCheckUtils]: 27: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {1454#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:05:25,737 INFO L273 TraceCheckUtils]: 28: Hoare triple {1454#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1458#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:25,740 INFO L273 TraceCheckUtils]: 29: Hoare triple {1458#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1462#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:25,741 INFO L273 TraceCheckUtils]: 30: Hoare triple {1462#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= insert_list_~l.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1466#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:25,743 INFO L273 TraceCheckUtils]: 31: Hoare triple {1466#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} assume true; {1466#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:25,745 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1466#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} {1441#(not (= ~head~0.base (_ bv0 32)))} #117#return; {1473#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:25,747 INFO L273 TraceCheckUtils]: 33: Hoare triple {1473#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {1477#(and (not (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32))) (= main_~mylist~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:25,748 INFO L273 TraceCheckUtils]: 34: Hoare triple {1477#(and (not (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32))) (= main_~mylist~0.offset (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {1481#(not (= main_~mylist~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:25,749 INFO L273 TraceCheckUtils]: 35: Hoare triple {1481#(not (= main_~mylist~0.base (_ bv0 32)))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {1367#false} is VALID [2018-11-23 11:05:25,750 INFO L256 TraceCheckUtils]: 36: Hoare triple {1367#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {1367#false} is VALID [2018-11-23 11:05:25,750 INFO L273 TraceCheckUtils]: 37: Hoare triple {1367#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {1367#false} is VALID [2018-11-23 11:05:25,750 INFO L273 TraceCheckUtils]: 38: Hoare triple {1367#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {1367#false} is VALID [2018-11-23 11:05:25,751 INFO L273 TraceCheckUtils]: 39: Hoare triple {1367#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {1367#false} is VALID [2018-11-23 11:05:25,751 INFO L273 TraceCheckUtils]: 40: Hoare triple {1367#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {1367#false} is VALID [2018-11-23 11:05:25,751 INFO L273 TraceCheckUtils]: 41: Hoare triple {1367#false} #res.base, #res.offset := ~l.base, ~l.offset; {1367#false} is VALID [2018-11-23 11:05:25,752 INFO L273 TraceCheckUtils]: 42: Hoare triple {1367#false} assume true; {1367#false} is VALID [2018-11-23 11:05:25,752 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1367#false} {1367#false} #119#return; {1367#false} is VALID [2018-11-23 11:05:25,753 INFO L273 TraceCheckUtils]: 44: Hoare triple {1367#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {1367#false} is VALID [2018-11-23 11:05:25,753 INFO L256 TraceCheckUtils]: 45: Hoare triple {1367#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {1367#false} is VALID [2018-11-23 11:05:25,753 INFO L273 TraceCheckUtils]: 46: Hoare triple {1367#false} ~cond := #in~cond; {1367#false} is VALID [2018-11-23 11:05:25,753 INFO L273 TraceCheckUtils]: 47: Hoare triple {1367#false} assume 0bv32 == ~cond; {1367#false} is VALID [2018-11-23 11:05:25,754 INFO L273 TraceCheckUtils]: 48: Hoare triple {1367#false} assume !false; {1367#false} is VALID [2018-11-23 11:05:25,757 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 19 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 11:05:25,758 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:26,630 INFO L273 TraceCheckUtils]: 48: Hoare triple {1367#false} assume !false; {1367#false} is VALID [2018-11-23 11:05:26,631 INFO L273 TraceCheckUtils]: 47: Hoare triple {1367#false} assume 0bv32 == ~cond; {1367#false} is VALID [2018-11-23 11:05:26,631 INFO L273 TraceCheckUtils]: 46: Hoare triple {1367#false} ~cond := #in~cond; {1367#false} is VALID [2018-11-23 11:05:26,632 INFO L256 TraceCheckUtils]: 45: Hoare triple {1367#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {1367#false} is VALID [2018-11-23 11:05:26,632 INFO L273 TraceCheckUtils]: 44: Hoare triple {1367#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {1367#false} is VALID [2018-11-23 11:05:26,632 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1366#true} {1367#false} #119#return; {1367#false} is VALID [2018-11-23 11:05:26,633 INFO L273 TraceCheckUtils]: 42: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:26,633 INFO L273 TraceCheckUtils]: 41: Hoare triple {1366#true} #res.base, #res.offset := ~l.base, ~l.offset; {1366#true} is VALID [2018-11-23 11:05:26,633 INFO L273 TraceCheckUtils]: 40: Hoare triple {1366#true} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {1366#true} is VALID [2018-11-23 11:05:26,634 INFO L273 TraceCheckUtils]: 39: Hoare triple {1366#true} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {1366#true} is VALID [2018-11-23 11:05:26,634 INFO L273 TraceCheckUtils]: 38: Hoare triple {1366#true} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {1366#true} is VALID [2018-11-23 11:05:26,634 INFO L273 TraceCheckUtils]: 37: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {1366#true} is VALID [2018-11-23 11:05:26,634 INFO L256 TraceCheckUtils]: 36: Hoare triple {1367#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {1366#true} is VALID [2018-11-23 11:05:26,637 INFO L273 TraceCheckUtils]: 35: Hoare triple {1481#(not (= main_~mylist~0.base (_ bv0 32)))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {1367#false} is VALID [2018-11-23 11:05:26,638 INFO L273 TraceCheckUtils]: 34: Hoare triple {1566#(not (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {1481#(not (= main_~mylist~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:26,641 INFO L273 TraceCheckUtils]: 33: Hoare triple {1570#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {1566#(not (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:05:26,645 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1577#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} {1441#(not (= ~head~0.base (_ bv0 32)))} #117#return; {1570#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:26,646 INFO L273 TraceCheckUtils]: 31: Hoare triple {1577#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume true; {1577#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:26,648 INFO L273 TraceCheckUtils]: 30: Hoare triple {1584#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1577#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:26,650 INFO L273 TraceCheckUtils]: 29: Hoare triple {1588#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1584#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:26,651 INFO L273 TraceCheckUtils]: 28: Hoare triple {1588#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1588#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:26,653 INFO L256 TraceCheckUtils]: 27: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {1588#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:26,653 INFO L273 TraceCheckUtils]: 26: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret38; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:26,655 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1441#(not (= ~head~0.base (_ bv0 32)))} {1366#true} #115#return; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:26,656 INFO L273 TraceCheckUtils]: 24: Hoare triple {1441#(not (= ~head~0.base (_ bv0 32)))} assume true; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:26,656 INFO L273 TraceCheckUtils]: 23: Hoare triple {1434#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1441#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:26,657 INFO L273 TraceCheckUtils]: 22: Hoare triple {1434#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1434#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:26,658 INFO L273 TraceCheckUtils]: 21: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1434#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:26,659 INFO L256 TraceCheckUtils]: 20: Hoare triple {1366#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {1366#true} is VALID [2018-11-23 11:05:26,659 INFO L273 TraceCheckUtils]: 19: Hoare triple {1366#true} havoc #t~ret37; {1366#true} is VALID [2018-11-23 11:05:26,659 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1366#true} {1366#true} #113#return; {1366#true} is VALID [2018-11-23 11:05:26,659 INFO L273 TraceCheckUtils]: 17: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:26,660 INFO L273 TraceCheckUtils]: 16: Hoare triple {1366#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1366#true} is VALID [2018-11-23 11:05:26,660 INFO L273 TraceCheckUtils]: 15: Hoare triple {1366#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1366#true} is VALID [2018-11-23 11:05:26,660 INFO L273 TraceCheckUtils]: 14: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1366#true} is VALID [2018-11-23 11:05:26,661 INFO L256 TraceCheckUtils]: 13: Hoare triple {1366#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {1366#true} is VALID [2018-11-23 11:05:26,661 INFO L273 TraceCheckUtils]: 12: Hoare triple {1366#true} havoc #t~ret36; {1366#true} is VALID [2018-11-23 11:05:26,661 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {1366#true} {1366#true} #111#return; {1366#true} is VALID [2018-11-23 11:05:26,661 INFO L273 TraceCheckUtils]: 10: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:26,662 INFO L273 TraceCheckUtils]: 9: Hoare triple {1366#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1366#true} is VALID [2018-11-23 11:05:26,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {1366#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1366#true} is VALID [2018-11-23 11:05:26,662 INFO L273 TraceCheckUtils]: 7: Hoare triple {1366#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1366#true} is VALID [2018-11-23 11:05:26,663 INFO L256 TraceCheckUtils]: 6: Hoare triple {1366#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {1366#true} is VALID [2018-11-23 11:05:26,663 INFO L273 TraceCheckUtils]: 5: Hoare triple {1366#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {1366#true} is VALID [2018-11-23 11:05:26,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {1366#true} call #t~ret45 := main(); {1366#true} is VALID [2018-11-23 11:05:26,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1366#true} {1366#true} #125#return; {1366#true} is VALID [2018-11-23 11:05:26,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {1366#true} assume true; {1366#true} is VALID [2018-11-23 11:05:26,664 INFO L273 TraceCheckUtils]: 1: Hoare triple {1366#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1366#true} is VALID [2018-11-23 11:05:26,664 INFO L256 TraceCheckUtils]: 0: Hoare triple {1366#true} call ULTIMATE.init(); {1366#true} is VALID [2018-11-23 11:05:26,666 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 19 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 11:05:26,668 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:26,668 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-23 11:05:26,669 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 49 [2018-11-23 11:05:26,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:26,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:05:26,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:26,853 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:05:26,853 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:05:26,854 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:05:26,854 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. Second operand 16 states. [2018-11-23 11:05:30,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:30,531 INFO L93 Difference]: Finished difference Result 61 states and 68 transitions. [2018-11-23 11:05:30,531 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 11:05:30,532 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 49 [2018-11-23 11:05:30,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:30,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:30,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 66 transitions. [2018-11-23 11:05:30,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:30,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 66 transitions. [2018-11-23 11:05:30,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 66 transitions. [2018-11-23 11:05:30,693 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:30,696 INFO L225 Difference]: With dead ends: 61 [2018-11-23 11:05:30,696 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 11:05:30,697 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=196, Invalid=734, Unknown=0, NotChecked=0, Total=930 [2018-11-23 11:05:30,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 11:05:30,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 41. [2018-11-23 11:05:30,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:30,758 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 41 states. [2018-11-23 11:05:30,758 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 41 states. [2018-11-23 11:05:30,758 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 41 states. [2018-11-23 11:05:30,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:30,762 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2018-11-23 11:05:30,762 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-23 11:05:30,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:30,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:30,763 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 47 states. [2018-11-23 11:05:30,763 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 47 states. [2018-11-23 11:05:30,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:30,766 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2018-11-23 11:05:30,766 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-23 11:05:30,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:30,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:30,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:30,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:30,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:05:30,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 46 transitions. [2018-11-23 11:05:30,770 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 46 transitions. Word has length 49 [2018-11-23 11:05:30,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:30,770 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 46 transitions. [2018-11-23 11:05:30,770 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:05:30,770 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 46 transitions. [2018-11-23 11:05:30,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 11:05:30,772 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:30,772 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:30,772 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:30,772 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:30,773 INFO L82 PathProgramCache]: Analyzing trace with hash 1153545608, now seen corresponding path program 2 times [2018-11-23 11:05:30,773 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:30,773 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:30,800 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:05:30,874 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:05:30,874 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:05:30,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:30,921 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:30,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 19 [2018-11-23 11:05:30,993 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 19 treesize of output 22 [2018-11-23 11:05:30,999 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:31,003 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 14 [2018-11-23 11:05:31,005 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,012 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,016 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,024 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,024 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:26, output treesize:3 [2018-11-23 11:05:31,039 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:31,039 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, insert_list_~k]. (and (= (store |v_#memory_int_57| insert_list_~l.base (let ((.cse0 (bvadd insert_list_~l.offset (_ bv4 32)))) (store (store (select |v_#memory_int_57| insert_list_~l.base) insert_list_~l.offset insert_list_~k) .cse0 (select (select |#memory_int| insert_list_~l.base) .cse0)))) |#memory_int|) (= insert_list_~l.offset (_ bv0 32))) [2018-11-23 11:05:31,040 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= insert_list_~l.offset (_ bv0 32)) [2018-11-23 11:05:31,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:05:31,588 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 11:05:31,610 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,635 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,637 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:31,638 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:5 [2018-11-23 11:05:31,641 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:31,641 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~temp~0.base]. (let ((.cse0 (select (select |#memory_int| main_~temp~0.base) (_ bv0 32)))) (and (= (bvadd .cse0 (_ bv4294967294 32)) (_ bv0 32)) (= .cse0 |main_#t~mem42|))) [2018-11-23 11:05:31,641 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32)) [2018-11-23 11:05:31,686 INFO L256 TraceCheckUtils]: 0: Hoare triple {1945#true} call ULTIMATE.init(); {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L273 TraceCheckUtils]: 1: Hoare triple {1945#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {1945#true} assume true; {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1945#true} {1945#true} #125#return; {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L256 TraceCheckUtils]: 4: Hoare triple {1945#true} call #t~ret45 := main(); {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L273 TraceCheckUtils]: 5: Hoare triple {1945#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {1945#true} is VALID [2018-11-23 11:05:31,687 INFO L256 TraceCheckUtils]: 6: Hoare triple {1945#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L273 TraceCheckUtils]: 7: Hoare triple {1945#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L273 TraceCheckUtils]: 8: Hoare triple {1945#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L273 TraceCheckUtils]: 9: Hoare triple {1945#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L273 TraceCheckUtils]: 10: Hoare triple {1945#true} assume true; {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {1945#true} {1945#true} #111#return; {1945#true} is VALID [2018-11-23 11:05:31,688 INFO L273 TraceCheckUtils]: 12: Hoare triple {1945#true} havoc #t~ret36; {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L256 TraceCheckUtils]: 13: Hoare triple {1945#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L273 TraceCheckUtils]: 14: Hoare triple {1945#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L273 TraceCheckUtils]: 15: Hoare triple {1945#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L273 TraceCheckUtils]: 16: Hoare triple {1945#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L273 TraceCheckUtils]: 17: Hoare triple {1945#true} assume true; {1945#true} is VALID [2018-11-23 11:05:31,689 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1945#true} {1945#true} #113#return; {1945#true} is VALID [2018-11-23 11:05:31,690 INFO L273 TraceCheckUtils]: 19: Hoare triple {1945#true} havoc #t~ret37; {1945#true} is VALID [2018-11-23 11:05:31,690 INFO L256 TraceCheckUtils]: 20: Hoare triple {1945#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {1945#true} is VALID [2018-11-23 11:05:31,690 INFO L273 TraceCheckUtils]: 21: Hoare triple {1945#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {1945#true} is VALID [2018-11-23 11:05:31,690 INFO L273 TraceCheckUtils]: 22: Hoare triple {1945#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1945#true} is VALID [2018-11-23 11:05:31,690 INFO L273 TraceCheckUtils]: 23: Hoare triple {1945#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1945#true} is VALID [2018-11-23 11:05:31,691 INFO L273 TraceCheckUtils]: 24: Hoare triple {1945#true} assume true; {1945#true} is VALID [2018-11-23 11:05:31,691 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1945#true} {1945#true} #115#return; {1945#true} is VALID [2018-11-23 11:05:31,691 INFO L273 TraceCheckUtils]: 26: Hoare triple {1945#true} havoc #t~ret38; {1945#true} is VALID [2018-11-23 11:05:31,691 INFO L256 TraceCheckUtils]: 27: Hoare triple {1945#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {1945#true} is VALID [2018-11-23 11:05:31,692 INFO L273 TraceCheckUtils]: 28: Hoare triple {1945#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2034#(= insert_list_~l.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,699 INFO L273 TraceCheckUtils]: 29: Hoare triple {2034#(= insert_list_~l.offset (_ bv0 32))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2034#(= insert_list_~l.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,699 INFO L273 TraceCheckUtils]: 30: Hoare triple {2034#(= insert_list_~l.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,700 INFO L273 TraceCheckUtils]: 31: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} assume true; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,700 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2041#(= ~head~0.offset (_ bv0 32))} {1945#true} #117#return; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,701 INFO L273 TraceCheckUtils]: 33: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,701 INFO L273 TraceCheckUtils]: 34: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,701 INFO L273 TraceCheckUtils]: 35: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,702 INFO L273 TraceCheckUtils]: 36: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,703 INFO L256 TraceCheckUtils]: 37: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2041#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:31,703 INFO L273 TraceCheckUtils]: 38: Hoare triple {2041#(= ~head~0.offset (_ bv0 32))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {2066#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| search_list_~k) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:31,704 INFO L273 TraceCheckUtils]: 39: Hoare triple {2066#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| search_list_~k) (= search_list_~l.base ~head~0.base))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2066#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| search_list_~k) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:31,706 INFO L273 TraceCheckUtils]: 40: Hoare triple {2066#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| search_list_~k) (= search_list_~l.base ~head~0.base))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {2073#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (or (and (not (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset))) |search_list_#t~short29|) (and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (not |search_list_#t~short29|))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:31,707 INFO L273 TraceCheckUtils]: 41: Hoare triple {2073#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (or (and (not (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset))) |search_list_#t~short29|) (and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (not |search_list_#t~short29|))) (= search_list_~l.base ~head~0.base))} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {2077#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:31,708 INFO L273 TraceCheckUtils]: 42: Hoare triple {2077#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (= search_list_~l.base ~head~0.base))} #res.base, #res.offset := ~l.base, ~l.offset; {2081#(and (= ~head~0.offset (_ bv0 32)) (= |search_list_#res.offset| ~head~0.offset) (= |search_list_#res.base| ~head~0.base) (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) ~head~0.offset)))} is VALID [2018-11-23 11:05:31,708 INFO L273 TraceCheckUtils]: 43: Hoare triple {2081#(and (= ~head~0.offset (_ bv0 32)) (= |search_list_#res.offset| ~head~0.offset) (= |search_list_#res.base| ~head~0.base) (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) ~head~0.offset)))} assume true; {2081#(and (= ~head~0.offset (_ bv0 32)) (= |search_list_#res.offset| ~head~0.offset) (= |search_list_#res.base| ~head~0.base) (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) ~head~0.offset)))} is VALID [2018-11-23 11:05:31,710 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {2081#(and (= ~head~0.offset (_ bv0 32)) (= |search_list_#res.offset| ~head~0.offset) (= |search_list_#res.base| ~head~0.base) (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) ~head~0.offset)))} {2041#(= ~head~0.offset (_ bv0 32))} #119#return; {2088#(and (= |main_#t~ret41.offset| (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) (_ bv0 32))))} is VALID [2018-11-23 11:05:31,711 INFO L273 TraceCheckUtils]: 45: Hoare triple {2088#(and (= |main_#t~ret41.offset| (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) (_ bv0 32))))} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {2092#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:31,711 INFO L256 TraceCheckUtils]: 46: Hoare triple {2092#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {2096#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:31,712 INFO L273 TraceCheckUtils]: 47: Hoare triple {2096#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {2100#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:31,713 INFO L273 TraceCheckUtils]: 48: Hoare triple {2100#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {1946#false} is VALID [2018-11-23 11:05:31,713 INFO L273 TraceCheckUtils]: 49: Hoare triple {1946#false} assume !false; {1946#false} is VALID [2018-11-23 11:05:31,717 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-23 11:05:31,717 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:31,719 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:31,719 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2018-11-23 11:05:31,720 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2018-11-23 11:05:31,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:31,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 11:05:31,784 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:31,785 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 11:05:31,785 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 11:05:31,785 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=107, Unknown=0, NotChecked=0, Total=132 [2018-11-23 11:05:31,785 INFO L87 Difference]: Start difference. First operand 41 states and 46 transitions. Second operand 12 states. [2018-11-23 11:05:34,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:34,433 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2018-11-23 11:05:34,433 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 11:05:34,433 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2018-11-23 11:05:34,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:34,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 11:05:34,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 58 transitions. [2018-11-23 11:05:34,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 11:05:34,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 58 transitions. [2018-11-23 11:05:34,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 58 transitions. [2018-11-23 11:05:34,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:34,576 INFO L225 Difference]: With dead ends: 57 [2018-11-23 11:05:34,576 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 11:05:34,576 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2018-11-23 11:05:34,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 11:05:34,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 44. [2018-11-23 11:05:34,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:34,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 44 states. [2018-11-23 11:05:34,636 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 44 states. [2018-11-23 11:05:34,637 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 44 states. [2018-11-23 11:05:34,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:34,641 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2018-11-23 11:05:34,641 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2018-11-23 11:05:34,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:34,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:34,642 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 48 states. [2018-11-23 11:05:34,642 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 48 states. [2018-11-23 11:05:34,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:34,644 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2018-11-23 11:05:34,644 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2018-11-23 11:05:34,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:34,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:34,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:34,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:34,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 11:05:34,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 50 transitions. [2018-11-23 11:05:34,648 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 50 transitions. Word has length 50 [2018-11-23 11:05:34,648 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:34,648 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 50 transitions. [2018-11-23 11:05:34,648 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 11:05:34,648 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2018-11-23 11:05:34,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 11:05:34,649 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:34,649 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:34,650 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:34,650 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:34,650 INFO L82 PathProgramCache]: Analyzing trace with hash 760518598, now seen corresponding path program 1 times [2018-11-23 11:05:34,650 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:34,650 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:34,674 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:05:34,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:34,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:34,793 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:34,940 INFO L256 TraceCheckUtils]: 0: Hoare triple {2359#true} call ULTIMATE.init(); {2359#true} is VALID [2018-11-23 11:05:34,941 INFO L273 TraceCheckUtils]: 1: Hoare triple {2359#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2359#true} is VALID [2018-11-23 11:05:34,941 INFO L273 TraceCheckUtils]: 2: Hoare triple {2359#true} assume true; {2359#true} is VALID [2018-11-23 11:05:34,941 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2359#true} {2359#true} #125#return; {2359#true} is VALID [2018-11-23 11:05:34,941 INFO L256 TraceCheckUtils]: 4: Hoare triple {2359#true} call #t~ret45 := main(); {2359#true} is VALID [2018-11-23 11:05:34,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {2359#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {2359#true} is VALID [2018-11-23 11:05:34,942 INFO L256 TraceCheckUtils]: 6: Hoare triple {2359#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2359#true} is VALID [2018-11-23 11:05:34,942 INFO L273 TraceCheckUtils]: 7: Hoare triple {2359#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2359#true} is VALID [2018-11-23 11:05:34,942 INFO L273 TraceCheckUtils]: 8: Hoare triple {2359#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2359#true} is VALID [2018-11-23 11:05:34,942 INFO L273 TraceCheckUtils]: 9: Hoare triple {2359#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L273 TraceCheckUtils]: 10: Hoare triple {2359#true} assume true; {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {2359#true} {2359#true} #111#return; {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L273 TraceCheckUtils]: 12: Hoare triple {2359#true} havoc #t~ret36; {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L256 TraceCheckUtils]: 13: Hoare triple {2359#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L273 TraceCheckUtils]: 14: Hoare triple {2359#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2359#true} is VALID [2018-11-23 11:05:34,943 INFO L273 TraceCheckUtils]: 15: Hoare triple {2359#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2359#true} is VALID [2018-11-23 11:05:34,944 INFO L273 TraceCheckUtils]: 16: Hoare triple {2359#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2359#true} is VALID [2018-11-23 11:05:34,944 INFO L273 TraceCheckUtils]: 17: Hoare triple {2359#true} assume true; {2359#true} is VALID [2018-11-23 11:05:34,944 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2359#true} {2359#true} #113#return; {2359#true} is VALID [2018-11-23 11:05:34,944 INFO L273 TraceCheckUtils]: 19: Hoare triple {2359#true} havoc #t~ret37; {2359#true} is VALID [2018-11-23 11:05:34,944 INFO L256 TraceCheckUtils]: 20: Hoare triple {2359#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {2359#true} is VALID [2018-11-23 11:05:34,945 INFO L273 TraceCheckUtils]: 21: Hoare triple {2359#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2359#true} is VALID [2018-11-23 11:05:34,945 INFO L273 TraceCheckUtils]: 22: Hoare triple {2359#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2359#true} is VALID [2018-11-23 11:05:34,945 INFO L273 TraceCheckUtils]: 23: Hoare triple {2359#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2359#true} is VALID [2018-11-23 11:05:34,945 INFO L273 TraceCheckUtils]: 24: Hoare triple {2359#true} assume true; {2359#true} is VALID [2018-11-23 11:05:34,946 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2359#true} {2359#true} #115#return; {2359#true} is VALID [2018-11-23 11:05:34,946 INFO L273 TraceCheckUtils]: 26: Hoare triple {2359#true} havoc #t~ret38; {2359#true} is VALID [2018-11-23 11:05:34,946 INFO L256 TraceCheckUtils]: 27: Hoare triple {2359#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {2359#true} is VALID [2018-11-23 11:05:34,953 INFO L273 TraceCheckUtils]: 28: Hoare triple {2359#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2448#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:34,954 INFO L273 TraceCheckUtils]: 29: Hoare triple {2448#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2448#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:34,955 INFO L273 TraceCheckUtils]: 30: Hoare triple {2448#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,955 INFO L273 TraceCheckUtils]: 31: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} assume true; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,956 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2455#(not (= ~head~0.base (_ bv0 32)))} {2359#true} #117#return; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,957 INFO L273 TraceCheckUtils]: 33: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,958 INFO L273 TraceCheckUtils]: 34: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,958 INFO L273 TraceCheckUtils]: 35: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,959 INFO L273 TraceCheckUtils]: 36: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,960 INFO L256 TraceCheckUtils]: 37: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2455#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:34,961 INFO L273 TraceCheckUtils]: 38: Hoare triple {2455#(not (= ~head~0.base (_ bv0 32)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {2480#(and (not (= ~head~0.base (_ bv0 32))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:34,962 INFO L273 TraceCheckUtils]: 39: Hoare triple {2480#(and (not (= ~head~0.base (_ bv0 32))) (= search_list_~l.base ~head~0.base))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2484#(and |search_list_#t~short29| (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:34,963 INFO L273 TraceCheckUtils]: 40: Hoare triple {2484#(and |search_list_#t~short29| (not (= ~head~0.base (_ bv0 32))))} assume !#t~short29; {2360#false} is VALID [2018-11-23 11:05:34,964 INFO L273 TraceCheckUtils]: 41: Hoare triple {2360#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {2360#false} is VALID [2018-11-23 11:05:34,964 INFO L273 TraceCheckUtils]: 42: Hoare triple {2360#false} #res.base, #res.offset := ~l.base, ~l.offset; {2360#false} is VALID [2018-11-23 11:05:34,964 INFO L273 TraceCheckUtils]: 43: Hoare triple {2360#false} assume true; {2360#false} is VALID [2018-11-23 11:05:34,965 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {2360#false} {2455#(not (= ~head~0.base (_ bv0 32)))} #119#return; {2360#false} is VALID [2018-11-23 11:05:34,965 INFO L273 TraceCheckUtils]: 45: Hoare triple {2360#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {2360#false} is VALID [2018-11-23 11:05:34,967 INFO L256 TraceCheckUtils]: 46: Hoare triple {2360#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {2360#false} is VALID [2018-11-23 11:05:34,967 INFO L273 TraceCheckUtils]: 47: Hoare triple {2360#false} ~cond := #in~cond; {2360#false} is VALID [2018-11-23 11:05:34,967 INFO L273 TraceCheckUtils]: 48: Hoare triple {2360#false} assume 0bv32 == ~cond; {2360#false} is VALID [2018-11-23 11:05:34,967 INFO L273 TraceCheckUtils]: 49: Hoare triple {2360#false} assume !false; {2360#false} is VALID [2018-11-23 11:05:34,971 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-23 11:05:34,971 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:34,974 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:34,974 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:05:34,974 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 50 [2018-11-23 11:05:34,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:34,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:05:35,036 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:35,036 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:05:35,037 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:05:35,037 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:05:35,037 INFO L87 Difference]: Start difference. First operand 44 states and 50 transitions. Second operand 6 states. [2018-11-23 11:05:36,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:36,053 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2018-11-23 11:05:36,054 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:05:36,054 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 50 [2018-11-23 11:05:36,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:36,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:36,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-11-23 11:05:36,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:36,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-11-23 11:05:36,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2018-11-23 11:05:36,154 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:36,157 INFO L225 Difference]: With dead ends: 56 [2018-11-23 11:05:36,157 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 11:05:36,158 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:05:36,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 11:05:36,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2018-11-23 11:05:36,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:36,274 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 44 states. [2018-11-23 11:05:36,274 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 44 states. [2018-11-23 11:05:36,274 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 44 states. [2018-11-23 11:05:36,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:36,277 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-23 11:05:36,277 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-23 11:05:36,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:36,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:36,278 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 44 states. [2018-11-23 11:05:36,278 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 44 states. [2018-11-23 11:05:36,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:36,281 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-23 11:05:36,281 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-23 11:05:36,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:36,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:36,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:36,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:36,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 11:05:36,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 49 transitions. [2018-11-23 11:05:36,284 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 49 transitions. Word has length 50 [2018-11-23 11:05:36,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:36,284 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 49 transitions. [2018-11-23 11:05:36,284 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:05:36,284 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-23 11:05:36,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 11:05:36,285 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:36,285 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:36,286 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:36,286 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:36,286 INFO L82 PathProgramCache]: Analyzing trace with hash 1396019354, now seen corresponding path program 1 times [2018-11-23 11:05:36,287 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:36,287 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:36,310 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:36,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:36,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:36,524 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:36,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 7 [2018-11-23 11:05:36,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-23 11:05:36,931 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,932 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 7 [2018-11-23 11:05:36,951 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2018-11-23 11:05:36,952 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,953 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,955 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,955 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:26, output treesize:7 [2018-11-23 11:05:36,960 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:36,960 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_search_list_~l.base_14, v_search_list_~l.offset_14, |#memory_$Pointer$.offset|]. (let ((.cse0 (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (and (= (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) .cse0) |main_#t~ret41.base|) (= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|)) (= |main_#t~ret41.offset| (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) .cse0)))) [2018-11-23 11:05:36,960 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|)) [2018-11-23 11:05:36,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:05:36,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:05:36,999 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,000 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,002 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 11:05:37,002 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-23 11:05:37,004 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:37,004 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~temp~0.base, main_~temp~0.offset]. (let ((.cse0 (select (select |#memory_int| main_~temp~0.base) main_~temp~0.offset))) (and (= (_ bv2 32) .cse0) (= .cse0 |main_#t~mem42|))) [2018-11-23 11:05:37,004 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem42| (_ bv2 32)) [2018-11-23 11:05:37,121 INFO L256 TraceCheckUtils]: 0: Hoare triple {2747#true} call ULTIMATE.init(); {2747#true} is VALID [2018-11-23 11:05:37,121 INFO L273 TraceCheckUtils]: 1: Hoare triple {2747#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,121 INFO L273 TraceCheckUtils]: 2: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2747#true} {2747#true} #125#return; {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L256 TraceCheckUtils]: 4: Hoare triple {2747#true} call #t~ret45 := main(); {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L273 TraceCheckUtils]: 5: Hoare triple {2747#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L256 TraceCheckUtils]: 6: Hoare triple {2747#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L273 TraceCheckUtils]: 7: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L273 TraceCheckUtils]: 8: Hoare triple {2747#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,122 INFO L273 TraceCheckUtils]: 9: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 10: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {2747#true} {2747#true} #111#return; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 12: Hoare triple {2747#true} havoc #t~ret36; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L256 TraceCheckUtils]: 13: Hoare triple {2747#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 14: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 15: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 16: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,123 INFO L273 TraceCheckUtils]: 17: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2747#true} {2747#true} #113#return; {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L273 TraceCheckUtils]: 19: Hoare triple {2747#true} havoc #t~ret37; {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L256 TraceCheckUtils]: 20: Hoare triple {2747#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L273 TraceCheckUtils]: 21: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L273 TraceCheckUtils]: 22: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L273 TraceCheckUtils]: 23: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,124 INFO L273 TraceCheckUtils]: 24: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2747#true} {2747#true} #115#return; {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L273 TraceCheckUtils]: 26: Hoare triple {2747#true} havoc #t~ret38; {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L256 TraceCheckUtils]: 27: Hoare triple {2747#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L273 TraceCheckUtils]: 28: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L273 TraceCheckUtils]: 29: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L273 TraceCheckUtils]: 30: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,125 INFO L273 TraceCheckUtils]: 31: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2747#true} {2747#true} #117#return; {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L273 TraceCheckUtils]: 33: Hoare triple {2747#true} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L273 TraceCheckUtils]: 34: Hoare triple {2747#true} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L273 TraceCheckUtils]: 35: Hoare triple {2747#true} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L273 TraceCheckUtils]: 36: Hoare triple {2747#true} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {2747#true} is VALID [2018-11-23 11:05:37,126 INFO L256 TraceCheckUtils]: 37: Hoare triple {2747#true} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2747#true} is VALID [2018-11-23 11:05:37,127 INFO L273 TraceCheckUtils]: 38: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {2866#(= |search_list_#in~k| search_list_~k)} is VALID [2018-11-23 11:05:37,127 INFO L273 TraceCheckUtils]: 39: Hoare triple {2866#(= |search_list_#in~k| search_list_~k)} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2866#(= |search_list_#in~k| search_list_~k)} is VALID [2018-11-23 11:05:37,127 INFO L273 TraceCheckUtils]: 40: Hoare triple {2866#(= |search_list_#in~k| search_list_~k)} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {2866#(= |search_list_#in~k| search_list_~k)} is VALID [2018-11-23 11:05:37,129 INFO L273 TraceCheckUtils]: 41: Hoare triple {2866#(= |search_list_#in~k| search_list_~k)} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {2876#(and (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (= |search_list_#in~k| search_list_~k))} is VALID [2018-11-23 11:05:37,130 INFO L273 TraceCheckUtils]: 42: Hoare triple {2876#(and (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (= |search_list_#in~k| search_list_~k))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2876#(and (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (= |search_list_#in~k| search_list_~k))} is VALID [2018-11-23 11:05:37,132 INFO L273 TraceCheckUtils]: 43: Hoare triple {2876#(and (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (= |search_list_#in~k| search_list_~k))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {2883#(or (and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (not |search_list_#t~short29|)) (and (not (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset))) |search_list_#t~short29| (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset)))))} is VALID [2018-11-23 11:05:37,134 INFO L273 TraceCheckUtils]: 44: Hoare triple {2883#(or (and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))) (not |search_list_#t~short29|)) (and (not (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset))) |search_list_#t~short29| (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset)))))} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {2887#(and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))))} is VALID [2018-11-23 11:05:37,137 INFO L273 TraceCheckUtils]: 45: Hoare triple {2887#(and (= |search_list_#in~k| (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= search_list_~l.base (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32))) search_list_~l.offset))))} #res.base, #res.offset := ~l.base, ~l.offset; {2891#(and (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= |search_list_#res.base| (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= |search_list_#res.offset| (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))))))} is VALID [2018-11-23 11:05:37,137 INFO L273 TraceCheckUtils]: 46: Hoare triple {2891#(and (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= |search_list_#res.base| (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= |search_list_#res.offset| (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))))))} assume true; {2891#(and (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= |search_list_#res.base| (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= |search_list_#res.offset| (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))))))} is VALID [2018-11-23 11:05:37,140 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {2891#(and (= |search_list_#in~k| (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|)) (exists ((v_search_list_~l.offset_14 (_ BitVec 32)) (v_search_list_~l.base_14 (_ BitVec 32))) (and (= |search_list_#res.base| (select (select |#memory_$Pointer$.base| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))) (= |search_list_#res.offset| (select (select |#memory_$Pointer$.offset| v_search_list_~l.base_14) (bvadd v_search_list_~l.offset_14 (_ bv4 32)))))))} {2747#true} #119#return; {2898#(= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|))} is VALID [2018-11-23 11:05:37,142 INFO L273 TraceCheckUtils]: 48: Hoare triple {2898#(= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|))} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {2902#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:37,144 INFO L256 TraceCheckUtils]: 49: Hoare triple {2902#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {2906#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:37,145 INFO L273 TraceCheckUtils]: 50: Hoare triple {2906#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {2910#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:37,146 INFO L273 TraceCheckUtils]: 51: Hoare triple {2910#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {2748#false} is VALID [2018-11-23 11:05:37,146 INFO L273 TraceCheckUtils]: 52: Hoare triple {2748#false} assume !false; {2748#false} is VALID [2018-11-23 11:05:37,150 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2018-11-23 11:05:37,150 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:37,354 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 30 [2018-11-23 11:05:37,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-23 11:05:37,739 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-11-23 11:05:37,740 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,742 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,749 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,749 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:10 [2018-11-23 11:05:37,753 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:37,753 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|]. (let ((.cse0 (select (select |#memory_int| search_list_~l.base) search_list_~l.offset))) (or (not (= search_list_~k .cse0)) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) .cse0))) [2018-11-23 11:05:37,754 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32)))) [2018-11-23 11:05:37,864 INFO L273 TraceCheckUtils]: 52: Hoare triple {2748#false} assume !false; {2748#false} is VALID [2018-11-23 11:05:37,865 INFO L273 TraceCheckUtils]: 51: Hoare triple {2920#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {2748#false} is VALID [2018-11-23 11:05:37,866 INFO L273 TraceCheckUtils]: 50: Hoare triple {2924#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {2920#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 11:05:37,883 INFO L256 TraceCheckUtils]: 49: Hoare triple {2902#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {2924#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 11:05:37,897 INFO L273 TraceCheckUtils]: 48: Hoare triple {2898#(= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|))} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {2902#(= (bvadd |main_#t~mem42| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:37,913 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {2937#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|) (_ bv4294967294 32)) (_ bv0 32)))} {2747#true} #119#return; {2898#(= (_ bv2 32) (select (select |#memory_int| |main_#t~ret41.base|) |main_#t~ret41.offset|))} is VALID [2018-11-23 11:05:37,919 INFO L273 TraceCheckUtils]: 46: Hoare triple {2937#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|) (_ bv4294967294 32)) (_ bv0 32)))} assume true; {2937#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:37,920 INFO L273 TraceCheckUtils]: 45: Hoare triple {2944#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)))} #res.base, #res.offset := ~l.base, ~l.offset; {2937#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd (select (select |#memory_int| |search_list_#res.base|) |search_list_#res.offset|) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:37,926 INFO L273 TraceCheckUtils]: 44: Hoare triple {2948#(or |search_list_#t~short29| (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)))} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {2944#(or (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)))} is VALID [2018-11-23 11:05:37,927 INFO L273 TraceCheckUtils]: 43: Hoare triple {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {2948#(or |search_list_#t~short29| (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) (select (select |#memory_int| search_list_~l.base) search_list_~l.offset)))} is VALID [2018-11-23 11:05:37,927 INFO L273 TraceCheckUtils]: 42: Hoare triple {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:37,928 INFO L273 TraceCheckUtils]: 41: Hoare triple {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:37,928 INFO L273 TraceCheckUtils]: 40: Hoare triple {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:37,928 INFO L273 TraceCheckUtils]: 39: Hoare triple {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:37,929 INFO L273 TraceCheckUtils]: 38: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {2952#(or (= (_ bv2 32) search_list_~k) (not (= (bvadd |search_list_#in~k| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:37,929 INFO L256 TraceCheckUtils]: 37: Hoare triple {2747#true} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2747#true} is VALID [2018-11-23 11:05:37,929 INFO L273 TraceCheckUtils]: 36: Hoare triple {2747#true} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {2747#true} is VALID [2018-11-23 11:05:37,929 INFO L273 TraceCheckUtils]: 35: Hoare triple {2747#true} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2747#true} is VALID [2018-11-23 11:05:37,929 INFO L273 TraceCheckUtils]: 34: Hoare triple {2747#true} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 33: Hoare triple {2747#true} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2747#true} {2747#true} #117#return; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 31: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 30: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 29: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 28: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L256 TraceCheckUtils]: 27: Hoare triple {2747#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {2747#true} is VALID [2018-11-23 11:05:37,930 INFO L273 TraceCheckUtils]: 26: Hoare triple {2747#true} havoc #t~ret38; {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2747#true} {2747#true} #115#return; {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L273 TraceCheckUtils]: 24: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L273 TraceCheckUtils]: 23: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L273 TraceCheckUtils]: 22: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L273 TraceCheckUtils]: 21: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L256 TraceCheckUtils]: 20: Hoare triple {2747#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {2747#true} is VALID [2018-11-23 11:05:37,931 INFO L273 TraceCheckUtils]: 19: Hoare triple {2747#true} havoc #t~ret37; {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2747#true} {2747#true} #113#return; {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L273 TraceCheckUtils]: 17: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L273 TraceCheckUtils]: 16: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L273 TraceCheckUtils]: 15: Hoare triple {2747#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L273 TraceCheckUtils]: 14: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,932 INFO L256 TraceCheckUtils]: 13: Hoare triple {2747#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L273 TraceCheckUtils]: 12: Hoare triple {2747#true} havoc #t~ret36; {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {2747#true} {2747#true} #111#return; {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L273 TraceCheckUtils]: 10: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L273 TraceCheckUtils]: 9: Hoare triple {2747#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L273 TraceCheckUtils]: 8: Hoare triple {2747#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2747#true} is VALID [2018-11-23 11:05:37,933 INFO L273 TraceCheckUtils]: 7: Hoare triple {2747#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L256 TraceCheckUtils]: 6: Hoare triple {2747#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L273 TraceCheckUtils]: 5: Hoare triple {2747#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L256 TraceCheckUtils]: 4: Hoare triple {2747#true} call #t~ret45 := main(); {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2747#true} {2747#true} #125#return; {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L273 TraceCheckUtils]: 2: Hoare triple {2747#true} assume true; {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L273 TraceCheckUtils]: 1: Hoare triple {2747#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2747#true} is VALID [2018-11-23 11:05:37,934 INFO L256 TraceCheckUtils]: 0: Hoare triple {2747#true} call ULTIMATE.init(); {2747#true} is VALID [2018-11-23 11:05:37,938 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2018-11-23 11:05:37,941 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:37,941 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 17 [2018-11-23 11:05:37,942 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 53 [2018-11-23 11:05:37,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:37,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 11:05:38,047 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:38,047 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 11:05:38,047 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 11:05:38,047 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=231, Unknown=0, NotChecked=0, Total=272 [2018-11-23 11:05:38,048 INFO L87 Difference]: Start difference. First operand 44 states and 49 transitions. Second operand 17 states. [2018-11-23 11:05:39,997 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 30 [2018-11-23 11:05:40,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:40,867 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2018-11-23 11:05:40,867 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 11:05:40,867 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 53 [2018-11-23 11:05:40,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:40,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:05:40,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2018-11-23 11:05:40,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:05:40,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2018-11-23 11:05:40,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 53 transitions. [2018-11-23 11:05:40,950 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:40,952 INFO L225 Difference]: With dead ends: 54 [2018-11-23 11:05:40,952 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 11:05:40,953 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=81, Invalid=381, Unknown=0, NotChecked=0, Total=462 [2018-11-23 11:05:40,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 11:05:41,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 44. [2018-11-23 11:05:41,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:41,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 44 states. [2018-11-23 11:05:41,004 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 44 states. [2018-11-23 11:05:41,004 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 44 states. [2018-11-23 11:05:41,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:41,006 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2018-11-23 11:05:41,006 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2018-11-23 11:05:41,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:41,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:41,007 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 45 states. [2018-11-23 11:05:41,007 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 45 states. [2018-11-23 11:05:41,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:41,009 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2018-11-23 11:05:41,009 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2018-11-23 11:05:41,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:41,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:41,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:41,010 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:41,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 11:05:41,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 49 transitions. [2018-11-23 11:05:41,011 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 49 transitions. Word has length 53 [2018-11-23 11:05:41,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:41,012 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 49 transitions. [2018-11-23 11:05:41,012 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 11:05:41,012 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-23 11:05:41,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 11:05:41,013 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:41,013 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:41,013 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:41,013 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:41,013 INFO L82 PathProgramCache]: Analyzing trace with hash 1002992344, now seen corresponding path program 1 times [2018-11-23 11:05:41,014 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:41,014 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:41,043 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:41,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:41,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:41,215 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:41,341 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:41,357 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 10 treesize of output 9 [2018-11-23 11:05:41,358 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,361 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,372 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,372 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-23 11:05:41,643 INFO L256 TraceCheckUtils]: 0: Hoare triple {3319#true} call ULTIMATE.init(); {3319#true} is VALID [2018-11-23 11:05:41,643 INFO L273 TraceCheckUtils]: 1: Hoare triple {3319#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3319#true} is VALID [2018-11-23 11:05:41,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:41,644 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3319#true} {3319#true} #125#return; {3319#true} is VALID [2018-11-23 11:05:41,644 INFO L256 TraceCheckUtils]: 4: Hoare triple {3319#true} call #t~ret45 := main(); {3319#true} is VALID [2018-11-23 11:05:41,644 INFO L273 TraceCheckUtils]: 5: Hoare triple {3319#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {3319#true} is VALID [2018-11-23 11:05:41,644 INFO L256 TraceCheckUtils]: 6: Hoare triple {3319#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3319#true} is VALID [2018-11-23 11:05:41,645 INFO L273 TraceCheckUtils]: 7: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3319#true} is VALID [2018-11-23 11:05:41,645 INFO L273 TraceCheckUtils]: 8: Hoare triple {3319#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3319#true} is VALID [2018-11-23 11:05:41,645 INFO L273 TraceCheckUtils]: 9: Hoare triple {3319#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3319#true} is VALID [2018-11-23 11:05:41,645 INFO L273 TraceCheckUtils]: 10: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:41,645 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {3319#true} {3319#true} #111#return; {3319#true} is VALID [2018-11-23 11:05:41,646 INFO L273 TraceCheckUtils]: 12: Hoare triple {3319#true} havoc #t~ret36; {3319#true} is VALID [2018-11-23 11:05:41,646 INFO L256 TraceCheckUtils]: 13: Hoare triple {3319#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {3319#true} is VALID [2018-11-23 11:05:41,646 INFO L273 TraceCheckUtils]: 14: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3319#true} is VALID [2018-11-23 11:05:41,646 INFO L273 TraceCheckUtils]: 15: Hoare triple {3319#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3319#true} is VALID [2018-11-23 11:05:41,646 INFO L273 TraceCheckUtils]: 16: Hoare triple {3319#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3319#true} is VALID [2018-11-23 11:05:41,647 INFO L273 TraceCheckUtils]: 17: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:41,647 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3319#true} {3319#true} #113#return; {3319#true} is VALID [2018-11-23 11:05:41,647 INFO L273 TraceCheckUtils]: 19: Hoare triple {3319#true} havoc #t~ret37; {3319#true} is VALID [2018-11-23 11:05:41,647 INFO L256 TraceCheckUtils]: 20: Hoare triple {3319#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {3319#true} is VALID [2018-11-23 11:05:41,664 INFO L273 TraceCheckUtils]: 21: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3387#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:41,665 INFO L273 TraceCheckUtils]: 22: Hoare triple {3387#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3387#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:41,666 INFO L273 TraceCheckUtils]: 23: Hoare triple {3387#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:41,666 INFO L273 TraceCheckUtils]: 24: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} assume true; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:41,667 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {3394#(not (= ~head~0.base (_ bv0 32)))} {3319#true} #115#return; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:41,667 INFO L273 TraceCheckUtils]: 26: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret38; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:41,668 INFO L256 TraceCheckUtils]: 27: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {3407#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:05:41,669 INFO L273 TraceCheckUtils]: 28: Hoare triple {3407#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3411#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:41,671 INFO L273 TraceCheckUtils]: 29: Hoare triple {3411#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3415#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:41,673 INFO L273 TraceCheckUtils]: 30: Hoare triple {3415#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= insert_list_~l.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3419#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:41,673 INFO L273 TraceCheckUtils]: 31: Hoare triple {3419#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} assume true; {3419#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:41,675 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3419#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)))} {3394#(not (= ~head~0.base (_ bv0 32)))} #117#return; {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,676 INFO L273 TraceCheckUtils]: 33: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,676 INFO L273 TraceCheckUtils]: 34: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,677 INFO L273 TraceCheckUtils]: 35: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,678 INFO L273 TraceCheckUtils]: 36: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,679 INFO L256 TraceCheckUtils]: 37: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,680 INFO L273 TraceCheckUtils]: 38: Hoare triple {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:41,681 INFO L273 TraceCheckUtils]: 39: Hoare triple {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:41,682 INFO L273 TraceCheckUtils]: 40: Hoare triple {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:05:41,685 INFO L273 TraceCheckUtils]: 41: Hoare triple {3445#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3455#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:41,686 INFO L273 TraceCheckUtils]: 42: Hoare triple {3455#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3459#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:41,687 INFO L273 TraceCheckUtils]: 43: Hoare triple {3459#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !#t~short29; {3320#false} is VALID [2018-11-23 11:05:41,687 INFO L273 TraceCheckUtils]: 44: Hoare triple {3320#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {3320#false} is VALID [2018-11-23 11:05:41,687 INFO L273 TraceCheckUtils]: 45: Hoare triple {3320#false} #res.base, #res.offset := ~l.base, ~l.offset; {3320#false} is VALID [2018-11-23 11:05:41,688 INFO L273 TraceCheckUtils]: 46: Hoare triple {3320#false} assume true; {3320#false} is VALID [2018-11-23 11:05:41,688 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3320#false} {3426#(and (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #119#return; {3320#false} is VALID [2018-11-23 11:05:41,688 INFO L273 TraceCheckUtils]: 48: Hoare triple {3320#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {3320#false} is VALID [2018-11-23 11:05:41,688 INFO L256 TraceCheckUtils]: 49: Hoare triple {3320#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {3320#false} is VALID [2018-11-23 11:05:41,688 INFO L273 TraceCheckUtils]: 50: Hoare triple {3320#false} ~cond := #in~cond; {3320#false} is VALID [2018-11-23 11:05:41,689 INFO L273 TraceCheckUtils]: 51: Hoare triple {3320#false} assume 0bv32 == ~cond; {3320#false} is VALID [2018-11-23 11:05:41,689 INFO L273 TraceCheckUtils]: 52: Hoare triple {3320#false} assume !false; {3320#false} is VALID [2018-11-23 11:05:41,692 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 20 proven. 6 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:05:41,693 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:42,595 INFO L273 TraceCheckUtils]: 52: Hoare triple {3320#false} assume !false; {3320#false} is VALID [2018-11-23 11:05:42,595 INFO L273 TraceCheckUtils]: 51: Hoare triple {3320#false} assume 0bv32 == ~cond; {3320#false} is VALID [2018-11-23 11:05:42,596 INFO L273 TraceCheckUtils]: 50: Hoare triple {3320#false} ~cond := #in~cond; {3320#false} is VALID [2018-11-23 11:05:42,596 INFO L256 TraceCheckUtils]: 49: Hoare triple {3320#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {3320#false} is VALID [2018-11-23 11:05:42,596 INFO L273 TraceCheckUtils]: 48: Hoare triple {3320#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {3320#false} is VALID [2018-11-23 11:05:42,598 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} #119#return; {3320#false} is VALID [2018-11-23 11:05:42,598 INFO L273 TraceCheckUtils]: 46: Hoare triple {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} assume true; {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} is VALID [2018-11-23 11:05:42,599 INFO L273 TraceCheckUtils]: 45: Hoare triple {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} #res.base, #res.offset := ~l.base, ~l.offset; {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} is VALID [2018-11-23 11:05:42,599 INFO L273 TraceCheckUtils]: 44: Hoare triple {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} is VALID [2018-11-23 11:05:42,599 INFO L273 TraceCheckUtils]: 43: Hoare triple {3522#(or |search_list_#t~short29| (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !#t~short29; {3509#(= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))} is VALID [2018-11-23 11:05:42,600 INFO L273 TraceCheckUtils]: 42: Hoare triple {3526#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= search_list_~l.base (_ bv0 32))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3522#(or |search_list_#t~short29| (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,601 INFO L273 TraceCheckUtils]: 41: Hoare triple {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3526#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= search_list_~l.base (_ bv0 32))))} is VALID [2018-11-23 11:05:42,602 INFO L273 TraceCheckUtils]: 40: Hoare triple {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,602 INFO L273 TraceCheckUtils]: 39: Hoare triple {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,603 INFO L273 TraceCheckUtils]: 38: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {3530#(or (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,603 INFO L256 TraceCheckUtils]: 37: Hoare triple {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3319#true} is VALID [2018-11-23 11:05:42,604 INFO L273 TraceCheckUtils]: 36: Hoare triple {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,604 INFO L273 TraceCheckUtils]: 35: Hoare triple {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,605 INFO L273 TraceCheckUtils]: 34: Hoare triple {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,605 INFO L273 TraceCheckUtils]: 33: Hoare triple {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,614 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3558#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} {3394#(not (= ~head~0.base (_ bv0 32)))} #117#return; {3505#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,614 INFO L273 TraceCheckUtils]: 31: Hoare triple {3558#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume true; {3558#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,616 INFO L273 TraceCheckUtils]: 30: Hoare triple {3565#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3558#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,617 INFO L273 TraceCheckUtils]: 29: Hoare triple {3569#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3565#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:42,618 INFO L273 TraceCheckUtils]: 28: Hoare triple {3569#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3569#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:42,619 INFO L256 TraceCheckUtils]: 27: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {3569#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:05:42,620 INFO L273 TraceCheckUtils]: 26: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret38; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:42,621 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {3394#(not (= ~head~0.base (_ bv0 32)))} {3319#true} #115#return; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:42,621 INFO L273 TraceCheckUtils]: 24: Hoare triple {3394#(not (= ~head~0.base (_ bv0 32)))} assume true; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:42,622 INFO L273 TraceCheckUtils]: 23: Hoare triple {3387#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3394#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:42,623 INFO L273 TraceCheckUtils]: 22: Hoare triple {3387#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3387#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:42,624 INFO L273 TraceCheckUtils]: 21: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3387#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:42,624 INFO L256 TraceCheckUtils]: 20: Hoare triple {3319#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {3319#true} is VALID [2018-11-23 11:05:42,624 INFO L273 TraceCheckUtils]: 19: Hoare triple {3319#true} havoc #t~ret37; {3319#true} is VALID [2018-11-23 11:05:42,624 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3319#true} {3319#true} #113#return; {3319#true} is VALID [2018-11-23 11:05:42,625 INFO L273 TraceCheckUtils]: 17: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:42,625 INFO L273 TraceCheckUtils]: 16: Hoare triple {3319#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3319#true} is VALID [2018-11-23 11:05:42,625 INFO L273 TraceCheckUtils]: 15: Hoare triple {3319#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3319#true} is VALID [2018-11-23 11:05:42,625 INFO L273 TraceCheckUtils]: 14: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3319#true} is VALID [2018-11-23 11:05:42,626 INFO L256 TraceCheckUtils]: 13: Hoare triple {3319#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {3319#true} is VALID [2018-11-23 11:05:42,626 INFO L273 TraceCheckUtils]: 12: Hoare triple {3319#true} havoc #t~ret36; {3319#true} is VALID [2018-11-23 11:05:42,626 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {3319#true} {3319#true} #111#return; {3319#true} is VALID [2018-11-23 11:05:42,626 INFO L273 TraceCheckUtils]: 10: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:42,626 INFO L273 TraceCheckUtils]: 9: Hoare triple {3319#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {3319#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L273 TraceCheckUtils]: 7: Hoare triple {3319#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L256 TraceCheckUtils]: 6: Hoare triple {3319#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L273 TraceCheckUtils]: 5: Hoare triple {3319#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L256 TraceCheckUtils]: 4: Hoare triple {3319#true} call #t~ret45 := main(); {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3319#true} {3319#true} #125#return; {3319#true} is VALID [2018-11-23 11:05:42,627 INFO L273 TraceCheckUtils]: 2: Hoare triple {3319#true} assume true; {3319#true} is VALID [2018-11-23 11:05:42,628 INFO L273 TraceCheckUtils]: 1: Hoare triple {3319#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3319#true} is VALID [2018-11-23 11:05:42,628 INFO L256 TraceCheckUtils]: 0: Hoare triple {3319#true} call ULTIMATE.init(); {3319#true} is VALID [2018-11-23 11:05:42,631 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 20 proven. 6 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:05:42,634 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:42,634 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2018-11-23 11:05:42,634 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 53 [2018-11-23 11:05:42,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:42,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 11:05:42,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:42,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 11:05:42,734 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 11:05:42,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=319, Unknown=0, NotChecked=0, Total=380 [2018-11-23 11:05:42,735 INFO L87 Difference]: Start difference. First operand 44 states and 49 transitions. Second operand 20 states. [2018-11-23 11:05:46,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:46,882 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2018-11-23 11:05:46,882 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 11:05:46,882 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 53 [2018-11-23 11:05:46,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:46,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:05:46,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2018-11-23 11:05:46,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:05:46,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2018-11-23 11:05:46,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 68 transitions. [2018-11-23 11:05:47,026 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 11:05:47,028 INFO L225 Difference]: With dead ends: 65 [2018-11-23 11:05:47,028 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 11:05:47,029 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 192 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=257, Invalid=1075, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 11:05:47,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 11:05:47,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 47. [2018-11-23 11:05:47,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:47,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 47 states. [2018-11-23 11:05:47,109 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 47 states. [2018-11-23 11:05:47,109 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 47 states. [2018-11-23 11:05:47,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:47,112 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2018-11-23 11:05:47,112 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2018-11-23 11:05:47,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:47,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:47,113 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 52 states. [2018-11-23 11:05:47,113 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 52 states. [2018-11-23 11:05:47,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:47,116 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2018-11-23 11:05:47,116 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2018-11-23 11:05:47,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:47,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:47,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:47,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:47,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 11:05:47,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2018-11-23 11:05:47,119 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 53 [2018-11-23 11:05:47,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:47,120 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2018-11-23 11:05:47,120 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 11:05:47,120 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-23 11:05:47,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-23 11:05:47,121 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:47,121 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:47,121 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:47,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:47,122 INFO L82 PathProgramCache]: Analyzing trace with hash 403367558, now seen corresponding path program 2 times [2018-11-23 11:05:47,122 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:47,122 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:47,145 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:05:47,335 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:05:47,335 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:05:47,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:47,418 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:47,505 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 11:05:47,507 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,518 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,518 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-23 11:05:47,522 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:47,522 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_95|]. (and (= |#valid| (store |v_#valid_95| insert_list_~l.base (_ bv1 1))) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32))) [2018-11-23 11:05:47,522 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= (select |#valid| insert_list_~l.base) (_ bv1 1))) [2018-11-23 11:05:47,563 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:47,568 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 10 treesize of output 9 [2018-11-23 11:05:47,571 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,575 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,588 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,589 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 11:05:47,894 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:47,905 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 10 treesize of output 9 [2018-11-23 11:05:47,909 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,920 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:47,979 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:47,986 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:48,022 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:48,023 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:50, output treesize:34 [2018-11-23 11:05:50,113 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 11:05:52,240 WARN L180 SmtUtils]: Spent 2.06 s on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 11:05:52,336 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:52,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:52,339 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 11:05:52,341 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,391 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 25 treesize of output 26 [2018-11-23 11:05:52,397 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 13 treesize of output 16 [2018-11-23 11:05:52,407 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:52,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:05:52,412 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,425 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,439 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,469 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,470 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:47, output treesize:37 [2018-11-23 11:05:52,481 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:52,481 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_2|, v_DerPreprocessor_2, |v_old(~head~0.base)_AFTER_CALL_69|, |v_#valid_BEFORE_CALL_2|]. (let ((.cse0 (bvadd ~head~0.offset (_ bv4 32)))) (and (= ~head~0.offset (_ bv0 32)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_BEFORE_CALL_2| ~head~0.base (store (store (select |v_#memory_$Pointer$.base_BEFORE_CALL_2| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) .cse0 |v_old(~head~0.base)_AFTER_CALL_69|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse0)) (= (_ bv1 1) (select |v_#valid_BEFORE_CALL_2| |v_old(~head~0.base)_AFTER_CALL_69|)) (= (select |v_#valid_BEFORE_CALL_2| ~head~0.base) (_ bv0 1)) (not (= (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_2| |v_old(~head~0.base)_AFTER_CALL_69|) (_ bv4 32)) (_ bv0 32))))) [2018-11-23 11:05:52,482 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| ~head~0.base) .cse1))) (and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse1)) (not (= ~head~0.base .cse0))))) [2018-11-23 11:05:52,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 11:05:52,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 3 [2018-11-23 11:05:52,664 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,667 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,689 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:52,689 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:55, output treesize:40 [2018-11-23 11:05:52,695 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:52,695 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|]. (let ((.cse2 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| ~head~0.base) .cse2)) (.cse1 (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse2))) (and (= main_~mylist~0.base .cse0) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) .cse1) (not (= ~head~0.base .cse0)) (= main_~mylist~0.offset .cse1)))) [2018-11-23 11:05:52,696 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (and (= main_~mylist~0.base .cse0) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32)) (_ bv0 32))) (not (= ~head~0.base .cse0)) (= main_~mylist~0.offset (_ bv0 32)))) [2018-11-23 11:05:52,858 INFO L256 TraceCheckUtils]: 0: Hoare triple {3952#true} call ULTIMATE.init(); {3952#true} is VALID [2018-11-23 11:05:52,859 INFO L273 TraceCheckUtils]: 1: Hoare triple {3952#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3952#true} is VALID [2018-11-23 11:05:52,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {3952#true} assume true; {3952#true} is VALID [2018-11-23 11:05:52,859 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3952#true} {3952#true} #125#return; {3952#true} is VALID [2018-11-23 11:05:52,860 INFO L256 TraceCheckUtils]: 4: Hoare triple {3952#true} call #t~ret45 := main(); {3952#true} is VALID [2018-11-23 11:05:52,860 INFO L273 TraceCheckUtils]: 5: Hoare triple {3952#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {3952#true} is VALID [2018-11-23 11:05:52,860 INFO L256 TraceCheckUtils]: 6: Hoare triple {3952#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3952#true} is VALID [2018-11-23 11:05:52,860 INFO L273 TraceCheckUtils]: 7: Hoare triple {3952#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3952#true} is VALID [2018-11-23 11:05:52,860 INFO L273 TraceCheckUtils]: 8: Hoare triple {3952#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3952#true} is VALID [2018-11-23 11:05:52,861 INFO L273 TraceCheckUtils]: 9: Hoare triple {3952#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3952#true} is VALID [2018-11-23 11:05:52,861 INFO L273 TraceCheckUtils]: 10: Hoare triple {3952#true} assume true; {3952#true} is VALID [2018-11-23 11:05:52,861 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {3952#true} {3952#true} #111#return; {3952#true} is VALID [2018-11-23 11:05:52,861 INFO L273 TraceCheckUtils]: 12: Hoare triple {3952#true} havoc #t~ret36; {3952#true} is VALID [2018-11-23 11:05:52,862 INFO L256 TraceCheckUtils]: 13: Hoare triple {3952#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {3952#true} is VALID [2018-11-23 11:05:52,862 INFO L273 TraceCheckUtils]: 14: Hoare triple {3952#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3999#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:52,863 INFO L273 TraceCheckUtils]: 15: Hoare triple {3999#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3999#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:05:52,863 INFO L273 TraceCheckUtils]: 16: Hoare triple {3999#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:52,863 INFO L273 TraceCheckUtils]: 17: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} assume true; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:52,864 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4006#(not (= ~head~0.base (_ bv0 32)))} {3952#true} #113#return; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:52,868 INFO L273 TraceCheckUtils]: 19: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret37; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:05:52,869 INFO L256 TraceCheckUtils]: 20: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {4019#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:05:52,870 INFO L273 TraceCheckUtils]: 21: Hoare triple {4019#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4023#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:52,872 INFO L273 TraceCheckUtils]: 22: Hoare triple {4023#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4027#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:52,874 INFO L273 TraceCheckUtils]: 23: Hoare triple {4027#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:52,875 INFO L273 TraceCheckUtils]: 24: Hoare triple {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} assume true; {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:52,876 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} {4006#(not (= ~head~0.base (_ bv0 32)))} #115#return; {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:52,877 INFO L273 TraceCheckUtils]: 26: Hoare triple {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret38; {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:52,878 INFO L256 TraceCheckUtils]: 27: Hoare triple {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {4045#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:05:52,879 INFO L273 TraceCheckUtils]: 28: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4049#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:05:52,885 INFO L273 TraceCheckUtils]: 29: Hoare triple {4049#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4053#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_2) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} is VALID [2018-11-23 11:05:52,887 INFO L273 TraceCheckUtils]: 30: Hoare triple {4053#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_2) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} is VALID [2018-11-23 11:05:52,888 INFO L273 TraceCheckUtils]: 31: Hoare triple {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} assume true; {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} is VALID [2018-11-23 11:05:52,892 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #117#return; {4064#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:52,893 INFO L273 TraceCheckUtils]: 33: Hoare triple {4064#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {4068#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.base ~head~0.base))} is VALID [2018-11-23 11:05:52,894 INFO L273 TraceCheckUtils]: 34: Hoare triple {4068#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.base ~head~0.base))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4072#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:05:52,895 INFO L273 TraceCheckUtils]: 35: Hoare triple {4072#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4076#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) main_~mylist~0.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:52,895 INFO L273 TraceCheckUtils]: 36: Hoare triple {4076#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) main_~mylist~0.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {3953#false} is VALID [2018-11-23 11:05:52,895 INFO L256 TraceCheckUtils]: 37: Hoare triple {3953#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3953#false} is VALID [2018-11-23 11:05:52,895 INFO L273 TraceCheckUtils]: 38: Hoare triple {3953#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 39: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 40: Hoare triple {3953#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 41: Hoare triple {3953#false} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 42: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 43: Hoare triple {3953#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3953#false} is VALID [2018-11-23 11:05:52,896 INFO L273 TraceCheckUtils]: 44: Hoare triple {3953#false} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 45: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 46: Hoare triple {3953#false} assume !#t~short29; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 47: Hoare triple {3953#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 48: Hoare triple {3953#false} #res.base, #res.offset := ~l.base, ~l.offset; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 49: Hoare triple {3953#false} assume true; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3953#false} {3953#false} #119#return; {3953#false} is VALID [2018-11-23 11:05:52,897 INFO L273 TraceCheckUtils]: 51: Hoare triple {3953#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {3953#false} is VALID [2018-11-23 11:05:52,898 INFO L256 TraceCheckUtils]: 52: Hoare triple {3953#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {3953#false} is VALID [2018-11-23 11:05:52,898 INFO L273 TraceCheckUtils]: 53: Hoare triple {3953#false} ~cond := #in~cond; {3953#false} is VALID [2018-11-23 11:05:52,898 INFO L273 TraceCheckUtils]: 54: Hoare triple {3953#false} assume 0bv32 == ~cond; {3953#false} is VALID [2018-11-23 11:05:52,898 INFO L273 TraceCheckUtils]: 55: Hoare triple {3953#false} assume !false; {3953#false} is VALID [2018-11-23 11:05:52,907 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 17 proven. 15 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:05:52,907 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:53,029 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 11:05:53,839 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:05:53,953 WARN L180 SmtUtils]: Spent 113.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:05:54,183 WARN L180 SmtUtils]: Spent 226.00 ms on a formula simplification that was a NOOP. DAG size: 55 [2018-11-23 11:05:54,369 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:05:54,822 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 11:05:54,837 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 11:05:54,847 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:54,861 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:54,869 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,877 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,950 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 3 xjuncts. [2018-11-23 11:05:54,950 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 2 variables, input treesize:41, output treesize:72 [2018-11-23 11:05:56,963 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:56,964 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_114|, v_~head~0.base_122]. (let ((.cse0 (select |v_#memory_$Pointer$.base_114| v_~head~0.base_122))) (or (not (= (_ bv0 32) (select (select (store |v_#memory_$Pointer$.base_114| v_~head~0.base_122 (store .cse0 (_ bv4 32) ~head~0.base)) ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= |v_#memory_$Pointer$.base_114| (store |#memory_$Pointer$.base| v_~head~0.base_122 (store (select |#memory_$Pointer$.base| v_~head~0.base_122) (_ bv0 32) (select .cse0 (_ bv0 32)))))) (not (= (_ bv0 1) (select |#valid| v_~head~0.base_122))))) [2018-11-23 11:05:56,964 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_~head~0.base_122, v_DerPreprocessor_4, v_prenex_1, v_DerPreprocessor_6]. (let ((.cse0 (bvadd ~head~0.offset (_ bv4 32))) (.cse1 (= (_ bv0 32) ~head~0.offset))) (and (or (not (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| v_~head~0.base_122 (store (select |#memory_$Pointer$.base| v_~head~0.base_122) (_ bv0 32) v_DerPreprocessor_4)) ~head~0.base) .cse0))) .cse1 (not (= (_ bv0 1) (select |#valid| v_~head~0.base_122)))) (or (not (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| v_prenex_1 (store (select |#memory_$Pointer$.base| v_prenex_1) (_ bv0 32) v_DerPreprocessor_6)) ~head~0.base) .cse0))) (= v_prenex_1 ~head~0.base) (not (= (_ bv0 1) (select |#valid| v_prenex_1)))) (or (not (= (_ bv0 1) (select |#valid| ~head~0.base))) (not (= ~head~0.base (_ bv0 32))) (not .cse1)))) [2018-11-23 11:06:03,572 WARN L180 SmtUtils]: Spent 2.50 s on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:06:03,699 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:06:03,699 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FPBP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:06:03,718 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:06:03,848 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:06:03,848 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:06:03,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:06:03,878 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:06:03,921 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 11:06:03,923 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:03,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:03,933 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-23 11:06:03,937 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:03,937 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_105|]. (and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |#valid| (store |v_#valid_105| insert_list_~l.base (_ bv1 1)))) [2018-11-23 11:06:03,938 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= (select |#valid| insert_list_~l.base) (_ bv1 1))) [2018-11-23 11:06:03,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:06:03,954 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 10 treesize of output 9 [2018-11-23 11:06:03,956 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:03,959 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:03,971 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:03,971 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 11:06:04,039 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 11:06:04,049 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 11:06:04,104 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:06:04,112 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 10 treesize of output 9 [2018-11-23 11:06:04,113 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,119 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,148 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:06:04,149 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:50, output treesize:34 [2018-11-23 11:06:04,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:06:04,273 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:06:04,274 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 13 treesize of output 4 [2018-11-23 11:06:04,275 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,337 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 25 treesize of output 26 [2018-11-23 11:06:04,344 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 13 treesize of output 16 [2018-11-23 11:06:04,354 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:06:04,358 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:06:04,360 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,374 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,389 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,421 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,421 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:49, output treesize:37 [2018-11-23 11:06:04,433 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:04,434 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_6|, v_DerPreprocessor_2, v_~head~0.base_BEFORE_CALL_25, |v_#valid_BEFORE_CALL_6|]. (let ((.cse0 (bvadd ~head~0.offset (_ bv4 32)))) (and (= ~head~0.offset (_ bv0 32)) (= (bvadd (select |v_#valid_BEFORE_CALL_6| v_~head~0.base_BEFORE_CALL_25) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse0)) (not (= (_ bv0 32) (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_6| v_~head~0.base_BEFORE_CALL_25) (_ bv4 32)))) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_BEFORE_CALL_6| ~head~0.base (store (store (select |v_#memory_$Pointer$.base_BEFORE_CALL_6| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) .cse0 v_~head~0.base_BEFORE_CALL_25))) (= (select |v_#valid_BEFORE_CALL_6| ~head~0.base) (_ bv0 1)))) [2018-11-23 11:06:04,434 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| ~head~0.base) .cse1))) (and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse1)) (not (= ~head~0.base .cse0))))) [2018-11-23 11:06:04,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:06:04,554 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:06:04,560 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,563 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,580 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:06:04,581 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:42, output treesize:31 [2018-11-23 11:06:04,592 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:04,593 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_main_~mylist~0.base_32, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.offset| v_main_~mylist~0.base_32) (_ bv4 32))) (.cse1 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32)))) (and (= (_ bv0 32) .cse0) (= main_~mylist~0.base .cse1) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| .cse1) (_ bv4 32)))) (= main_~mylist~0.offset .cse0) (not (= v_main_~mylist~0.base_32 .cse1)))) [2018-11-23 11:06:04,593 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~mylist~0.base_32]. (let ((.cse0 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32)))) (and (= main_~mylist~0.base .cse0) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32)))) (not (= v_main_~mylist~0.base_32 .cse0)) (= main_~mylist~0.offset (_ bv0 32)))) [2018-11-23 11:06:04,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 23 [2018-11-23 11:06:04,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-23 11:06:04,703 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 6 treesize of output 4 [2018-11-23 11:06:04,721 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,723 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,724 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:04,725 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:32, output treesize:4 [2018-11-23 11:06:04,728 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:04,728 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~mylist~0.base_32]. (let ((.cse1 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| .cse1) (_ bv4 32)))) (and (= main_~mylist~0.base .cse0) (not (= (_ bv0 32) .cse0)) (not (= v_main_~mylist~0.base_32 .cse1))))) [2018-11-23 11:06:04,728 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= main_~mylist~0.base (_ bv0 32))) [2018-11-23 11:06:04,737 INFO L256 TraceCheckUtils]: 0: Hoare triple {3952#true} call ULTIMATE.init(); {3952#true} is VALID [2018-11-23 11:06:04,738 INFO L273 TraceCheckUtils]: 1: Hoare triple {3952#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3952#true} is VALID [2018-11-23 11:06:04,738 INFO L273 TraceCheckUtils]: 2: Hoare triple {3952#true} assume true; {3952#true} is VALID [2018-11-23 11:06:04,738 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3952#true} {3952#true} #125#return; {3952#true} is VALID [2018-11-23 11:06:04,738 INFO L256 TraceCheckUtils]: 4: Hoare triple {3952#true} call #t~ret45 := main(); {3952#true} is VALID [2018-11-23 11:06:04,738 INFO L273 TraceCheckUtils]: 5: Hoare triple {3952#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {3952#true} is VALID [2018-11-23 11:06:04,739 INFO L256 TraceCheckUtils]: 6: Hoare triple {3952#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3952#true} is VALID [2018-11-23 11:06:04,739 INFO L273 TraceCheckUtils]: 7: Hoare triple {3952#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3952#true} is VALID [2018-11-23 11:06:04,739 INFO L273 TraceCheckUtils]: 8: Hoare triple {3952#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3952#true} is VALID [2018-11-23 11:06:04,739 INFO L273 TraceCheckUtils]: 9: Hoare triple {3952#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3952#true} is VALID [2018-11-23 11:06:04,740 INFO L273 TraceCheckUtils]: 10: Hoare triple {3952#true} assume true; {3952#true} is VALID [2018-11-23 11:06:04,740 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {3952#true} {3952#true} #111#return; {3952#true} is VALID [2018-11-23 11:06:04,740 INFO L273 TraceCheckUtils]: 12: Hoare triple {3952#true} havoc #t~ret36; {3952#true} is VALID [2018-11-23 11:06:04,740 INFO L256 TraceCheckUtils]: 13: Hoare triple {3952#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {3952#true} is VALID [2018-11-23 11:06:04,740 INFO L273 TraceCheckUtils]: 14: Hoare triple {3952#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {3999#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:06:04,741 INFO L273 TraceCheckUtils]: 15: Hoare triple {3999#(not (= (_ bv0 32) insert_list_~l.base))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {3999#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:06:04,743 INFO L273 TraceCheckUtils]: 16: Hoare triple {3999#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:06:04,743 INFO L273 TraceCheckUtils]: 17: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} assume true; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:06:04,744 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4006#(not (= ~head~0.base (_ bv0 32)))} {3952#true} #113#return; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:06:04,744 INFO L273 TraceCheckUtils]: 19: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret37; {4006#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:06:04,745 INFO L256 TraceCheckUtils]: 20: Hoare triple {4006#(not (= ~head~0.base (_ bv0 32)))} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {4019#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:06:04,746 INFO L273 TraceCheckUtils]: 21: Hoare triple {4019#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4023#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,750 INFO L273 TraceCheckUtils]: 22: Hoare triple {4023#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4027#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,751 INFO L273 TraceCheckUtils]: 23: Hoare triple {4027#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,751 INFO L273 TraceCheckUtils]: 24: Hoare triple {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} assume true; {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,752 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4031#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} {4006#(not (= ~head~0.base (_ bv0 32)))} #115#return; {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:06:04,753 INFO L273 TraceCheckUtils]: 26: Hoare triple {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret38; {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:06:04,754 INFO L256 TraceCheckUtils]: 27: Hoare triple {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {4045#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:06:04,755 INFO L273 TraceCheckUtils]: 28: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4049#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:06:04,762 INFO L273 TraceCheckUtils]: 29: Hoare triple {4049#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4053#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_2) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} is VALID [2018-11-23 11:06:04,764 INFO L273 TraceCheckUtils]: 30: Hoare triple {4053#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_2) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} is VALID [2018-11-23 11:06:04,765 INFO L273 TraceCheckUtils]: 31: Hoare triple {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} assume true; {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} is VALID [2018-11-23 11:06:04,768 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4057#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (exists ((v_DerPreprocessor_2 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_2) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))))} {4038#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #117#return; {4064#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:06:04,769 INFO L273 TraceCheckUtils]: 33: Hoare triple {4064#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {4313#(and (= (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (_ bv4 32)))) (not (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,771 INFO L273 TraceCheckUtils]: 34: Hoare triple {4313#(and (= (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (_ bv4 32)))) (not (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4317#(and (exists ((v_main_~mylist~0.base_32 (_ BitVec 32))) (and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32))) (_ bv4 32)))) (not (= v_main_~mylist~0.base_32 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32)))))) (= main_~mylist~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:04,772 INFO L273 TraceCheckUtils]: 35: Hoare triple {4317#(and (exists ((v_main_~mylist~0.base_32 (_ BitVec 32))) (and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32))) (_ bv4 32)))) (not (= v_main_~mylist~0.base_32 (select (select |#memory_$Pointer$.base| v_main_~mylist~0.base_32) (_ bv4 32)))))) (= main_~mylist~0.offset (_ bv0 32)))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4194#(not (= main_~mylist~0.base (_ bv0 32)))} is VALID [2018-11-23 11:06:04,773 INFO L273 TraceCheckUtils]: 36: Hoare triple {4194#(not (= main_~mylist~0.base (_ bv0 32)))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {3953#false} is VALID [2018-11-23 11:06:04,773 INFO L256 TraceCheckUtils]: 37: Hoare triple {3953#false} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {3953#false} is VALID [2018-11-23 11:06:04,774 INFO L273 TraceCheckUtils]: 38: Hoare triple {3953#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {3953#false} is VALID [2018-11-23 11:06:04,774 INFO L273 TraceCheckUtils]: 39: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:06:04,774 INFO L273 TraceCheckUtils]: 40: Hoare triple {3953#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3953#false} is VALID [2018-11-23 11:06:04,774 INFO L273 TraceCheckUtils]: 41: Hoare triple {3953#false} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3953#false} is VALID [2018-11-23 11:06:04,774 INFO L273 TraceCheckUtils]: 42: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:06:04,775 INFO L273 TraceCheckUtils]: 43: Hoare triple {3953#false} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {3953#false} is VALID [2018-11-23 11:06:04,775 INFO L273 TraceCheckUtils]: 44: Hoare triple {3953#false} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {3953#false} is VALID [2018-11-23 11:06:04,775 INFO L273 TraceCheckUtils]: 45: Hoare triple {3953#false} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {3953#false} is VALID [2018-11-23 11:06:04,775 INFO L273 TraceCheckUtils]: 46: Hoare triple {3953#false} assume !#t~short29; {3953#false} is VALID [2018-11-23 11:06:04,775 INFO L273 TraceCheckUtils]: 47: Hoare triple {3953#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L273 TraceCheckUtils]: 48: Hoare triple {3953#false} #res.base, #res.offset := ~l.base, ~l.offset; {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L273 TraceCheckUtils]: 49: Hoare triple {3953#false} assume true; {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3953#false} {3953#false} #119#return; {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L273 TraceCheckUtils]: 51: Hoare triple {3953#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L256 TraceCheckUtils]: 52: Hoare triple {3953#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L273 TraceCheckUtils]: 53: Hoare triple {3953#false} ~cond := #in~cond; {3953#false} is VALID [2018-11-23 11:06:04,776 INFO L273 TraceCheckUtils]: 54: Hoare triple {3953#false} assume 0bv32 == ~cond; {3953#false} is VALID [2018-11-23 11:06:04,777 INFO L273 TraceCheckUtils]: 55: Hoare triple {3953#false} assume !false; {3953#false} is VALID [2018-11-23 11:06:04,782 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 17 proven. 15 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:06:04,782 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:06:05,052 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:06:05,182 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:06:05,448 WARN L180 SmtUtils]: Spent 263.00 ms on a formula simplification that was a NOOP. DAG size: 55 [2018-11-23 11:06:05,657 WARN L180 SmtUtils]: Spent 206.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:06:06,029 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 11:06:06,045 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 11:06:06,057 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:06:06,074 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:06:06,081 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:06,089 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:06,158 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 3 xjuncts. [2018-11-23 11:06:06,158 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 2 variables, input treesize:41, output treesize:72 [2018-11-23 11:06:06,488 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:06,489 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_128|, v_insert_list_~l.base_65]. (let ((.cse0 (select |v_#memory_$Pointer$.base_128| v_insert_list_~l.base_65))) (or (not (= (_ bv0 32) (select (select (store |v_#memory_$Pointer$.base_128| v_insert_list_~l.base_65 (store .cse0 (_ bv4 32) ~head~0.base)) ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= |v_#memory_$Pointer$.base_128| (store |#memory_$Pointer$.base| v_insert_list_~l.base_65 (store (select |#memory_$Pointer$.base| v_insert_list_~l.base_65) (_ bv0 32) (select .cse0 (_ bv0 32)))))) (not (= (_ bv0 1) (select |#valid| v_insert_list_~l.base_65))))) [2018-11-23 11:06:06,489 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_prenex_2, v_DerPreprocessor_14, v_insert_list_~l.base_65, v_DerPreprocessor_12]. (let ((.cse0 (bvadd ~head~0.offset (_ bv4 32))) (.cse1 (= (_ bv0 32) ~head~0.offset))) (and (or (not (= (select (select (store |#memory_$Pointer$.base| v_prenex_2 (store (select |#memory_$Pointer$.base| v_prenex_2) (_ bv0 32) v_DerPreprocessor_14)) ~head~0.base) .cse0) (_ bv0 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_2))) .cse1) (or (not (= (select (select (store |#memory_$Pointer$.base| v_insert_list_~l.base_65 (store (select |#memory_$Pointer$.base| v_insert_list_~l.base_65) (_ bv0 32) v_DerPreprocessor_12)) ~head~0.base) .cse0) (_ bv0 32))) (not (= (_ bv0 1) (select |#valid| v_insert_list_~l.base_65))) (= ~head~0.base v_insert_list_~l.base_65)) (or (not (= (_ bv0 1) (select |#valid| ~head~0.base))) (not (= ~head~0.base (_ bv0 32))) (not .cse1)))) [2018-11-23 11:06:08,631 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:06:08,632 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 20 [2018-11-23 11:06:08,632 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 56 [2018-11-23 11:06:08,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:06:08,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 11:06:08,754 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:06:08,754 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 11:06:08,754 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 11:06:08,755 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=492, Unknown=1, NotChecked=0, Total=552 [2018-11-23 11:06:08,755 INFO L87 Difference]: Start difference. First operand 47 states and 52 transitions. Second operand 20 states. [2018-11-23 11:06:14,087 WARN L180 SmtUtils]: Spent 4.08 s on a formula simplification. DAG size of input: 38 DAG size of output: 35 [2018-11-23 11:06:23,233 WARN L180 SmtUtils]: Spent 8.26 s on a formula simplification. DAG size of input: 59 DAG size of output: 53 [2018-11-23 11:06:27,713 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 36 DAG size of output: 33 [2018-11-23 11:06:33,002 WARN L180 SmtUtils]: Spent 4.10 s on a formula simplification. DAG size of input: 40 DAG size of output: 37 [2018-11-23 11:06:41,546 WARN L180 SmtUtils]: Spent 8.30 s on a formula simplification. DAG size of input: 61 DAG size of output: 57 [2018-11-23 11:06:47,289 WARN L180 SmtUtils]: Spent 4.15 s on a formula simplification. DAG size of input: 50 DAG size of output: 47 [2018-11-23 11:06:52,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:06:52,316 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2018-11-23 11:06:52,316 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 11:06:52,316 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 56 [2018-11-23 11:06:52,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:06:52,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:06:52,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 68 transitions. [2018-11-23 11:06:52,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:06:52,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 68 transitions. [2018-11-23 11:06:52,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 68 transitions. [2018-11-23 11:06:52,499 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 11:06:52,501 INFO L225 Difference]: With dead ends: 73 [2018-11-23 11:06:52,501 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 11:06:52,502 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 135 SyntacticMatches, 2 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 284 ImplicationChecksByTransitivity, 48.8s TimeCoverageRelationStatistics Valid=235, Invalid=1486, Unknown=1, NotChecked=0, Total=1722 [2018-11-23 11:06:52,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 11:06:52,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 48. [2018-11-23 11:06:52,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:06:52,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 48 states. [2018-11-23 11:06:52,805 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 48 states. [2018-11-23 11:06:52,805 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 48 states. [2018-11-23 11:06:52,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:06:52,808 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2018-11-23 11:06:52,808 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2018-11-23 11:06:52,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:06:52,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:06:52,809 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 53 states. [2018-11-23 11:06:52,809 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 53 states. [2018-11-23 11:06:52,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:06:52,812 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2018-11-23 11:06:52,812 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2018-11-23 11:06:52,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:06:52,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:06:52,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:06:52,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:06:52,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 11:06:52,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-23 11:06:52,815 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 56 [2018-11-23 11:06:52,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:06:52,815 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-23 11:06:52,815 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 11:06:52,815 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-23 11:06:52,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2018-11-23 11:06:52,817 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:06:52,817 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:06:52,817 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:06:52,817 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:06:52,818 INFO L82 PathProgramCache]: Analyzing trace with hash 194064229, now seen corresponding path program 3 times [2018-11-23 11:06:52,818 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:06:52,818 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:06:52,847 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:06:53,097 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 11:06:53,097 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:06:53,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:06:53,163 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:06:53,240 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:06:53,246 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 10 treesize of output 9 [2018-11-23 11:06:53,247 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,254 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,280 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:06:53,285 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 10 treesize of output 9 [2018-11-23 11:06:53,287 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,292 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,309 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,310 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:30, output treesize:13 [2018-11-23 11:06:53,377 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:06:53,377 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_109|, |v_#memory_$Pointer$.base_132|, ~head~0.base]. (let ((.cse0 (bvadd insert_list_~l.offset (_ bv4 32)))) (and (= (store |v_#memory_$Pointer$.offset_109| insert_list_~l.base (store (select |v_#memory_$Pointer$.offset_109| insert_list_~l.base) .cse0 |old(~head~0.offset)|)) |#memory_$Pointer$.offset|) (= (store |v_#memory_$Pointer$.base_132| insert_list_~l.base (store (select |v_#memory_$Pointer$.base_132| insert_list_~l.base) .cse0 ~head~0.base)) |#memory_$Pointer$.base|) (= insert_list_~l.offset (_ bv0 32)))) [2018-11-23 11:06:53,378 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= insert_list_~l.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|)) [2018-11-23 11:06:54,206 INFO L256 TraceCheckUtils]: 0: Hoare triple {4767#true} call ULTIMATE.init(); {4767#true} is VALID [2018-11-23 11:06:54,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {4767#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4767#true} is VALID [2018-11-23 11:06:54,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:06:54,207 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4767#true} {4767#true} #125#return; {4767#true} is VALID [2018-11-23 11:06:54,207 INFO L256 TraceCheckUtils]: 4: Hoare triple {4767#true} call #t~ret45 := main(); {4767#true} is VALID [2018-11-23 11:06:54,207 INFO L273 TraceCheckUtils]: 5: Hoare triple {4767#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {4767#true} is VALID [2018-11-23 11:06:54,207 INFO L256 TraceCheckUtils]: 6: Hoare triple {4767#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {4767#true} is VALID [2018-11-23 11:06:54,207 INFO L273 TraceCheckUtils]: 7: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 8: Hoare triple {4767#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 9: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 10: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {4767#true} {4767#true} #111#return; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 12: Hoare triple {4767#true} havoc #t~ret36; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L256 TraceCheckUtils]: 13: Hoare triple {4767#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:06:54,208 INFO L273 TraceCheckUtils]: 15: Hoare triple {4767#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:06:54,209 INFO L273 TraceCheckUtils]: 16: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:06:54,209 INFO L273 TraceCheckUtils]: 17: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:06:54,209 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4767#true} {4767#true} #113#return; {4767#true} is VALID [2018-11-23 11:06:54,209 INFO L273 TraceCheckUtils]: 19: Hoare triple {4767#true} havoc #t~ret37; {4767#true} is VALID [2018-11-23 11:06:54,209 INFO L256 TraceCheckUtils]: 20: Hoare triple {4767#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {4767#true} is VALID [2018-11-23 11:06:54,210 INFO L273 TraceCheckUtils]: 21: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4835#(= insert_list_~l.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,210 INFO L273 TraceCheckUtils]: 22: Hoare triple {4835#(= insert_list_~l.offset (_ bv0 32))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4835#(= insert_list_~l.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,210 INFO L273 TraceCheckUtils]: 23: Hoare triple {4835#(= insert_list_~l.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4842#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,211 INFO L273 TraceCheckUtils]: 24: Hoare triple {4842#(= ~head~0.offset (_ bv0 32))} assume true; {4842#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,211 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4842#(= ~head~0.offset (_ bv0 32))} {4767#true} #115#return; {4842#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,212 INFO L273 TraceCheckUtils]: 26: Hoare triple {4842#(= ~head~0.offset (_ bv0 32))} havoc #t~ret38; {4842#(= ~head~0.offset (_ bv0 32))} is VALID [2018-11-23 11:06:54,212 INFO L256 TraceCheckUtils]: 27: Hoare triple {4842#(= ~head~0.offset (_ bv0 32))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {4855#(= ~head~0.offset |old(~head~0.offset)|)} is VALID [2018-11-23 11:06:54,213 INFO L273 TraceCheckUtils]: 28: Hoare triple {4855#(= ~head~0.offset |old(~head~0.offset)|)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4859#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:06:54,216 INFO L273 TraceCheckUtils]: 29: Hoare triple {4859#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4863#(and (= insert_list_~l.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} is VALID [2018-11-23 11:06:54,217 INFO L273 TraceCheckUtils]: 30: Hoare triple {4863#(and (= insert_list_~l.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4867#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|))} is VALID [2018-11-23 11:06:54,218 INFO L273 TraceCheckUtils]: 31: Hoare triple {4867#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|))} assume true; {4867#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|))} is VALID [2018-11-23 11:06:54,220 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4867#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|))} {4842#(= ~head~0.offset (_ bv0 32))} #117#return; {4874#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,221 INFO L273 TraceCheckUtils]: 33: Hoare triple {4874#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {4878#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= main_~mylist~0.base ~head~0.base))} is VALID [2018-11-23 11:06:54,222 INFO L273 TraceCheckUtils]: 34: Hoare triple {4878#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= main_~mylist~0.base ~head~0.base))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4882#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,225 INFO L273 TraceCheckUtils]: 35: Hoare triple {4882#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4886#(and (= ~head~0.offset (_ bv0 32)) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) main_~mylist~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,228 INFO L273 TraceCheckUtils]: 36: Hoare triple {4886#(and (= ~head~0.offset (_ bv0 32)) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) main_~mylist~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:06:54,229 INFO L273 TraceCheckUtils]: 37: Hoare triple {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:06:54,231 INFO L256 TraceCheckUtils]: 38: Hoare triple {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:06:54,232 INFO L273 TraceCheckUtils]: 39: Hoare triple {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:06:54,234 INFO L273 TraceCheckUtils]: 40: Hoare triple {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:06:54,236 INFO L273 TraceCheckUtils]: 41: Hoare triple {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:06:54,238 INFO L273 TraceCheckUtils]: 42: Hoare triple {4900#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base ~head~0.base))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,240 INFO L273 TraceCheckUtils]: 43: Hoare triple {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,242 INFO L273 TraceCheckUtils]: 44: Hoare triple {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:06:54,244 INFO L273 TraceCheckUtils]: 45: Hoare triple {4910#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {4920#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:06:54,247 INFO L273 TraceCheckUtils]: 46: Hoare triple {4920#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {4924#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:06:54,247 INFO L273 TraceCheckUtils]: 47: Hoare triple {4924#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} assume !#t~short29; {4768#false} is VALID [2018-11-23 11:06:54,248 INFO L273 TraceCheckUtils]: 48: Hoare triple {4768#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {4768#false} is VALID [2018-11-23 11:06:54,248 INFO L273 TraceCheckUtils]: 49: Hoare triple {4768#false} #res.base, #res.offset := ~l.base, ~l.offset; {4768#false} is VALID [2018-11-23 11:06:54,248 INFO L273 TraceCheckUtils]: 50: Hoare triple {4768#false} assume true; {4768#false} is VALID [2018-11-23 11:06:54,248 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4768#false} {4890#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))))} #119#return; {4768#false} is VALID [2018-11-23 11:06:54,249 INFO L273 TraceCheckUtils]: 52: Hoare triple {4768#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {4768#false} is VALID [2018-11-23 11:06:54,249 INFO L256 TraceCheckUtils]: 53: Hoare triple {4768#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {4768#false} is VALID [2018-11-23 11:06:54,249 INFO L273 TraceCheckUtils]: 54: Hoare triple {4768#false} ~cond := #in~cond; {4768#false} is VALID [2018-11-23 11:06:54,249 INFO L273 TraceCheckUtils]: 55: Hoare triple {4768#false} assume 0bv32 == ~cond; {4768#false} is VALID [2018-11-23 11:06:54,250 INFO L273 TraceCheckUtils]: 56: Hoare triple {4768#false} assume !false; {4768#false} is VALID [2018-11-23 11:06:54,261 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 25 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 11:06:54,262 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:06:54,442 WARN L180 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 34 [2018-11-23 11:07:00,996 INFO L273 TraceCheckUtils]: 56: Hoare triple {4768#false} assume !false; {4768#false} is VALID [2018-11-23 11:07:00,996 INFO L273 TraceCheckUtils]: 55: Hoare triple {4768#false} assume 0bv32 == ~cond; {4768#false} is VALID [2018-11-23 11:07:00,996 INFO L273 TraceCheckUtils]: 54: Hoare triple {4768#false} ~cond := #in~cond; {4768#false} is VALID [2018-11-23 11:07:00,997 INFO L256 TraceCheckUtils]: 53: Hoare triple {4768#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {4768#false} is VALID [2018-11-23 11:07:00,997 INFO L273 TraceCheckUtils]: 52: Hoare triple {4768#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {4768#false} is VALID [2018-11-23 11:07:00,998 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} {4970#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} #119#return; {4768#false} is VALID [2018-11-23 11:07:00,999 INFO L273 TraceCheckUtils]: 50: Hoare triple {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} assume true; {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:07:01,000 INFO L273 TraceCheckUtils]: 49: Hoare triple {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} #res.base, #res.offset := ~l.base, ~l.offset; {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:07:01,000 INFO L273 TraceCheckUtils]: 48: Hoare triple {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:07:01,001 INFO L273 TraceCheckUtils]: 47: Hoare triple {4987#(or |search_list_#t~short29| (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !#t~short29; {4974#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:07:01,004 INFO L273 TraceCheckUtils]: 46: Hoare triple {4991#(and (or (not (= (_ bv0 32) search_list_~l.offset)) (not (= search_list_~l.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) search_list_~l.offset)) (not (= search_list_~l.base (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {4987#(or |search_list_#t~short29| (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,006 INFO L273 TraceCheckUtils]: 45: Hoare triple {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {4991#(and (or (not (= (_ bv0 32) search_list_~l.offset)) (not (= search_list_~l.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) search_list_~l.offset)) (not (= search_list_~l.base (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))))} is VALID [2018-11-23 11:07:01,007 INFO L273 TraceCheckUtils]: 44: Hoare triple {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:07:01,024 INFO L273 TraceCheckUtils]: 43: Hoare triple {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:07:01,040 INFO L273 TraceCheckUtils]: 42: Hoare triple {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {4995#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:07:01,057 INFO L273 TraceCheckUtils]: 41: Hoare triple {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,072 INFO L273 TraceCheckUtils]: 40: Hoare triple {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,081 INFO L273 TraceCheckUtils]: 39: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {5005#(and (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| search_list_~l.base) (bvadd search_list_~l.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,082 INFO L256 TraceCheckUtils]: 38: Hoare triple {4970#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {4767#true} is VALID [2018-11-23 11:07:01,082 INFO L273 TraceCheckUtils]: 37: Hoare triple {4970#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {4970#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,084 INFO L273 TraceCheckUtils]: 36: Hoare triple {5021#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (and (= main_~mylist~0.base (_ bv0 32)) (= main_~mylist~0.offset (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {4970#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,086 INFO L273 TraceCheckUtils]: 35: Hoare triple {5025#(or (and (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {5021#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (and (= main_~mylist~0.base (_ bv0 32)) (= main_~mylist~0.offset (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,089 INFO L273 TraceCheckUtils]: 34: Hoare triple {5029#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {5025#(or (and (= (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,091 INFO L273 TraceCheckUtils]: 33: Hoare triple {4767#true} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {5029#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~mylist~0.base) (bvadd main_~mylist~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:01,091 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4767#true} {4767#true} #117#return; {4767#true} is VALID [2018-11-23 11:07:01,091 INFO L273 TraceCheckUtils]: 31: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:07:01,091 INFO L273 TraceCheckUtils]: 30: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:07:01,091 INFO L273 TraceCheckUtils]: 29: Hoare triple {4767#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:07:01,091 INFO L273 TraceCheckUtils]: 28: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L256 TraceCheckUtils]: 27: Hoare triple {4767#true} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L273 TraceCheckUtils]: 26: Hoare triple {4767#true} havoc #t~ret38; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4767#true} {4767#true} #115#return; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L273 TraceCheckUtils]: 24: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L273 TraceCheckUtils]: 23: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L273 TraceCheckUtils]: 22: Hoare triple {4767#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L273 TraceCheckUtils]: 21: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:07:01,092 INFO L256 TraceCheckUtils]: 20: Hoare triple {4767#true} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 19: Hoare triple {4767#true} havoc #t~ret37; {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4767#true} {4767#true} #113#return; {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 17: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 16: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 15: Hoare triple {4767#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 14: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L256 TraceCheckUtils]: 13: Hoare triple {4767#true} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {4767#true} is VALID [2018-11-23 11:07:01,093 INFO L273 TraceCheckUtils]: 12: Hoare triple {4767#true} havoc #t~ret36; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {4767#true} {4767#true} #111#return; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L273 TraceCheckUtils]: 10: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L273 TraceCheckUtils]: 9: Hoare triple {4767#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L273 TraceCheckUtils]: 8: Hoare triple {4767#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L273 TraceCheckUtils]: 7: Hoare triple {4767#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L256 TraceCheckUtils]: 6: Hoare triple {4767#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L273 TraceCheckUtils]: 5: Hoare triple {4767#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {4767#true} is VALID [2018-11-23 11:07:01,094 INFO L256 TraceCheckUtils]: 4: Hoare triple {4767#true} call #t~ret45 := main(); {4767#true} is VALID [2018-11-23 11:07:01,095 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4767#true} {4767#true} #125#return; {4767#true} is VALID [2018-11-23 11:07:01,095 INFO L273 TraceCheckUtils]: 2: Hoare triple {4767#true} assume true; {4767#true} is VALID [2018-11-23 11:07:01,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {4767#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4767#true} is VALID [2018-11-23 11:07:01,095 INFO L256 TraceCheckUtils]: 0: Hoare triple {4767#true} call ULTIMATE.init(); {4767#true} is VALID [2018-11-23 11:07:01,106 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 5 proven. 10 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2018-11-23 11:07:01,108 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:07:01,108 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 26 [2018-11-23 11:07:01,109 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 57 [2018-11-23 11:07:01,109 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:07:01,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 11:07:01,255 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:07:01,255 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 11:07:01,255 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 11:07:01,256 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=542, Unknown=0, NotChecked=0, Total=650 [2018-11-23 11:07:01,256 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 26 states. [2018-11-23 11:07:07,901 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 32 DAG size of output: 31 [2018-11-23 11:07:09,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:07:09,274 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2018-11-23 11:07:09,274 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 11:07:09,275 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 57 [2018-11-23 11:07:09,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:07:09,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 11:07:09,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2018-11-23 11:07:09,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 11:07:09,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2018-11-23 11:07:09,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 69 transitions. [2018-11-23 11:07:09,525 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:07:09,527 INFO L225 Difference]: With dead ends: 65 [2018-11-23 11:07:09,527 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 11:07:09,528 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 316 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=282, Invalid=1358, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 11:07:09,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 11:07:09,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2018-11-23 11:07:09,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:07:09,782 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 51 states. [2018-11-23 11:07:09,782 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 51 states. [2018-11-23 11:07:09,783 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 51 states. [2018-11-23 11:07:09,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:07:09,784 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2018-11-23 11:07:09,784 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2018-11-23 11:07:09,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:07:09,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:07:09,785 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 52 states. [2018-11-23 11:07:09,785 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 52 states. [2018-11-23 11:07:09,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:07:09,786 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2018-11-23 11:07:09,786 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2018-11-23 11:07:09,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:07:09,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:07:09,787 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:07:09,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:07:09,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 11:07:09,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 56 transitions. [2018-11-23 11:07:09,789 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 56 transitions. Word has length 57 [2018-11-23 11:07:09,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:07:09,789 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 56 transitions. [2018-11-23 11:07:09,789 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 11:07:09,789 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2018-11-23 11:07:09,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 11:07:09,790 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:07:09,790 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:07:09,790 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:07:09,790 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:07:09,791 INFO L82 PathProgramCache]: Analyzing trace with hash 687391449, now seen corresponding path program 4 times [2018-11-23 11:07:09,791 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:07:09,791 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:07:09,810 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 11:07:10,008 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 11:07:10,008 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:07:10,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:07:10,093 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:07:10,175 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 11:07:10,180 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,191 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,192 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-23 11:07:10,197 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:07:10,197 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_130|]. (and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |#valid| (store |v_#valid_130| insert_list_~l.base (_ bv1 1)))) [2018-11-23 11:07:10,197 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= (select |#valid| insert_list_~l.base) (_ bv1 1))) [2018-11-23 11:07:10,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:07:10,280 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 10 treesize of output 9 [2018-11-23 11:07:10,282 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,287 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,298 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,299 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 11:07:10,553 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 13 treesize of output 10 [2018-11-23 11:07:10,563 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 10 treesize of output 9 [2018-11-23 11:07:10,565 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,573 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:10,638 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:10,648 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:10,714 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:10,714 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:60, output treesize:44 [2018-11-23 11:07:12,808 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 32 [2018-11-23 11:07:14,923 WARN L180 SmtUtils]: Spent 2.04 s on a formula simplification that was a NOOP. DAG size: 32 [2018-11-23 11:07:15,000 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:15,003 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:15,004 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 21 [2018-11-23 11:07:15,010 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:15,112 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 34 [2018-11-23 11:07:15,121 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 13 treesize of output 16 [2018-11-23 11:07:15,133 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:15,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:07:15,139 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:15,155 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:15,178 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:15,232 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:15,232 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:65, output treesize:65 [2018-11-23 11:07:15,247 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:07:15,248 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_10|, v_DerPreprocessor_18, |v_old(~head~0.base)_AFTER_CALL_91|, |v_old(#valid)_AFTER_CALL_91|]. (let ((.cse0 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse0))) (and (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_91| |v_old(~head~0.base)_AFTER_CALL_91|)) (= (select |v_old(#valid)_AFTER_CALL_91| ~head~0.base) (_ bv0 1)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_BEFORE_CALL_10| ~head~0.base (store (store (select |v_#memory_$Pointer$.base_BEFORE_CALL_10| ~head~0.base) ~head~0.offset v_DerPreprocessor_18) .cse0 |v_old(~head~0.base)_AFTER_CALL_91|))) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) .cse1) (not (= ~head~0.base (_ bv0 32))) (= (store |v_old(#valid)_AFTER_CALL_91| ~head~0.base (_ bv1 1)) |#valid|) (not (= (_ bv0 32) (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_10| |v_old(~head~0.base)_AFTER_CALL_91|) (bvadd .cse1 (_ bv4 32)))))))) [2018-11-23 11:07:15,248 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.base| ~head~0.base) .cse2)) (.cse0 (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse2))) (and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) .cse0) (not (= ~head~0.base .cse1)) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| .cse1)) (not (= (select (select |#memory_$Pointer$.base| .cse1) (bvadd .cse0 (_ bv4 32))) (_ bv0 32)))))) [2018-11-23 11:07:15,526 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 11:07:15,544 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 11:07:15,641 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:15,655 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:15,712 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:07:15,713 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:65, output treesize:41 [2018-11-23 11:07:25,885 WARN L180 SmtUtils]: Spent 4.04 s on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 11:07:32,044 WARN L180 SmtUtils]: Spent 4.05 s on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 11:07:32,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,106 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 21 [2018-11-23 11:07:32,116 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,242 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 69 [2018-11-23 11:07:32,252 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 28 treesize of output 27 [2018-11-23 11:07:32,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 31 [2018-11-23 11:07:32,299 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,432 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,620 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,862 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,880 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 42 treesize of output 55 [2018-11-23 11:07:32,890 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 13 treesize of output 16 [2018-11-23 11:07:32,901 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:07:32,906 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:07:32,908 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,924 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:32,951 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:33,018 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:07:33,018 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 6 variables, input treesize:92, output treesize:100 [2018-11-23 11:07:33,050 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:07:33,051 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_12|, v_DerPreprocessor_22, v_~head~0.base_BEFORE_CALL_33, |v_#memory_$Pointer$.offset_BEFORE_CALL_2|, v_DerPreprocessor_20, |v_old(#valid)_AFTER_CALL_92|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_2| v_~head~0.base_BEFORE_CALL_33) (_ bv4 32))) (.cse2 (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_12| v_~head~0.base_BEFORE_CALL_33) (_ bv4 32))) (.cse1 (bvadd ~head~0.offset (_ bv4 32)))) (and (= (_ bv0 32) .cse0) (= (store |v_#memory_$Pointer$.offset_BEFORE_CALL_2| ~head~0.base (store (store (select |v_#memory_$Pointer$.offset_BEFORE_CALL_2| ~head~0.base) ~head~0.offset v_DerPreprocessor_20) .cse1 (_ bv0 32))) |#memory_$Pointer$.offset|) (= (select |v_old(#valid)_AFTER_CALL_92| ~head~0.base) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_92| .cse2)) (not (= (_ bv0 32) (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_12| .cse2) (bvadd .cse0 (_ bv4 32))))) (not (= v_~head~0.base_BEFORE_CALL_33 .cse2)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_BEFORE_CALL_12| ~head~0.base (store (store (select |v_#memory_$Pointer$.base_BEFORE_CALL_12| ~head~0.base) ~head~0.offset v_DerPreprocessor_22) .cse1 v_~head~0.base_BEFORE_CALL_33))) (not (= v_~head~0.base_BEFORE_CALL_33 (_ bv0 32))) (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_92| v_~head~0.base_BEFORE_CALL_33)))) [2018-11-23 11:07:33,051 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (bvadd ~head~0.offset (_ bv4 32)))) (let ((.cse3 (select (select |#memory_$Pointer$.base| ~head~0.base) .cse2))) (let ((.cse1 (select (select |#memory_$Pointer$.offset| .cse3) (_ bv4 32))) (.cse0 (select (select |#memory_$Pointer$.base| .cse3) (_ bv4 32)))) (and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| .cse0) (bvadd .cse1 (_ bv4 32))) (_ bv0 32))) (= .cse1 (_ bv0 32)) (not (= .cse0 ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) .cse2)) (not (= .cse0 .cse3)) (not (= (_ bv0 32) .cse3)))))) [2018-11-23 11:07:34,798 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 31 [2018-11-23 11:07:34,811 INFO L256 TraceCheckUtils]: 0: Hoare triple {5432#true} call ULTIMATE.init(); {5432#true} is VALID [2018-11-23 11:07:34,811 INFO L273 TraceCheckUtils]: 1: Hoare triple {5432#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5432#true} is VALID [2018-11-23 11:07:34,811 INFO L273 TraceCheckUtils]: 2: Hoare triple {5432#true} assume true; {5432#true} is VALID [2018-11-23 11:07:34,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5432#true} {5432#true} #125#return; {5432#true} is VALID [2018-11-23 11:07:34,812 INFO L256 TraceCheckUtils]: 4: Hoare triple {5432#true} call #t~ret45 := main(); {5432#true} is VALID [2018-11-23 11:07:34,812 INFO L273 TraceCheckUtils]: 5: Hoare triple {5432#true} havoc ~i~0;~mylist~0.base, ~mylist~0.offset := 0bv32, 0bv32;havoc ~temp~0.base, ~temp~0.offset; {5432#true} is VALID [2018-11-23 11:07:34,812 INFO L256 TraceCheckUtils]: 6: Hoare triple {5432#true} call #t~ret36 := insert_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {5432#true} is VALID [2018-11-23 11:07:34,813 INFO L273 TraceCheckUtils]: 7: Hoare triple {5432#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {5458#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:07:34,813 INFO L273 TraceCheckUtils]: 8: Hoare triple {5458#(not (= (_ bv0 32) insert_list_~l.base))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {5458#(not (= (_ bv0 32) insert_list_~l.base))} is VALID [2018-11-23 11:07:34,814 INFO L273 TraceCheckUtils]: 9: Hoare triple {5458#(not (= (_ bv0 32) insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5465#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:07:34,814 INFO L273 TraceCheckUtils]: 10: Hoare triple {5465#(not (= ~head~0.base (_ bv0 32)))} assume true; {5465#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:07:34,815 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {5465#(not (= ~head~0.base (_ bv0 32)))} {5432#true} #111#return; {5465#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:07:34,815 INFO L273 TraceCheckUtils]: 12: Hoare triple {5465#(not (= ~head~0.base (_ bv0 32)))} havoc #t~ret36; {5465#(not (= ~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:07:34,816 INFO L256 TraceCheckUtils]: 13: Hoare triple {5465#(not (= ~head~0.base (_ bv0 32)))} call #t~ret37 := insert_list(~mylist~0.base, ~mylist~0.offset, 5bv32); {5478#(= |old(~head~0.base)| ~head~0.base)} is VALID [2018-11-23 11:07:34,817 INFO L273 TraceCheckUtils]: 14: Hoare triple {5478#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {5482#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:07:34,820 INFO L273 TraceCheckUtils]: 15: Hoare triple {5482#(and (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {5486#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} is VALID [2018-11-23 11:07:34,822 INFO L273 TraceCheckUtils]: 16: Hoare triple {5486#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32)))) (= (bvadd (select |#valid| insert_list_~l.base) (_ bv1 1)) (_ bv0 1)) (= insert_list_~l.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5490#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:07:34,823 INFO L273 TraceCheckUtils]: 17: Hoare triple {5490#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} assume true; {5490#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:07:34,824 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {5490#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)))} {5465#(not (= ~head~0.base (_ bv0 32)))} #113#return; {5497#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,824 INFO L273 TraceCheckUtils]: 19: Hoare triple {5497#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret37; {5497#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,825 INFO L256 TraceCheckUtils]: 20: Hoare triple {5497#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} call #t~ret38 := insert_list(~mylist~0.base, ~mylist~0.offset, 1bv32); {5504#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:07:34,827 INFO L273 TraceCheckUtils]: 21: Hoare triple {5504#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {5508#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (not (= (_ bv0 32) insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |#valid| (store |old(#valid)| insert_list_~l.base (_ bv1 1))))} is VALID [2018-11-23 11:07:34,834 INFO L273 TraceCheckUtils]: 22: Hoare triple {5508#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (not (= (_ bv0 32) insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |#valid| (store |old(#valid)| insert_list_~l.base (_ bv1 1))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {5512#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (not (= (_ bv0 32) insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|) (= |#valid| (store |old(#valid)| insert_list_~l.base (_ bv1 1))) (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_18) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))))} is VALID [2018-11-23 11:07:34,835 INFO L273 TraceCheckUtils]: 23: Hoare triple {5512#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (not (= (_ bv0 32) insert_list_~l.base)) (= insert_list_~l.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd insert_list_~l.offset (_ bv4 32))) |old(~head~0.offset)|) (= |#valid| (store |old(#valid)| insert_list_~l.base (_ bv1 1))) (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_18) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5516#(and (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_18) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))) (= |#valid| (store |old(#valid)| ~head~0.base (_ bv1 1))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:07:34,837 INFO L273 TraceCheckUtils]: 24: Hoare triple {5516#(and (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_18) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))) (= |#valid| (store |old(#valid)| ~head~0.base (_ bv1 1))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (not (= ~head~0.base (_ bv0 32))))} assume true; {5516#(and (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_18) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))) (= |#valid| (store |old(#valid)| ~head~0.base (_ bv1 1))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (not (= ~head~0.base (_ bv0 32))))} is VALID [2018-11-23 11:07:34,842 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {5516#(and (exists ((v_DerPreprocessor_18 (_ BitVec 32))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_18) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)))) (= |#valid| (store |old(#valid)| ~head~0.base (_ bv1 1))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) |old(~head~0.offset)|) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)) (not (= ~head~0.base (_ bv0 32))))} {5497#(and (= (bvadd (select |#valid| ~head~0.base) (_ bv1 1)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #115#return; {5523#(and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:34,843 INFO L273 TraceCheckUtils]: 26: Hoare triple {5523#(and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} havoc #t~ret38; {5523#(and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:07:34,845 INFO L256 TraceCheckUtils]: 27: Hoare triple {5523#(and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} call #t~ret39 := insert_list(~mylist~0.base, ~mylist~0.offset, 3bv32); {5530#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:07:34,846 INFO L273 TraceCheckUtils]: 28: Hoare triple {5530#(and (= |#valid| |old(#valid)|) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc35.base, #t~malloc35.offset := #Ultimate.alloc(8bv32);~l.base, ~l.offset := #t~malloc35.base, #t~malloc35.offset; {5534#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:07:34,856 INFO L273 TraceCheckUtils]: 29: Hoare triple {5534#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (= ~head~0.offset |old(~head~0.offset)|) (= |old(~head~0.base)| ~head~0.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= insert_list_~l.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {5538#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.offset)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_20) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_22) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)))} is VALID [2018-11-23 11:07:34,858 INFO L273 TraceCheckUtils]: 30: Hoare triple {5538#(and (= (_ bv0 1) (select |old(#valid)| insert_list_~l.base)) (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.offset)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_20) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= insert_list_~l.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (store (store (select |old(#memory_$Pointer$.base)| insert_list_~l.base) insert_list_~l.offset v_DerPreprocessor_22) (bvadd insert_list_~l.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5542#(and (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base (store (store (select |old(#memory_$Pointer$.offset)| ~head~0.base) ~head~0.offset v_DerPreprocessor_20) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= ~head~0.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_22) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:07:34,860 INFO L273 TraceCheckUtils]: 31: Hoare triple {5542#(and (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base (store (store (select |old(#memory_$Pointer$.offset)| ~head~0.base) ~head~0.offset v_DerPreprocessor_20) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= ~head~0.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_22) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)))} assume true; {5542#(and (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base (store (store (select |old(#memory_$Pointer$.offset)| ~head~0.base) ~head~0.offset v_DerPreprocessor_20) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= ~head~0.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_22) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:07:34,870 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {5542#(and (exists ((v_DerPreprocessor_20 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base (store (store (select |old(#memory_$Pointer$.offset)| ~head~0.base) ~head~0.offset v_DerPreprocessor_20) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.offset)|)) |#memory_$Pointer$.offset|)) (= ~head~0.offset (_ bv0 32)) (exists ((v_DerPreprocessor_22 (_ BitVec 32))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (store (store (select |old(#memory_$Pointer$.base)| ~head~0.base) ~head~0.offset v_DerPreprocessor_22) (bvadd ~head~0.offset (_ bv4 32)) |old(~head~0.base)|)) |#memory_$Pointer$.base|)) (= (select |old(#valid)| ~head~0.base) (_ bv0 1)))} {5523#(and (= (_ bv1 1) (select |#valid| ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= ~head~0.base (_ bv0 32))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} #117#return; {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,871 INFO L273 TraceCheckUtils]: 33: Hoare triple {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} havoc #t~ret39;~mylist~0.base, ~mylist~0.offset := ~head~0.base, ~head~0.offset; {5553#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.base ~head~0.base))} is VALID [2018-11-23 11:07:34,874 INFO L273 TraceCheckUtils]: 34: Hoare triple {5553#(and (= ~head~0.offset main_~mylist~0.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.base ~head~0.base))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {5557#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:07:34,875 INFO L273 TraceCheckUtils]: 35: Hoare triple {5557#(and (= main_~mylist~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= main_~mylist~0.offset (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,878 INFO L273 TraceCheckUtils]: 36: Hoare triple {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !!(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32);call #t~mem40.base, #t~mem40.offset := read~$Pointer$(~mylist~0.base, ~bvadd32(4bv32, ~mylist~0.offset), 4bv32);~mylist~0.base, ~mylist~0.offset := #t~mem40.base, #t~mem40.offset;havoc #t~mem40.base, #t~mem40.offset; {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,880 INFO L273 TraceCheckUtils]: 37: Hoare triple {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !(~mylist~0.base != 0bv32 || ~mylist~0.offset != 0bv32); {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,880 INFO L256 TraceCheckUtils]: 38: Hoare triple {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} call #t~ret41.base, #t~ret41.offset := search_list(~mylist~0.base, ~mylist~0.offset, 2bv32); {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,881 INFO L273 TraceCheckUtils]: 39: Hoare triple {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;~l.base, ~l.offset := ~head~0.base, ~head~0.offset; {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:07:34,883 INFO L273 TraceCheckUtils]: 40: Hoare triple {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:07:34,885 INFO L273 TraceCheckUtils]: 41: Hoare triple {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} is VALID [2018-11-23 11:07:34,888 INFO L273 TraceCheckUtils]: 42: Hoare triple {5573#(and (= ~head~0.offset search_list_~l.offset) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base ~head~0.base))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:07:34,890 INFO L273 TraceCheckUtils]: 43: Hoare triple {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:07:34,893 INFO L273 TraceCheckUtils]: 44: Hoare triple {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:07:34,898 INFO L273 TraceCheckUtils]: 45: Hoare triple {5583#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) search_list_~l.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (= search_list_~l.base (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,900 INFO L273 TraceCheckUtils]: 46: Hoare triple {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,901 INFO L273 TraceCheckUtils]: 47: Hoare triple {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume #t~short29;call #t~mem28 := read~intINTTYPE4(~l.base, ~l.offset, 4bv32);#t~short29 := #t~mem28 != ~k; {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,903 INFO L273 TraceCheckUtils]: 48: Hoare triple {5593#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) search_list_~l.base) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (= search_list_~l.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !!#t~short29;havoc #t~short29;havoc #t~mem28;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32);~l.base, ~l.offset := #t~mem30.base, #t~mem30.offset;havoc #t~mem30.base, #t~mem30.offset; {5603#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= search_list_~l.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,905 INFO L273 TraceCheckUtils]: 49: Hoare triple {5603#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= search_list_~l.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #t~short29 := ~l.base != 0bv32 || ~l.offset != 0bv32; {5607#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:07:34,906 INFO L273 TraceCheckUtils]: 50: Hoare triple {5607#(and |search_list_#t~short29| (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} assume !#t~short29; {5433#false} is VALID [2018-11-23 11:07:34,906 INFO L273 TraceCheckUtils]: 51: Hoare triple {5433#false} assume !#t~short29;havoc #t~short29;havoc #t~mem28; {5433#false} is VALID [2018-11-23 11:07:34,907 INFO L273 TraceCheckUtils]: 52: Hoare triple {5433#false} #res.base, #res.offset := ~l.base, ~l.offset; {5433#false} is VALID [2018-11-23 11:07:34,907 INFO L273 TraceCheckUtils]: 53: Hoare triple {5433#false} assume true; {5433#false} is VALID [2018-11-23 11:07:34,907 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5433#false} {5549#(and (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv4 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) ~head~0.base)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32)))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd ~head~0.offset (_ bv4 32))))))} #119#return; {5433#false} is VALID [2018-11-23 11:07:34,907 INFO L273 TraceCheckUtils]: 55: Hoare triple {5433#false} ~temp~0.base, ~temp~0.offset := #t~ret41.base, #t~ret41.offset;havoc #t~ret41.base, #t~ret41.offset;call #t~mem42 := read~intINTTYPE4(~temp~0.base, ~temp~0.offset, 4bv32); {5433#false} is VALID [2018-11-23 11:07:34,908 INFO L256 TraceCheckUtils]: 56: Hoare triple {5433#false} call __VERIFIER_assert((if 2bv32 == #t~mem42 then 1bv32 else 0bv32)); {5433#false} is VALID [2018-11-23 11:07:34,908 INFO L273 TraceCheckUtils]: 57: Hoare triple {5433#false} ~cond := #in~cond; {5433#false} is VALID [2018-11-23 11:07:34,908 INFO L273 TraceCheckUtils]: 58: Hoare triple {5433#false} assume 0bv32 == ~cond; {5433#false} is VALID [2018-11-23 11:07:34,908 INFO L273 TraceCheckUtils]: 59: Hoare triple {5433#false} assume !false; {5433#false} is VALID [2018-11-23 11:07:34,929 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 17 proven. 36 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 11:07:34,929 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:07:35,114 WARN L180 SmtUtils]: Spent 181.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 40 [2018-11-23 11:07:41,125 WARN L180 SmtUtils]: Spent 273.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:07:41,447 WARN L180 SmtUtils]: Spent 321.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:07:42,016 WARN L180 SmtUtils]: Spent 565.00 ms on a formula simplification that was a NOOP. DAG size: 65 [2018-11-23 11:07:42,422 WARN L180 SmtUtils]: Spent 404.00 ms on a formula simplification that was a NOOP. DAG size: 55 [2018-11-23 11:07:44,340 WARN L180 SmtUtils]: Spent 294.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 11:07:44,550 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:07:44,551 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.classInvariant(MultiDimensionalSelect.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.(MultiDimensionalSelect.java:90) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.isCompatibleSelect(MultiDimensionalStore.java:105) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.(MultiDimensionalStore.java:73) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.(MultiDimensionalSelectOverStore.java:48) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.convert(MultiDimensionalSelectOverStore.java:75) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ArrayQuantifierEliminationUtils.elimAllSos(ArrayQuantifierEliminationUtils.java:57) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:232) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:290) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) 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 11:07:44,555 INFO L168 Benchmark]: Toolchain (without parser) took 148226.78 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 2.1 GB in the end (delta: -648.9 MB). Peak memory consumption was 442.6 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:44,556 INFO L168 Benchmark]: CDTParser took 0.26 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 11:07:44,556 INFO L168 Benchmark]: CACSL2BoogieTranslator took 990.07 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 737.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -756.8 MB). Peak memory consumption was 52.0 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:44,557 INFO L168 Benchmark]: Boogie Procedure Inliner took 42.42 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:07:44,558 INFO L168 Benchmark]: Boogie Preprocessor took 65.98 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:07:44,558 INFO L168 Benchmark]: RCFGBuilder took 1125.36 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 48.5 MB). Peak memory consumption was 48.5 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:44,558 INFO L168 Benchmark]: TraceAbstraction took 145998.00 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 354.4 MB). Free memory was 2.1 GB in the beginning and 2.1 GB in the end (delta: 59.4 MB). Peak memory consumption was 413.8 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:44,561 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.26 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 990.07 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 737.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -756.8 MB). Peak memory consumption was 52.0 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 42.42 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 65.98 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 1125.36 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 48.5 MB). Peak memory consumption was 48.5 MB. Max. memory is 7.1 GB. * TraceAbstraction took 145998.00 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 354.4 MB). Free memory was 2.1 GB in the beginning and 2.1 GB in the end (delta: 59.4 MB). Peak memory consumption was 413.8 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...