./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -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 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 573d04c3ab16ffed1ccac6c6179d92b670a825d7 .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 18:08:55,699 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 18:08:55,702 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 18:08:55,720 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 18:08:55,720 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 18:08:55,723 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 18:08:55,725 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 18:08:55,737 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 18:08:55,741 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 18:08:55,743 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 18:08:55,744 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 18:08:55,746 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 18:08:55,747 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 18:08:55,750 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 18:08:55,752 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 18:08:55,753 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 18:08:55,756 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 18:08:55,758 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 18:08:55,761 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 18:08:55,765 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 18:08:55,770 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 18:08:55,774 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 18:08:55,776 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 18:08:55,777 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 18:08:55,780 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 18:08:55,780 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 18:08:55,780 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 18:08:55,782 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 18:08:55,783 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 18:08:55,784 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 18:08:55,784 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 18:08:55,785 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 18:08:55,786 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 18:08:55,787 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 18:08:55,789 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 18:08:55,789 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 18:08:55,790 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 18:08:55,790 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 18:08:55,790 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 18:08:55,791 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 18:08:55,793 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 18:08:55,794 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 18:08:55,825 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 18:08:55,826 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 18:08:55,828 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 18:08:55,828 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 18:08:55,828 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 18:08:55,829 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 18:08:55,829 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 18:08:55,829 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 18:08:55,830 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 18:08:55,830 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 18:08:55,831 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 18:08:55,831 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 18:08:55,832 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 18:08:55,832 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 18:08:55,833 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 18:08:55,833 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 18:08:55,833 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 18:08:55,833 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 18:08:55,834 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 18:08:55,834 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 18:08:55,834 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 18:08:55,834 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 18:08:55,835 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 18:08:55,835 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 18:08:55,835 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 18:08:55,836 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 18:08:55,836 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 18:08:55,836 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 18:08:55,836 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 18:08:55,837 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 573d04c3ab16ffed1ccac6c6179d92b670a825d7 [2020-07-28 18:08:56,167 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 18:08:56,181 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 18:08:56,184 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 18:08:56,186 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 18:08:56,187 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 18:08:56,188 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i [2020-07-28 18:08:56,260 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0418330eb/6057940df6254f9fb2eddf7ea3ac1cba/FLAG02a54ecb3 [2020-07-28 18:08:56,812 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 18:08:56,813 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i [2020-07-28 18:08:56,829 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0418330eb/6057940df6254f9fb2eddf7ea3ac1cba/FLAG02a54ecb3 [2020-07-28 18:08:57,087 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0418330eb/6057940df6254f9fb2eddf7ea3ac1cba [2020-07-28 18:08:57,090 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 18:08:57,095 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 18:08:57,096 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 18:08:57,096 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 18:08:57,100 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 18:08:57,101 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,105 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2c24cc25 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57, skipping insertion in model container [2020-07-28 18:08:57,105 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,114 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 18:08:57,169 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 18:08:57,565 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 18:08:57,583 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 18:08:57,641 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 18:08:57,700 INFO L208 MainTranslator]: Completed translation [2020-07-28 18:08:57,701 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57 WrapperNode [2020-07-28 18:08:57,701 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 18:08:57,702 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 18:08:57,702 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 18:08:57,702 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 18:08:57,711 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,728 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,763 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 18:08:57,764 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 18:08:57,764 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 18:08:57,764 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 18:08:57,775 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,775 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,779 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,780 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,793 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,800 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,802 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (1/1) ... [2020-07-28 18:08:57,806 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 18:08:57,806 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 18:08:57,807 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 18:08:57,807 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 18:08:57,808 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (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 [2020-07-28 18:08:57,879 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-28 18:08:57,880 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-28 18:08:57,880 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-28 18:08:57,880 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-28 18:08:57,880 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-28 18:08:57,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 18:08:57,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 18:08:57,881 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 18:08:58,410 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 18:08:58,410 INFO L295 CfgBuilder]: Removed 11 assume(true) statements. [2020-07-28 18:08:58,414 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 06:08:58 BoogieIcfgContainer [2020-07-28 18:08:58,415 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 18:08:58,416 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 18:08:58,416 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 18:08:58,419 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 18:08:58,420 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 06:08:57" (1/3) ... [2020-07-28 18:08:58,421 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@596414a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 06:08:58, skipping insertion in model container [2020-07-28 18:08:58,421 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 06:08:57" (2/3) ... [2020-07-28 18:08:58,422 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@596414a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 06:08:58, skipping insertion in model container [2020-07-28 18:08:58,422 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 06:08:58" (3/3) ... [2020-07-28 18:08:58,424 INFO L109 eAbstractionObserver]: Analyzing ICFG dll_nullified-1.i [2020-07-28 18:08:58,435 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 18:08:58,445 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 18:08:58,461 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 18:08:58,482 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 18:08:58,482 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 18:08:58,482 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 18:08:58,482 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 18:08:58,483 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 18:08:58,483 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 18:08:58,483 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 18:08:58,483 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 18:08:58,498 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states. [2020-07-28 18:08:58,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-28 18:08:58,505 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:08:58,505 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:08:58,506 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:08:58,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:08:58,512 INFO L82 PathProgramCache]: Analyzing trace with hash -1957812527, now seen corresponding path program 1 times [2020-07-28 18:08:58,523 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:08:58,524 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [345354994] [2020-07-28 18:08:58,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:08:58,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:08:58,660 INFO L280 TraceCheckUtils]: 0: Hoare triple {32#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {32#true} is VALID [2020-07-28 18:08:58,661 INFO L280 TraceCheckUtils]: 1: Hoare triple {32#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {32#true} is VALID [2020-07-28 18:08:58,662 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#true} assume !true; {33#false} is VALID [2020-07-28 18:08:58,663 INFO L280 TraceCheckUtils]: 3: Hoare triple {33#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {33#false} is VALID [2020-07-28 18:08:58,663 INFO L280 TraceCheckUtils]: 4: Hoare triple {33#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {33#false} is VALID [2020-07-28 18:08:58,664 INFO L280 TraceCheckUtils]: 5: Hoare triple {33#false} assume !true; {33#false} is VALID [2020-07-28 18:08:58,664 INFO L280 TraceCheckUtils]: 6: Hoare triple {33#false} assume !!(main_~head~1.base != 0 || main_~head~1.offset != 0);call main_#t~mem14.base, main_#t~mem14.offset := read~$Pointer$(main_~head~1.base, 12 + main_~head~1.offset, 4);main_~temp~0.base, main_~temp~0.offset := main_#t~mem14.base, main_#t~mem14.offset;havoc main_#t~mem14.base, main_#t~mem14.offset;call main_#t~mem15 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short17 := 0 != main_#t~mem15; {33#false} is VALID [2020-07-28 18:08:58,664 INFO L280 TraceCheckUtils]: 7: Hoare triple {33#false} assume main_#t~short17; {33#false} is VALID [2020-07-28 18:08:58,665 INFO L280 TraceCheckUtils]: 8: Hoare triple {33#false} main_#t~short19 := main_#t~short17; {33#false} is VALID [2020-07-28 18:08:58,665 INFO L280 TraceCheckUtils]: 9: Hoare triple {33#false} assume main_#t~short19; {33#false} is VALID [2020-07-28 18:08:58,665 INFO L280 TraceCheckUtils]: 10: Hoare triple {33#false} assume main_#t~short19;havoc main_#t~mem15;havoc main_#t~short17;havoc main_#t~short19;havoc main_#t~mem18;havoc main_#t~mem16; {33#false} is VALID [2020-07-28 18:08:58,666 INFO L280 TraceCheckUtils]: 11: Hoare triple {33#false} assume !false; {33#false} is VALID [2020-07-28 18:08:58,669 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:08:58,669 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [345354994] [2020-07-28 18:08:58,670 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 18:08:58,671 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-28 18:08:58,672 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1754676328] [2020-07-28 18:08:58,678 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 12 [2020-07-28 18:08:58,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:08:58,683 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-28 18:08:58,708 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:08:58,709 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-28 18:08:58,709 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:08:58,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-28 18:08:58,719 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 18:08:58,722 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 2 states. [2020-07-28 18:08:58,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:58,807 INFO L93 Difference]: Finished difference Result 48 states and 71 transitions. [2020-07-28 18:08:58,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-28 18:08:58,807 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 12 [2020-07-28 18:08:58,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:08:58,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 18:08:58,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2020-07-28 18:08:58,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 18:08:58,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2020-07-28 18:08:58,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2020-07-28 18:08:58,934 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:08:58,946 INFO L225 Difference]: With dead ends: 48 [2020-07-28 18:08:58,947 INFO L226 Difference]: Without dead ends: 24 [2020-07-28 18:08:58,950 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 18:08:58,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2020-07-28 18:08:58,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2020-07-28 18:08:58,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:08:58,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 24 states. [2020-07-28 18:08:58,986 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-28 18:08:58,987 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-28 18:08:58,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:58,990 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2020-07-28 18:08:58,991 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2020-07-28 18:08:58,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:08:58,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:08:58,992 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-28 18:08:58,992 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-28 18:08:58,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:58,996 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2020-07-28 18:08:58,996 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2020-07-28 18:08:58,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:08:58,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:08:58,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:08:58,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:08:58,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-28 18:08:59,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 33 transitions. [2020-07-28 18:08:59,010 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 33 transitions. Word has length 12 [2020-07-28 18:08:59,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:08:59,010 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 33 transitions. [2020-07-28 18:08:59,010 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-28 18:08:59,011 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2020-07-28 18:08:59,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-28 18:08:59,012 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:08:59,012 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:08:59,012 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 18:08:59,013 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:08:59,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:08:59,013 INFO L82 PathProgramCache]: Analyzing trace with hash 1580862863, now seen corresponding path program 1 times [2020-07-28 18:08:59,014 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:08:59,014 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [477158577] [2020-07-28 18:08:59,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:08:59,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:08:59,088 INFO L280 TraceCheckUtils]: 0: Hoare triple {170#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {170#true} is VALID [2020-07-28 18:08:59,089 INFO L280 TraceCheckUtils]: 1: Hoare triple {170#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {172#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,090 INFO L280 TraceCheckUtils]: 2: Hoare triple {172#(= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {171#false} is VALID [2020-07-28 18:08:59,090 INFO L280 TraceCheckUtils]: 3: Hoare triple {171#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {171#false} is VALID [2020-07-28 18:08:59,091 INFO L280 TraceCheckUtils]: 4: Hoare triple {171#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {171#false} is VALID [2020-07-28 18:08:59,091 INFO L280 TraceCheckUtils]: 5: Hoare triple {171#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {171#false} is VALID [2020-07-28 18:08:59,092 INFO L280 TraceCheckUtils]: 6: Hoare triple {171#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {171#false} is VALID [2020-07-28 18:08:59,092 INFO L280 TraceCheckUtils]: 7: Hoare triple {171#false} assume main_#t~short9; {171#false} is VALID [2020-07-28 18:08:59,093 INFO L280 TraceCheckUtils]: 8: Hoare triple {171#false} main_#t~short11 := main_#t~short9; {171#false} is VALID [2020-07-28 18:08:59,093 INFO L280 TraceCheckUtils]: 9: Hoare triple {171#false} assume main_#t~short11; {171#false} is VALID [2020-07-28 18:08:59,093 INFO L280 TraceCheckUtils]: 10: Hoare triple {171#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {171#false} is VALID [2020-07-28 18:08:59,093 INFO L280 TraceCheckUtils]: 11: Hoare triple {171#false} assume !false; {171#false} is VALID [2020-07-28 18:08:59,094 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:08:59,095 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [477158577] [2020-07-28 18:08:59,095 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 18:08:59,096 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-28 18:08:59,096 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1032295433] [2020-07-28 18:08:59,098 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 12 [2020-07-28 18:08:59,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:08:59,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-28 18:08:59,123 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:08:59,123 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-28 18:08:59,123 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:08:59,124 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-28 18:08:59,124 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 18:08:59,124 INFO L87 Difference]: Start difference. First operand 24 states and 33 transitions. Second operand 3 states. [2020-07-28 18:08:59,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:59,246 INFO L93 Difference]: Finished difference Result 46 states and 64 transitions. [2020-07-28 18:08:59,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-28 18:08:59,246 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 12 [2020-07-28 18:08:59,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:08:59,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 18:08:59,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2020-07-28 18:08:59,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 18:08:59,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2020-07-28 18:08:59,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2020-07-28 18:08:59,353 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:08:59,355 INFO L225 Difference]: With dead ends: 46 [2020-07-28 18:08:59,356 INFO L226 Difference]: Without dead ends: 31 [2020-07-28 18:08:59,358 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 18:08:59,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-28 18:08:59,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 25. [2020-07-28 18:08:59,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:08:59,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 25 states. [2020-07-28 18:08:59,366 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 25 states. [2020-07-28 18:08:59,367 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 25 states. [2020-07-28 18:08:59,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:59,374 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2020-07-28 18:08:59,374 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2020-07-28 18:08:59,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:08:59,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:08:59,376 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 31 states. [2020-07-28 18:08:59,376 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 31 states. [2020-07-28 18:08:59,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:08:59,379 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2020-07-28 18:08:59,380 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2020-07-28 18:08:59,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:08:59,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:08:59,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:08:59,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:08:59,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-28 18:08:59,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 34 transitions. [2020-07-28 18:08:59,392 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 34 transitions. Word has length 12 [2020-07-28 18:08:59,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:08:59,393 INFO L479 AbstractCegarLoop]: Abstraction has 25 states and 34 transitions. [2020-07-28 18:08:59,393 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-28 18:08:59,393 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 34 transitions. [2020-07-28 18:08:59,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-28 18:08:59,395 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:08:59,395 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:08:59,395 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 18:08:59,396 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:08:59,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:08:59,396 INFO L82 PathProgramCache]: Analyzing trace with hash -2031015874, now seen corresponding path program 1 times [2020-07-28 18:08:59,397 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:08:59,397 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [601402758] [2020-07-28 18:08:59,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:08:59,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:08:59,603 INFO L280 TraceCheckUtils]: 0: Hoare triple {321#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {321#true} is VALID [2020-07-28 18:08:59,605 INFO L280 TraceCheckUtils]: 1: Hoare triple {321#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,606 INFO L280 TraceCheckUtils]: 2: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,607 INFO L280 TraceCheckUtils]: 3: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,609 INFO L280 TraceCheckUtils]: 4: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,610 INFO L280 TraceCheckUtils]: 5: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,611 INFO L280 TraceCheckUtils]: 6: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,612 INFO L280 TraceCheckUtils]: 7: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {323#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,614 INFO L280 TraceCheckUtils]: 8: Hoare triple {323#(= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {324#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:08:59,616 INFO L280 TraceCheckUtils]: 9: Hoare triple {324#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {322#false} is VALID [2020-07-28 18:08:59,616 INFO L280 TraceCheckUtils]: 10: Hoare triple {322#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {322#false} is VALID [2020-07-28 18:08:59,616 INFO L280 TraceCheckUtils]: 11: Hoare triple {322#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {322#false} is VALID [2020-07-28 18:08:59,617 INFO L280 TraceCheckUtils]: 12: Hoare triple {322#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {322#false} is VALID [2020-07-28 18:08:59,617 INFO L280 TraceCheckUtils]: 13: Hoare triple {322#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {322#false} is VALID [2020-07-28 18:08:59,618 INFO L280 TraceCheckUtils]: 14: Hoare triple {322#false} assume main_#t~short9; {322#false} is VALID [2020-07-28 18:08:59,618 INFO L280 TraceCheckUtils]: 15: Hoare triple {322#false} main_#t~short11 := main_#t~short9; {322#false} is VALID [2020-07-28 18:08:59,619 INFO L280 TraceCheckUtils]: 16: Hoare triple {322#false} assume main_#t~short11; {322#false} is VALID [2020-07-28 18:08:59,619 INFO L280 TraceCheckUtils]: 17: Hoare triple {322#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {322#false} is VALID [2020-07-28 18:08:59,620 INFO L280 TraceCheckUtils]: 18: Hoare triple {322#false} assume !false; {322#false} is VALID [2020-07-28 18:08:59,628 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:08:59,629 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [601402758] [2020-07-28 18:08:59,629 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1027174228] [2020-07-28 18:08:59,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:08:59,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:08:59,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-28 18:08:59,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:08:59,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 18:09:00,004 INFO L280 TraceCheckUtils]: 0: Hoare triple {321#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {321#true} is VALID [2020-07-28 18:09:00,006 INFO L280 TraceCheckUtils]: 1: Hoare triple {321#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,007 INFO L280 TraceCheckUtils]: 2: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,008 INFO L280 TraceCheckUtils]: 3: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,009 INFO L280 TraceCheckUtils]: 4: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,010 INFO L280 TraceCheckUtils]: 5: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,011 INFO L280 TraceCheckUtils]: 6: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,011 INFO L280 TraceCheckUtils]: 7: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {331#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,013 INFO L280 TraceCheckUtils]: 8: Hoare triple {331#(<= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {324#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:00,018 INFO L280 TraceCheckUtils]: 9: Hoare triple {324#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {322#false} is VALID [2020-07-28 18:09:00,019 INFO L280 TraceCheckUtils]: 10: Hoare triple {322#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {322#false} is VALID [2020-07-28 18:09:00,019 INFO L280 TraceCheckUtils]: 11: Hoare triple {322#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {322#false} is VALID [2020-07-28 18:09:00,019 INFO L280 TraceCheckUtils]: 12: Hoare triple {322#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {322#false} is VALID [2020-07-28 18:09:00,020 INFO L280 TraceCheckUtils]: 13: Hoare triple {322#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {322#false} is VALID [2020-07-28 18:09:00,020 INFO L280 TraceCheckUtils]: 14: Hoare triple {322#false} assume main_#t~short9; {322#false} is VALID [2020-07-28 18:09:00,020 INFO L280 TraceCheckUtils]: 15: Hoare triple {322#false} main_#t~short11 := main_#t~short9; {322#false} is VALID [2020-07-28 18:09:00,021 INFO L280 TraceCheckUtils]: 16: Hoare triple {322#false} assume main_#t~short11; {322#false} is VALID [2020-07-28 18:09:00,021 INFO L280 TraceCheckUtils]: 17: Hoare triple {322#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {322#false} is VALID [2020-07-28 18:09:00,021 INFO L280 TraceCheckUtils]: 18: Hoare triple {322#false} assume !false; {322#false} is VALID [2020-07-28 18:09:00,024 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:00,024 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 18:09:00,024 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2020-07-28 18:09:00,025 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1279003287] [2020-07-28 18:09:00,026 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 19 [2020-07-28 18:09:00,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:00,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 18:09:00,080 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:00,080 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 18:09:00,080 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:00,081 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 18:09:00,081 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2020-07-28 18:09:00,081 INFO L87 Difference]: Start difference. First operand 25 states and 34 transitions. Second operand 5 states. [2020-07-28 18:09:00,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:00,272 INFO L93 Difference]: Finished difference Result 53 states and 73 transitions. [2020-07-28 18:09:00,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-28 18:09:00,272 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 19 [2020-07-28 18:09:00,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:00,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 18:09:00,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2020-07-28 18:09:00,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 18:09:00,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2020-07-28 18:09:00,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 73 transitions. [2020-07-28 18:09:00,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:00,430 INFO L225 Difference]: With dead ends: 53 [2020-07-28 18:09:00,430 INFO L226 Difference]: Without dead ends: 38 [2020-07-28 18:09:00,431 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2020-07-28 18:09:00,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2020-07-28 18:09:00,448 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 32. [2020-07-28 18:09:00,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:00,449 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 32 states. [2020-07-28 18:09:00,449 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 32 states. [2020-07-28 18:09:00,450 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 32 states. [2020-07-28 18:09:00,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:00,456 INFO L93 Difference]: Finished difference Result 38 states and 51 transitions. [2020-07-28 18:09:00,456 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 51 transitions. [2020-07-28 18:09:00,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:00,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:00,457 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 38 states. [2020-07-28 18:09:00,458 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 38 states. [2020-07-28 18:09:00,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:00,462 INFO L93 Difference]: Finished difference Result 38 states and 51 transitions. [2020-07-28 18:09:00,463 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 51 transitions. [2020-07-28 18:09:00,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:00,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:00,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:00,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:00,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 18:09:00,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 43 transitions. [2020-07-28 18:09:00,472 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 43 transitions. Word has length 19 [2020-07-28 18:09:00,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:00,472 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 43 transitions. [2020-07-28 18:09:00,473 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 18:09:00,473 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 43 transitions. [2020-07-28 18:09:00,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2020-07-28 18:09:00,475 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:00,475 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:00,691 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 18:09:00,691 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:00,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:00,692 INFO L82 PathProgramCache]: Analyzing trace with hash 1406565039, now seen corresponding path program 2 times [2020-07-28 18:09:00,692 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:00,692 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1769755731] [2020-07-28 18:09:00,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:00,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:00,788 INFO L280 TraceCheckUtils]: 0: Hoare triple {558#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {558#true} is VALID [2020-07-28 18:09:00,789 INFO L280 TraceCheckUtils]: 1: Hoare triple {558#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,791 INFO L280 TraceCheckUtils]: 2: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,792 INFO L280 TraceCheckUtils]: 3: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,794 INFO L280 TraceCheckUtils]: 4: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,795 INFO L280 TraceCheckUtils]: 5: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,796 INFO L280 TraceCheckUtils]: 6: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:00,798 INFO L280 TraceCheckUtils]: 7: Hoare triple {560#(and (= ULTIMATE.start_dll_create_~head~0.base 0) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {559#false} is VALID [2020-07-28 18:09:00,798 INFO L280 TraceCheckUtils]: 8: Hoare triple {559#false} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {559#false} is VALID [2020-07-28 18:09:00,798 INFO L280 TraceCheckUtils]: 9: Hoare triple {559#false} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {559#false} is VALID [2020-07-28 18:09:00,799 INFO L280 TraceCheckUtils]: 10: Hoare triple {559#false} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {559#false} is VALID [2020-07-28 18:09:00,799 INFO L280 TraceCheckUtils]: 11: Hoare triple {559#false} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {559#false} is VALID [2020-07-28 18:09:00,799 INFO L280 TraceCheckUtils]: 12: Hoare triple {559#false} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {559#false} is VALID [2020-07-28 18:09:00,800 INFO L280 TraceCheckUtils]: 13: Hoare triple {559#false} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {559#false} is VALID [2020-07-28 18:09:00,800 INFO L280 TraceCheckUtils]: 14: Hoare triple {559#false} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {559#false} is VALID [2020-07-28 18:09:00,800 INFO L280 TraceCheckUtils]: 15: Hoare triple {559#false} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {559#false} is VALID [2020-07-28 18:09:00,801 INFO L280 TraceCheckUtils]: 16: Hoare triple {559#false} assume !(dll_create_~len > 0); {559#false} is VALID [2020-07-28 18:09:00,801 INFO L280 TraceCheckUtils]: 17: Hoare triple {559#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {559#false} is VALID [2020-07-28 18:09:00,801 INFO L280 TraceCheckUtils]: 18: Hoare triple {559#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {559#false} is VALID [2020-07-28 18:09:00,802 INFO L280 TraceCheckUtils]: 19: Hoare triple {559#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {559#false} is VALID [2020-07-28 18:09:00,802 INFO L280 TraceCheckUtils]: 20: Hoare triple {559#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {559#false} is VALID [2020-07-28 18:09:00,803 INFO L280 TraceCheckUtils]: 21: Hoare triple {559#false} assume main_#t~short9; {559#false} is VALID [2020-07-28 18:09:00,803 INFO L280 TraceCheckUtils]: 22: Hoare triple {559#false} main_#t~short11 := main_#t~short9; {559#false} is VALID [2020-07-28 18:09:00,803 INFO L280 TraceCheckUtils]: 23: Hoare triple {559#false} assume main_#t~short11; {559#false} is VALID [2020-07-28 18:09:00,804 INFO L280 TraceCheckUtils]: 24: Hoare triple {559#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {559#false} is VALID [2020-07-28 18:09:00,804 INFO L280 TraceCheckUtils]: 25: Hoare triple {559#false} assume !false; {559#false} is VALID [2020-07-28 18:09:00,806 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-28 18:09:00,807 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1769755731] [2020-07-28 18:09:00,807 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 18:09:00,807 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-28 18:09:00,808 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319802965] [2020-07-28 18:09:00,808 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2020-07-28 18:09:00,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:00,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-28 18:09:00,847 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:00,847 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-28 18:09:00,847 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:00,848 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-28 18:09:00,848 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 18:09:00,848 INFO L87 Difference]: Start difference. First operand 32 states and 43 transitions. Second operand 3 states. [2020-07-28 18:09:00,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:00,930 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2020-07-28 18:09:00,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-28 18:09:00,931 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2020-07-28 18:09:00,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:00,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 18:09:00,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2020-07-28 18:09:00,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 18:09:00,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2020-07-28 18:09:00,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 73 transitions. [2020-07-28 18:09:01,027 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:01,029 INFO L225 Difference]: With dead ends: 57 [2020-07-28 18:09:01,029 INFO L226 Difference]: Without dead ends: 33 [2020-07-28 18:09:01,030 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 18:09:01,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2020-07-28 18:09:01,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2020-07-28 18:09:01,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:01,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2020-07-28 18:09:01,040 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2020-07-28 18:09:01,040 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2020-07-28 18:09:01,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:01,042 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2020-07-28 18:09:01,042 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2020-07-28 18:09:01,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:01,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:01,043 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2020-07-28 18:09:01,043 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2020-07-28 18:09:01,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:01,045 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2020-07-28 18:09:01,046 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2020-07-28 18:09:01,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:01,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:01,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:01,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:01,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 18:09:01,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2020-07-28 18:09:01,049 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 26 [2020-07-28 18:09:01,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:01,050 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2020-07-28 18:09:01,050 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-28 18:09:01,050 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2020-07-28 18:09:01,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2020-07-28 18:09:01,051 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:01,051 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:01,052 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-28 18:09:01,052 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:01,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:01,053 INFO L82 PathProgramCache]: Analyzing trace with hash -282378703, now seen corresponding path program 1 times [2020-07-28 18:09:01,053 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:01,053 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [750815995] [2020-07-28 18:09:01,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:01,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:01,154 INFO L280 TraceCheckUtils]: 0: Hoare triple {735#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {735#true} is VALID [2020-07-28 18:09:01,155 INFO L280 TraceCheckUtils]: 1: Hoare triple {735#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,156 INFO L280 TraceCheckUtils]: 2: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,157 INFO L280 TraceCheckUtils]: 3: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,158 INFO L280 TraceCheckUtils]: 4: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,159 INFO L280 TraceCheckUtils]: 5: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,160 INFO L280 TraceCheckUtils]: 6: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,160 INFO L280 TraceCheckUtils]: 7: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {737#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,161 INFO L280 TraceCheckUtils]: 8: Hoare triple {737#(= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,162 INFO L280 TraceCheckUtils]: 9: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,163 INFO L280 TraceCheckUtils]: 10: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,164 INFO L280 TraceCheckUtils]: 11: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,165 INFO L280 TraceCheckUtils]: 12: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,166 INFO L280 TraceCheckUtils]: 13: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,166 INFO L280 TraceCheckUtils]: 14: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,168 INFO L280 TraceCheckUtils]: 15: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {739#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,169 INFO L280 TraceCheckUtils]: 16: Hoare triple {739#(<= 3 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {736#false} is VALID [2020-07-28 18:09:01,169 INFO L280 TraceCheckUtils]: 17: Hoare triple {736#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {736#false} is VALID [2020-07-28 18:09:01,169 INFO L280 TraceCheckUtils]: 18: Hoare triple {736#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {736#false} is VALID [2020-07-28 18:09:01,170 INFO L280 TraceCheckUtils]: 19: Hoare triple {736#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {736#false} is VALID [2020-07-28 18:09:01,170 INFO L280 TraceCheckUtils]: 20: Hoare triple {736#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {736#false} is VALID [2020-07-28 18:09:01,171 INFO L280 TraceCheckUtils]: 21: Hoare triple {736#false} assume main_#t~short9; {736#false} is VALID [2020-07-28 18:09:01,171 INFO L280 TraceCheckUtils]: 22: Hoare triple {736#false} main_#t~short11 := main_#t~short9; {736#false} is VALID [2020-07-28 18:09:01,171 INFO L280 TraceCheckUtils]: 23: Hoare triple {736#false} assume main_#t~short11; {736#false} is VALID [2020-07-28 18:09:01,171 INFO L280 TraceCheckUtils]: 24: Hoare triple {736#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {736#false} is VALID [2020-07-28 18:09:01,172 INFO L280 TraceCheckUtils]: 25: Hoare triple {736#false} assume !false; {736#false} is VALID [2020-07-28 18:09:01,174 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:01,174 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [750815995] [2020-07-28 18:09:01,174 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1388015734] [2020-07-28 18:09:01,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:01,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:01,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 18:09:01,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:01,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 18:09:01,424 INFO L280 TraceCheckUtils]: 0: Hoare triple {735#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {735#true} is VALID [2020-07-28 18:09:01,425 INFO L280 TraceCheckUtils]: 1: Hoare triple {735#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,425 INFO L280 TraceCheckUtils]: 2: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,426 INFO L280 TraceCheckUtils]: 3: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,427 INFO L280 TraceCheckUtils]: 4: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,427 INFO L280 TraceCheckUtils]: 5: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,428 INFO L280 TraceCheckUtils]: 6: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,429 INFO L280 TraceCheckUtils]: 7: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {746#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,430 INFO L280 TraceCheckUtils]: 8: Hoare triple {746#(<= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,430 INFO L280 TraceCheckUtils]: 9: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,431 INFO L280 TraceCheckUtils]: 10: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,432 INFO L280 TraceCheckUtils]: 11: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,433 INFO L280 TraceCheckUtils]: 12: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,433 INFO L280 TraceCheckUtils]: 13: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,434 INFO L280 TraceCheckUtils]: 14: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {738#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,435 INFO L280 TraceCheckUtils]: 15: Hoare triple {738#(<= 4 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {739#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:01,436 INFO L280 TraceCheckUtils]: 16: Hoare triple {739#(<= 3 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {736#false} is VALID [2020-07-28 18:09:01,436 INFO L280 TraceCheckUtils]: 17: Hoare triple {736#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {736#false} is VALID [2020-07-28 18:09:01,436 INFO L280 TraceCheckUtils]: 18: Hoare triple {736#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {736#false} is VALID [2020-07-28 18:09:01,437 INFO L280 TraceCheckUtils]: 19: Hoare triple {736#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {736#false} is VALID [2020-07-28 18:09:01,437 INFO L280 TraceCheckUtils]: 20: Hoare triple {736#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {736#false} is VALID [2020-07-28 18:09:01,437 INFO L280 TraceCheckUtils]: 21: Hoare triple {736#false} assume main_#t~short9; {736#false} is VALID [2020-07-28 18:09:01,438 INFO L280 TraceCheckUtils]: 22: Hoare triple {736#false} main_#t~short11 := main_#t~short9; {736#false} is VALID [2020-07-28 18:09:01,438 INFO L280 TraceCheckUtils]: 23: Hoare triple {736#false} assume main_#t~short11; {736#false} is VALID [2020-07-28 18:09:01,438 INFO L280 TraceCheckUtils]: 24: Hoare triple {736#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {736#false} is VALID [2020-07-28 18:09:01,438 INFO L280 TraceCheckUtils]: 25: Hoare triple {736#false} assume !false; {736#false} is VALID [2020-07-28 18:09:01,440 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:01,440 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 18:09:01,440 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2020-07-28 18:09:01,440 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062141172] [2020-07-28 18:09:01,441 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-28 18:09:01,441 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:01,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-28 18:09:01,485 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:01,485 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-28 18:09:01,486 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:01,486 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-28 18:09:01,486 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2020-07-28 18:09:01,486 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand 6 states. [2020-07-28 18:09:01,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:01,659 INFO L93 Difference]: Finished difference Result 60 states and 81 transitions. [2020-07-28 18:09:01,659 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 18:09:01,659 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-28 18:09:01,659 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:01,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 18:09:01,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2020-07-28 18:09:01,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 18:09:01,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2020-07-28 18:09:01,663 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2020-07-28 18:09:01,756 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:01,758 INFO L225 Difference]: With dead ends: 60 [2020-07-28 18:09:01,758 INFO L226 Difference]: Without dead ends: 45 [2020-07-28 18:09:01,759 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2020-07-28 18:09:01,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2020-07-28 18:09:01,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 39. [2020-07-28 18:09:01,772 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:01,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 39 states. [2020-07-28 18:09:01,772 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 39 states. [2020-07-28 18:09:01,772 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 39 states. [2020-07-28 18:09:01,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:01,774 INFO L93 Difference]: Finished difference Result 45 states and 59 transitions. [2020-07-28 18:09:01,774 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 59 transitions. [2020-07-28 18:09:01,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:01,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:01,775 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 45 states. [2020-07-28 18:09:01,775 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 45 states. [2020-07-28 18:09:01,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:01,777 INFO L93 Difference]: Finished difference Result 45 states and 59 transitions. [2020-07-28 18:09:01,777 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 59 transitions. [2020-07-28 18:09:01,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:01,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:01,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:01,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:01,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-28 18:09:01,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 51 transitions. [2020-07-28 18:09:01,779 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 51 transitions. Word has length 26 [2020-07-28 18:09:01,780 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:01,780 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 51 transitions. [2020-07-28 18:09:01,780 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-28 18:09:01,780 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 51 transitions. [2020-07-28 18:09:01,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-28 18:09:01,780 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:01,781 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:01,991 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:01,992 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:01,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:01,993 INFO L82 PathProgramCache]: Analyzing trace with hash 700996956, now seen corresponding path program 2 times [2020-07-28 18:09:01,993 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:01,994 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367781264] [2020-07-28 18:09:01,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:02,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:02,129 INFO L280 TraceCheckUtils]: 0: Hoare triple {1024#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1024#true} is VALID [2020-07-28 18:09:02,129 INFO L280 TraceCheckUtils]: 1: Hoare triple {1024#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,130 INFO L280 TraceCheckUtils]: 2: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,131 INFO L280 TraceCheckUtils]: 3: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,131 INFO L280 TraceCheckUtils]: 4: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,132 INFO L280 TraceCheckUtils]: 5: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,133 INFO L280 TraceCheckUtils]: 6: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,133 INFO L280 TraceCheckUtils]: 7: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1026#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,134 INFO L280 TraceCheckUtils]: 8: Hoare triple {1026#(= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,134 INFO L280 TraceCheckUtils]: 9: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,135 INFO L280 TraceCheckUtils]: 10: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,135 INFO L280 TraceCheckUtils]: 11: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,136 INFO L280 TraceCheckUtils]: 12: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,136 INFO L280 TraceCheckUtils]: 13: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,137 INFO L280 TraceCheckUtils]: 14: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,138 INFO L280 TraceCheckUtils]: 15: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,138 INFO L280 TraceCheckUtils]: 16: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,139 INFO L280 TraceCheckUtils]: 17: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,139 INFO L280 TraceCheckUtils]: 18: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,140 INFO L280 TraceCheckUtils]: 19: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,140 INFO L280 TraceCheckUtils]: 20: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,141 INFO L280 TraceCheckUtils]: 21: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,142 INFO L280 TraceCheckUtils]: 22: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1029#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,142 INFO L280 TraceCheckUtils]: 23: Hoare triple {1029#(<= 2 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {1025#false} is VALID [2020-07-28 18:09:02,143 INFO L280 TraceCheckUtils]: 24: Hoare triple {1025#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1025#false} is VALID [2020-07-28 18:09:02,143 INFO L280 TraceCheckUtils]: 25: Hoare triple {1025#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1025#false} is VALID [2020-07-28 18:09:02,143 INFO L280 TraceCheckUtils]: 26: Hoare triple {1025#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1025#false} is VALID [2020-07-28 18:09:02,143 INFO L280 TraceCheckUtils]: 27: Hoare triple {1025#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1025#false} is VALID [2020-07-28 18:09:02,143 INFO L280 TraceCheckUtils]: 28: Hoare triple {1025#false} assume main_#t~short9; {1025#false} is VALID [2020-07-28 18:09:02,144 INFO L280 TraceCheckUtils]: 29: Hoare triple {1025#false} main_#t~short11 := main_#t~short9; {1025#false} is VALID [2020-07-28 18:09:02,144 INFO L280 TraceCheckUtils]: 30: Hoare triple {1025#false} assume main_#t~short11; {1025#false} is VALID [2020-07-28 18:09:02,144 INFO L280 TraceCheckUtils]: 31: Hoare triple {1025#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1025#false} is VALID [2020-07-28 18:09:02,144 INFO L280 TraceCheckUtils]: 32: Hoare triple {1025#false} assume !false; {1025#false} is VALID [2020-07-28 18:09:02,146 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:02,147 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1367781264] [2020-07-28 18:09:02,147 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1926303112] [2020-07-28 18:09:02,147 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:02,216 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 18:09:02,216 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 18:09:02,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-28 18:09:02,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:02,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 18:09:02,398 INFO L280 TraceCheckUtils]: 0: Hoare triple {1024#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1024#true} is VALID [2020-07-28 18:09:02,399 INFO L280 TraceCheckUtils]: 1: Hoare triple {1024#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,400 INFO L280 TraceCheckUtils]: 2: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,400 INFO L280 TraceCheckUtils]: 3: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,401 INFO L280 TraceCheckUtils]: 4: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,402 INFO L280 TraceCheckUtils]: 5: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,402 INFO L280 TraceCheckUtils]: 6: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,403 INFO L280 TraceCheckUtils]: 7: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1036#(<= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,404 INFO L280 TraceCheckUtils]: 8: Hoare triple {1036#(<= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,405 INFO L280 TraceCheckUtils]: 9: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,405 INFO L280 TraceCheckUtils]: 10: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,406 INFO L280 TraceCheckUtils]: 11: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,407 INFO L280 TraceCheckUtils]: 12: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,407 INFO L280 TraceCheckUtils]: 13: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,408 INFO L280 TraceCheckUtils]: 14: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1027#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,409 INFO L280 TraceCheckUtils]: 15: Hoare triple {1027#(<= 4 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,410 INFO L280 TraceCheckUtils]: 16: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,410 INFO L280 TraceCheckUtils]: 17: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,411 INFO L280 TraceCheckUtils]: 18: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,412 INFO L280 TraceCheckUtils]: 19: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,412 INFO L280 TraceCheckUtils]: 20: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,413 INFO L280 TraceCheckUtils]: 21: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1028#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,414 INFO L280 TraceCheckUtils]: 22: Hoare triple {1028#(<= 3 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1029#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:02,415 INFO L280 TraceCheckUtils]: 23: Hoare triple {1029#(<= 2 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {1025#false} is VALID [2020-07-28 18:09:02,415 INFO L280 TraceCheckUtils]: 24: Hoare triple {1025#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1025#false} is VALID [2020-07-28 18:09:02,415 INFO L280 TraceCheckUtils]: 25: Hoare triple {1025#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1025#false} is VALID [2020-07-28 18:09:02,415 INFO L280 TraceCheckUtils]: 26: Hoare triple {1025#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1025#false} is VALID [2020-07-28 18:09:02,416 INFO L280 TraceCheckUtils]: 27: Hoare triple {1025#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1025#false} is VALID [2020-07-28 18:09:02,416 INFO L280 TraceCheckUtils]: 28: Hoare triple {1025#false} assume main_#t~short9; {1025#false} is VALID [2020-07-28 18:09:02,416 INFO L280 TraceCheckUtils]: 29: Hoare triple {1025#false} main_#t~short11 := main_#t~short9; {1025#false} is VALID [2020-07-28 18:09:02,417 INFO L280 TraceCheckUtils]: 30: Hoare triple {1025#false} assume main_#t~short11; {1025#false} is VALID [2020-07-28 18:09:02,417 INFO L280 TraceCheckUtils]: 31: Hoare triple {1025#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1025#false} is VALID [2020-07-28 18:09:02,417 INFO L280 TraceCheckUtils]: 32: Hoare triple {1025#false} assume !false; {1025#false} is VALID [2020-07-28 18:09:02,419 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:02,419 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 18:09:02,419 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2020-07-28 18:09:02,420 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581022220] [2020-07-28 18:09:02,420 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-28 18:09:02,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:02,421 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 18:09:02,473 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:02,473 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 18:09:02,474 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:02,474 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 18:09:02,474 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2020-07-28 18:09:02,474 INFO L87 Difference]: Start difference. First operand 39 states and 51 transitions. Second operand 7 states. [2020-07-28 18:09:02,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:02,697 INFO L93 Difference]: Finished difference Result 67 states and 90 transitions. [2020-07-28 18:09:02,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 18:09:02,697 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-28 18:09:02,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:02,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 18:09:02,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2020-07-28 18:09:02,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 18:09:02,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2020-07-28 18:09:02,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2020-07-28 18:09:02,815 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:02,817 INFO L225 Difference]: With dead ends: 67 [2020-07-28 18:09:02,817 INFO L226 Difference]: Without dead ends: 52 [2020-07-28 18:09:02,818 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2020-07-28 18:09:02,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2020-07-28 18:09:02,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 46. [2020-07-28 18:09:02,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:02,834 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 46 states. [2020-07-28 18:09:02,834 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 46 states. [2020-07-28 18:09:02,834 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 46 states. [2020-07-28 18:09:02,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:02,837 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2020-07-28 18:09:02,837 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 68 transitions. [2020-07-28 18:09:02,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:02,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:02,837 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 52 states. [2020-07-28 18:09:02,837 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 52 states. [2020-07-28 18:09:02,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:02,840 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2020-07-28 18:09:02,841 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 68 transitions. [2020-07-28 18:09:02,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:02,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:02,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:02,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:02,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-28 18:09:02,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2020-07-28 18:09:02,844 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 33 [2020-07-28 18:09:02,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:02,844 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2020-07-28 18:09:02,844 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 18:09:02,845 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2020-07-28 18:09:02,848 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-28 18:09:02,848 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:02,849 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:03,062 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:03,063 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:03,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:03,064 INFO L82 PathProgramCache]: Analyzing trace with hash -338892847, now seen corresponding path program 3 times [2020-07-28 18:09:03,064 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:03,065 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2069147354] [2020-07-28 18:09:03,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:03,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:03,243 INFO L280 TraceCheckUtils]: 0: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1365#true} is VALID [2020-07-28 18:09:03,244 INFO L280 TraceCheckUtils]: 1: Hoare triple {1365#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,244 INFO L280 TraceCheckUtils]: 2: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,245 INFO L280 TraceCheckUtils]: 3: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,245 INFO L280 TraceCheckUtils]: 4: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,246 INFO L280 TraceCheckUtils]: 5: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,246 INFO L280 TraceCheckUtils]: 6: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,247 INFO L280 TraceCheckUtils]: 7: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1367#(= 5 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,248 INFO L280 TraceCheckUtils]: 8: Hoare triple {1367#(= 5 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,248 INFO L280 TraceCheckUtils]: 9: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,249 INFO L280 TraceCheckUtils]: 10: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,250 INFO L280 TraceCheckUtils]: 11: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,251 INFO L280 TraceCheckUtils]: 12: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,252 INFO L280 TraceCheckUtils]: 13: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,252 INFO L280 TraceCheckUtils]: 14: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1368#(<= 4 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,253 INFO L280 TraceCheckUtils]: 15: Hoare triple {1368#(<= 4 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,254 INFO L280 TraceCheckUtils]: 16: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,255 INFO L280 TraceCheckUtils]: 17: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,256 INFO L280 TraceCheckUtils]: 18: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,257 INFO L280 TraceCheckUtils]: 19: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,257 INFO L280 TraceCheckUtils]: 20: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,258 INFO L280 TraceCheckUtils]: 21: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1369#(<= 3 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,259 INFO L280 TraceCheckUtils]: 22: Hoare triple {1369#(<= 3 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,259 INFO L280 TraceCheckUtils]: 23: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,260 INFO L280 TraceCheckUtils]: 24: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,260 INFO L280 TraceCheckUtils]: 25: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,261 INFO L280 TraceCheckUtils]: 26: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,261 INFO L280 TraceCheckUtils]: 27: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,262 INFO L280 TraceCheckUtils]: 28: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1370#(<= 2 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,263 INFO L280 TraceCheckUtils]: 29: Hoare triple {1370#(<= 2 ULTIMATE.start_dll_create_~len)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1371#(<= 1 ULTIMATE.start_dll_create_~len)} is VALID [2020-07-28 18:09:03,264 INFO L280 TraceCheckUtils]: 30: Hoare triple {1371#(<= 1 ULTIMATE.start_dll_create_~len)} assume !(dll_create_~len > 0); {1366#false} is VALID [2020-07-28 18:09:03,264 INFO L280 TraceCheckUtils]: 31: Hoare triple {1366#false} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1366#false} is VALID [2020-07-28 18:09:03,264 INFO L280 TraceCheckUtils]: 32: Hoare triple {1366#false} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1366#false} is VALID [2020-07-28 18:09:03,265 INFO L280 TraceCheckUtils]: 33: Hoare triple {1366#false} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1366#false} is VALID [2020-07-28 18:09:03,265 INFO L280 TraceCheckUtils]: 34: Hoare triple {1366#false} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1366#false} is VALID [2020-07-28 18:09:03,265 INFO L280 TraceCheckUtils]: 35: Hoare triple {1366#false} assume main_#t~short9; {1366#false} is VALID [2020-07-28 18:09:03,265 INFO L280 TraceCheckUtils]: 36: Hoare triple {1366#false} main_#t~short11 := main_#t~short9; {1366#false} is VALID [2020-07-28 18:09:03,266 INFO L280 TraceCheckUtils]: 37: Hoare triple {1366#false} assume main_#t~short11; {1366#false} is VALID [2020-07-28 18:09:03,266 INFO L280 TraceCheckUtils]: 38: Hoare triple {1366#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1366#false} is VALID [2020-07-28 18:09:03,266 INFO L280 TraceCheckUtils]: 39: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2020-07-28 18:09:03,268 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 18:09:03,269 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2069147354] [2020-07-28 18:09:03,269 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1271013398] [2020-07-28 18:09:03,270 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:03,921 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2020-07-28 18:09:03,921 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 18:09:03,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2020-07-28 18:09:03,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:03,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 18:09:04,116 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,120 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2020-07-28 18:09:04,121 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,132 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,133 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,133 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:23 [2020-07-28 18:09:04,213 INFO L440 ElimStorePlain]: Different costs {2=[|v_#memory_int_17|], 10=[|v_#memory_int_19|]} [2020-07-28 18:09:04,220 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-28 18:09:04,237 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,246 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,247 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,248 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,249 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,257 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,258 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,259 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,260 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,261 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,262 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,266 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,266 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 10 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 46 treesize of output 41 [2020-07-28 18:09:04,267 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,282 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,285 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,285 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:66, output treesize:23 [2020-07-28 18:09:04,292 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-28 18:09:04,292 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, |v_ULTIMATE.start_dll_create_#t~ite4_6|, |v_#memory_int_17|]. (let ((.cse0 (select |v_#memory_int_19| ULTIMATE.start_dll_create_~new_head~0.base)) (.cse2 (select |v_#memory_int_17| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= 0 (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset)) (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (store |v_#memory_int_19| ULTIMATE.start_dll_create_~new_head~0.base (let ((.cse1 (+ ULTIMATE.start_dll_create_~new_head~0.offset 4))) (store (store .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 16) |v_ULTIMATE.start_dll_create_#t~ite4_6|) .cse1 (select .cse2 .cse1)))) |v_#memory_int_17|) (= (store |v_#memory_int_17| ULTIMATE.start_dll_create_~new_head~0.base (let ((.cse3 (+ ULTIMATE.start_dll_create_~new_head~0.offset 12))) (store .cse2 .cse3 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) .cse3)))) |#memory_int|) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))) [2020-07-28 18:09:04,293 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base))) (and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))) [2020-07-28 18:09:04,337 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,338 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,340 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-28 18:09:04,342 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,343 INFO L384 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 36 treesize of output 23 [2020-07-28 18:09:04,344 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,359 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:04,363 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:04,364 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:20 [2020-07-28 18:09:04,370 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-28 18:09:04,370 WARN L407 uantifierElimination]: Input elimination task: ∃ [ULTIMATE.start_dll_create_~head~0.base, ULTIMATE.start_dll_create_~head~0.offset, |v_#memory_int_20|]. (let ((.cse0 (select |v_#memory_int_20| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset) 0) (= |#memory_int| (store |v_#memory_int_20| ULTIMATE.start_dll_create_~head~0.base (let ((.cse1 (+ ULTIMATE.start_dll_create_~head~0.offset 12))) (store (select |v_#memory_int_20| ULTIMATE.start_dll_create_~head~0.base) .cse1 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) .cse1))))) (= (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8)) 0) (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))) [2020-07-28 18:09:04,370 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base))) (and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset) 0))) [2020-07-28 18:09:04,497 INFO L523 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-28 18:09:04,527 INFO L280 TraceCheckUtils]: 0: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1365#true} is VALID [2020-07-28 18:09:04,527 INFO L280 TraceCheckUtils]: 1: Hoare triple {1365#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1365#true} is VALID [2020-07-28 18:09:04,527 INFO L280 TraceCheckUtils]: 2: Hoare triple {1365#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1365#true} is VALID [2020-07-28 18:09:04,528 INFO L280 TraceCheckUtils]: 3: Hoare triple {1365#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1365#true} is VALID [2020-07-28 18:09:04,528 INFO L280 TraceCheckUtils]: 4: Hoare triple {1365#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1365#true} is VALID [2020-07-28 18:09:04,528 INFO L280 TraceCheckUtils]: 5: Hoare triple {1365#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1365#true} is VALID [2020-07-28 18:09:04,528 INFO L280 TraceCheckUtils]: 6: Hoare triple {1365#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1365#true} is VALID [2020-07-28 18:09:04,529 INFO L280 TraceCheckUtils]: 7: Hoare triple {1365#true} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1365#true} is VALID [2020-07-28 18:09:04,529 INFO L280 TraceCheckUtils]: 8: Hoare triple {1365#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1365#true} is VALID [2020-07-28 18:09:04,529 INFO L280 TraceCheckUtils]: 9: Hoare triple {1365#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1365#true} is VALID [2020-07-28 18:09:04,529 INFO L280 TraceCheckUtils]: 10: Hoare triple {1365#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1365#true} is VALID [2020-07-28 18:09:04,530 INFO L280 TraceCheckUtils]: 11: Hoare triple {1365#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1365#true} is VALID [2020-07-28 18:09:04,530 INFO L280 TraceCheckUtils]: 12: Hoare triple {1365#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1365#true} is VALID [2020-07-28 18:09:04,530 INFO L280 TraceCheckUtils]: 13: Hoare triple {1365#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1365#true} is VALID [2020-07-28 18:09:04,530 INFO L280 TraceCheckUtils]: 14: Hoare triple {1365#true} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1365#true} is VALID [2020-07-28 18:09:04,531 INFO L280 TraceCheckUtils]: 15: Hoare triple {1365#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1365#true} is VALID [2020-07-28 18:09:04,532 INFO L280 TraceCheckUtils]: 16: Hoare triple {1365#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,533 INFO L280 TraceCheckUtils]: 17: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,534 INFO L280 TraceCheckUtils]: 18: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,535 INFO L280 TraceCheckUtils]: 19: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,536 INFO L280 TraceCheckUtils]: 20: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,537 INFO L280 TraceCheckUtils]: 21: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} is VALID [2020-07-28 18:09:04,538 INFO L280 TraceCheckUtils]: 22: Hoare triple {1423#(<= 0 ULTIMATE.start_dll_create_~new_head~0.offset)} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1442#(<= 0 ULTIMATE.start_dll_create_~head~0.offset)} is VALID [2020-07-28 18:09:04,539 INFO L280 TraceCheckUtils]: 23: Hoare triple {1442#(<= 0 ULTIMATE.start_dll_create_~head~0.offset)} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1446#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:04,540 INFO L280 TraceCheckUtils]: 24: Hoare triple {1446#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1446#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:04,542 INFO L280 TraceCheckUtils]: 25: Hoare triple {1446#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:04,543 INFO L280 TraceCheckUtils]: 26: Hoare triple {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:04,545 INFO L280 TraceCheckUtils]: 27: Hoare triple {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:04,547 INFO L280 TraceCheckUtils]: 28: Hoare triple {1453#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (<= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1463#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0))} is VALID [2020-07-28 18:09:04,549 INFO L280 TraceCheckUtils]: 29: Hoare triple {1463#(and (<= ULTIMATE.start_dll_create_~new_head~0.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0))} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1467#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))) (<= ULTIMATE.start_dll_create_~head~0.offset 0))} is VALID [2020-07-28 18:09:04,550 INFO L280 TraceCheckUtils]: 30: Hoare triple {1467#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))) (<= ULTIMATE.start_dll_create_~head~0.offset 0))} assume !(dll_create_~len > 0); {1467#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))) (<= ULTIMATE.start_dll_create_~head~0.offset 0))} is VALID [2020-07-28 18:09:04,551 INFO L280 TraceCheckUtils]: 31: Hoare triple {1467#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))) (<= ULTIMATE.start_dll_create_~head~0.offset 0))} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1474#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) (+ |ULTIMATE.start_dll_create_#res.offset| 8))) (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) |ULTIMATE.start_dll_create_#res.offset|)) (<= |ULTIMATE.start_dll_create_#res.offset| 0))} is VALID [2020-07-28 18:09:04,553 INFO L280 TraceCheckUtils]: 32: Hoare triple {1474#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) (+ |ULTIMATE.start_dll_create_#res.offset| 8))) (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) |ULTIMATE.start_dll_create_#res.offset|)) (<= |ULTIMATE.start_dll_create_#res.offset| 0))} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1478#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (<= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:04,554 INFO L280 TraceCheckUtils]: 33: Hoare triple {1478#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (<= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1478#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (<= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:04,555 INFO L280 TraceCheckUtils]: 34: Hoare triple {1478#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (<= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1485#(not |ULTIMATE.start_main_#t~short9|)} is VALID [2020-07-28 18:09:04,556 INFO L280 TraceCheckUtils]: 35: Hoare triple {1485#(not |ULTIMATE.start_main_#t~short9|)} assume main_#t~short9; {1366#false} is VALID [2020-07-28 18:09:04,556 INFO L280 TraceCheckUtils]: 36: Hoare triple {1366#false} main_#t~short11 := main_#t~short9; {1366#false} is VALID [2020-07-28 18:09:04,556 INFO L280 TraceCheckUtils]: 37: Hoare triple {1366#false} assume main_#t~short11; {1366#false} is VALID [2020-07-28 18:09:04,556 INFO L280 TraceCheckUtils]: 38: Hoare triple {1366#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1366#false} is VALID [2020-07-28 18:09:04,557 INFO L280 TraceCheckUtils]: 39: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2020-07-28 18:09:04,562 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 30 proven. 7 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-28 18:09:04,562 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 18:09:04,563 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 11] total 16 [2020-07-28 18:09:04,563 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1210531307] [2020-07-28 18:09:04,564 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 40 [2020-07-28 18:09:04,564 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:04,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-28 18:09:04,679 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:04,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-28 18:09:04,679 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:04,680 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-28 18:09:04,680 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2020-07-28 18:09:04,680 INFO L87 Difference]: Start difference. First operand 46 states and 60 transitions. Second operand 16 states. [2020-07-28 18:09:07,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:07,054 INFO L93 Difference]: Finished difference Result 81 states and 110 transitions. [2020-07-28 18:09:07,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-28 18:09:07,054 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 40 [2020-07-28 18:09:07,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:07,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 18:09:07,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 110 transitions. [2020-07-28 18:09:07,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 18:09:07,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 110 transitions. [2020-07-28 18:09:07,060 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 110 transitions. [2020-07-28 18:09:07,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:07,282 INFO L225 Difference]: With dead ends: 81 [2020-07-28 18:09:07,282 INFO L226 Difference]: Without dead ends: 66 [2020-07-28 18:09:07,283 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=222, Invalid=708, Unknown=0, NotChecked=0, Total=930 [2020-07-28 18:09:07,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2020-07-28 18:09:07,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 56. [2020-07-28 18:09:07,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:07,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 56 states. [2020-07-28 18:09:07,347 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 56 states. [2020-07-28 18:09:07,347 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 56 states. [2020-07-28 18:09:07,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:07,351 INFO L93 Difference]: Finished difference Result 66 states and 87 transitions. [2020-07-28 18:09:07,351 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 87 transitions. [2020-07-28 18:09:07,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:07,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:07,352 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 66 states. [2020-07-28 18:09:07,352 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 66 states. [2020-07-28 18:09:07,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:07,354 INFO L93 Difference]: Finished difference Result 66 states and 87 transitions. [2020-07-28 18:09:07,354 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 87 transitions. [2020-07-28 18:09:07,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:07,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:07,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:07,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:07,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2020-07-28 18:09:07,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 73 transitions. [2020-07-28 18:09:07,357 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 73 transitions. Word has length 40 [2020-07-28 18:09:07,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:07,358 INFO L479 AbstractCegarLoop]: Abstraction has 56 states and 73 transitions. [2020-07-28 18:09:07,358 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-28 18:09:07,358 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 73 transitions. [2020-07-28 18:09:07,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-28 18:09:07,359 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:07,359 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:07,573 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:07,574 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:07,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:07,575 INFO L82 PathProgramCache]: Analyzing trace with hash 2038353598, now seen corresponding path program 1 times [2020-07-28 18:09:07,575 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:07,576 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372227357] [2020-07-28 18:09:07,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:07,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:08,051 INFO L280 TraceCheckUtils]: 0: Hoare triple {1829#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1829#true} is VALID [2020-07-28 18:09:08,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {1829#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1829#true} is VALID [2020-07-28 18:09:08,051 INFO L280 TraceCheckUtils]: 2: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,051 INFO L280 TraceCheckUtils]: 3: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,052 INFO L280 TraceCheckUtils]: 4: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,052 INFO L280 TraceCheckUtils]: 5: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,052 INFO L280 TraceCheckUtils]: 6: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,053 INFO L280 TraceCheckUtils]: 7: Hoare triple {1829#true} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1829#true} is VALID [2020-07-28 18:09:08,053 INFO L280 TraceCheckUtils]: 8: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,053 INFO L280 TraceCheckUtils]: 9: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,053 INFO L280 TraceCheckUtils]: 10: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,053 INFO L280 TraceCheckUtils]: 11: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,054 INFO L280 TraceCheckUtils]: 12: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,054 INFO L280 TraceCheckUtils]: 13: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,054 INFO L280 TraceCheckUtils]: 14: Hoare triple {1829#true} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,054 INFO L280 TraceCheckUtils]: 15: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,054 INFO L280 TraceCheckUtils]: 16: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,055 INFO L280 TraceCheckUtils]: 17: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,055 INFO L280 TraceCheckUtils]: 18: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,055 INFO L280 TraceCheckUtils]: 19: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,055 INFO L280 TraceCheckUtils]: 20: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,057 INFO L280 TraceCheckUtils]: 21: Hoare triple {1829#true} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,057 INFO L280 TraceCheckUtils]: 22: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,059 INFO L280 TraceCheckUtils]: 23: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,060 INFO L280 TraceCheckUtils]: 24: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,061 INFO L280 TraceCheckUtils]: 25: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,061 INFO L280 TraceCheckUtils]: 26: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,062 INFO L280 TraceCheckUtils]: 27: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,062 INFO L280 TraceCheckUtils]: 28: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,063 INFO L280 TraceCheckUtils]: 29: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1832#(= 1 (select |#valid| ULTIMATE.start_dll_create_~head~0.base))} is VALID [2020-07-28 18:09:08,064 INFO L280 TraceCheckUtils]: 30: Hoare triple {1832#(= 1 (select |#valid| ULTIMATE.start_dll_create_~head~0.base))} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1833#(and (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,065 INFO L280 TraceCheckUtils]: 31: Hoare triple {1833#(and (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1833#(and (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,068 INFO L280 TraceCheckUtils]: 32: Hoare triple {1833#(and (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,069 INFO L280 TraceCheckUtils]: 33: Hoare triple {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,071 INFO L280 TraceCheckUtils]: 34: Hoare triple {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,073 INFO L280 TraceCheckUtils]: 35: Hoare triple {1834#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1835#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset))} is VALID [2020-07-28 18:09:08,074 INFO L280 TraceCheckUtils]: 36: Hoare triple {1835#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 ULTIMATE.start_dll_create_~new_head~0.offset))} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1836#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) 8)) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:08,074 INFO L280 TraceCheckUtils]: 37: Hoare triple {1836#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) 8)) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} assume !(dll_create_~len > 0); {1836#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) 8)) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} is VALID [2020-07-28 18:09:08,075 INFO L280 TraceCheckUtils]: 38: Hoare triple {1836#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) 8)) (= 0 ULTIMATE.start_dll_create_~head~0.offset))} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1837#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) 8)) (= 0 |ULTIMATE.start_dll_create_#res.offset|))} is VALID [2020-07-28 18:09:08,076 INFO L280 TraceCheckUtils]: 39: Hoare triple {1837#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) 8)) (= 0 |ULTIMATE.start_dll_create_#res.offset|))} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,077 INFO L280 TraceCheckUtils]: 40: Hoare triple {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,079 INFO L280 TraceCheckUtils]: 41: Hoare triple {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,080 INFO L280 TraceCheckUtils]: 42: Hoare triple {1838#(and (= ULTIMATE.start_main_~head~1.offset 0) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} assume !main_#t~short9;call main_#t~mem8 := read~int(main_~head~1.base, 8 + main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem8; {1839#(not |ULTIMATE.start_main_#t~short9|)} is VALID [2020-07-28 18:09:08,081 INFO L280 TraceCheckUtils]: 43: Hoare triple {1839#(not |ULTIMATE.start_main_#t~short9|)} main_#t~short11 := main_#t~short9; {1840#(not |ULTIMATE.start_main_#t~short11|)} is VALID [2020-07-28 18:09:08,081 INFO L280 TraceCheckUtils]: 44: Hoare triple {1840#(not |ULTIMATE.start_main_#t~short11|)} assume main_#t~short11; {1830#false} is VALID [2020-07-28 18:09:08,081 INFO L280 TraceCheckUtils]: 45: Hoare triple {1830#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1830#false} is VALID [2020-07-28 18:09:08,082 INFO L280 TraceCheckUtils]: 46: Hoare triple {1830#false} assume !false; {1830#false} is VALID [2020-07-28 18:09:08,086 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2020-07-28 18:09:08,087 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372227357] [2020-07-28 18:09:08,087 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [19805886] [2020-07-28 18:09:08,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:08,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:08,183 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 34 conjunts are in the unsatisfiable core [2020-07-28 18:09:08,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 18:09:08,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 18:09:08,230 INFO L384 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 [2020-07-28 18:09:08,230 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,233 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,233 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,233 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:6, output treesize:5 [2020-07-28 18:09:08,235 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-28 18:09:08,235 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_7|]. (= |#valid| (store |v_#valid_7| ULTIMATE.start_dll_create_~new_head~0.base 1)) [2020-07-28 18:09:08,236 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base)) [2020-07-28 18:09:08,265 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,266 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 15 [2020-07-28 18:09:08,267 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,269 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,269 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,269 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:11, output treesize:4 [2020-07-28 18:09:08,315 INFO L350 Elim1Store]: treesize reduction 21, result has 25.0 percent of original size [2020-07-28 18:09:08,315 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 16 treesize of output 17 [2020-07-28 18:09:08,316 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,323 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,324 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,324 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:21 [2020-07-28 18:09:08,381 INFO L440 ElimStorePlain]: Different costs {2=[|v_#memory_int_21|], 10=[|v_#memory_int_23|]} [2020-07-28 18:09:08,384 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-28 18:09:08,400 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,490 INFO L350 Elim1Store]: treesize reduction 288, result has 10.8 percent of original size [2020-07-28 18:09:08,490 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 46 treesize of output 41 [2020-07-28 18:09:08,491 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,503 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,510 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,511 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:64, output treesize:21 [2020-07-28 18:09:08,518 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-28 18:09:08,519 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, |v_ULTIMATE.start_dll_create_#t~ite4_7|, |v_#memory_int_21|]. (let ((.cse0 (select |v_#memory_int_23| ULTIMATE.start_dll_create_~new_head~0.base)) (.cse2 (select |v_#memory_int_21| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= 0 (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset)) (= (store |v_#memory_int_23| ULTIMATE.start_dll_create_~new_head~0.base (let ((.cse1 (+ ULTIMATE.start_dll_create_~new_head~0.offset 4))) (store (store .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 16) |v_ULTIMATE.start_dll_create_#t~ite4_7|) .cse1 (select .cse2 .cse1)))) |v_#memory_int_21|) (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)) (= (store |v_#memory_int_21| ULTIMATE.start_dll_create_~new_head~0.base (let ((.cse3 (+ ULTIMATE.start_dll_create_~new_head~0.offset 12))) (store .cse2 .cse3 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) .cse3)))) |#memory_int|))) [2020-07-28 18:09:08,519 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))) [2020-07-28 18:09:08,556 INFO L350 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2020-07-28 18:09:08,556 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 36 treesize of output 23 [2020-07-28 18:09:08,557 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,571 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 18:09:08,576 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 18:09:08,577 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:17 [2020-07-28 18:09:08,584 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-28 18:09:08,585 WARN L407 uantifierElimination]: Input elimination task: ∃ [ULTIMATE.start_dll_create_~head~0.base, ULTIMATE.start_dll_create_~head~0.offset, |v_#memory_int_24|]. (let ((.cse1 (select |v_#memory_int_24| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= (store |v_#memory_int_24| ULTIMATE.start_dll_create_~head~0.base (let ((.cse0 (+ ULTIMATE.start_dll_create_~head~0.offset 12))) (store (select |v_#memory_int_24| ULTIMATE.start_dll_create_~head~0.base) .cse0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) .cse0)))) |#memory_int|) (= 0 (select .cse1 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= 0 (select .cse1 ULTIMATE.start_dll_create_~new_head~0.offset)) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))) [2020-07-28 18:09:08,585 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base))) (and (= 0 (select .cse0 (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select .cse0 ULTIMATE.start_dll_create_~new_head~0.offset) 0))) [2020-07-28 18:09:08,747 INFO L523 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-28 18:09:08,753 INFO L280 TraceCheckUtils]: 0: Hoare triple {1829#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1829#true} is VALID [2020-07-28 18:09:08,753 INFO L280 TraceCheckUtils]: 1: Hoare triple {1829#true} havoc main_#res;havoc main_#t~ret6.base, main_#t~ret6.offset, main_#t~mem7, main_#t~mem8, main_#t~short9, main_#t~mem10, main_#t~short11, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13.base, main_#t~mem13.offset, main_#t~mem14.base, main_#t~mem14.offset, main_#t~mem15, main_#t~mem16, main_#t~short17, main_#t~mem18, main_#t~short19, main_~temp~0.base, main_~temp~0.offset, main_~len~0, main_~head~1.base, main_~head~1.offset;main_~len~0 := 5;dll_create_#in~len := main_~len~0;havoc dll_create_#res.base, dll_create_#res.offset;havoc dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset, dll_create_#t~nondet3, dll_create_#t~ite4, dll_create_#t~post5, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~len, dll_create_~head~0.base, dll_create_~head~0.offset;dll_create_~len := dll_create_#in~len;dll_create_~head~0.base, dll_create_~head~0.offset := 0, 0; {1829#true} is VALID [2020-07-28 18:09:08,753 INFO L280 TraceCheckUtils]: 2: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,753 INFO L280 TraceCheckUtils]: 3: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 4: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 5: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 6: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 7: Hoare triple {1829#true} assume !(dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0); {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 8: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,754 INFO L280 TraceCheckUtils]: 9: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,755 INFO L280 TraceCheckUtils]: 10: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,755 INFO L280 TraceCheckUtils]: 11: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,755 INFO L280 TraceCheckUtils]: 12: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,755 INFO L280 TraceCheckUtils]: 13: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,755 INFO L280 TraceCheckUtils]: 14: Hoare triple {1829#true} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,756 INFO L280 TraceCheckUtils]: 15: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,756 INFO L280 TraceCheckUtils]: 16: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1829#true} is VALID [2020-07-28 18:09:08,756 INFO L280 TraceCheckUtils]: 17: Hoare triple {1829#true} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1829#true} is VALID [2020-07-28 18:09:08,756 INFO L280 TraceCheckUtils]: 18: Hoare triple {1829#true} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1829#true} is VALID [2020-07-28 18:09:08,756 INFO L280 TraceCheckUtils]: 19: Hoare triple {1829#true} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1829#true} is VALID [2020-07-28 18:09:08,757 INFO L280 TraceCheckUtils]: 20: Hoare triple {1829#true} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,757 INFO L280 TraceCheckUtils]: 21: Hoare triple {1829#true} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1829#true} is VALID [2020-07-28 18:09:08,757 INFO L280 TraceCheckUtils]: 22: Hoare triple {1829#true} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1829#true} is VALID [2020-07-28 18:09:08,763 INFO L280 TraceCheckUtils]: 23: Hoare triple {1829#true} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,764 INFO L280 TraceCheckUtils]: 24: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,765 INFO L280 TraceCheckUtils]: 25: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,765 INFO L280 TraceCheckUtils]: 26: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,766 INFO L280 TraceCheckUtils]: 27: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,766 INFO L280 TraceCheckUtils]: 28: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,767 INFO L280 TraceCheckUtils]: 29: Hoare triple {1831#(= 1 (select |#valid| ULTIMATE.start_dll_create_~new_head~0.base))} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1832#(= 1 (select |#valid| ULTIMATE.start_dll_create_~head~0.base))} is VALID [2020-07-28 18:09:08,768 INFO L280 TraceCheckUtils]: 30: Hoare triple {1832#(= 1 (select |#valid| ULTIMATE.start_dll_create_~head~0.base))} assume !!(dll_create_~len > 0);call dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0.base, dll_create_~new_head~0.offset := dll_create_#t~malloc2.base, dll_create_#t~malloc2.offset; {1934#(not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,768 INFO L280 TraceCheckUtils]: 31: Hoare triple {1934#(not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base))} assume !(0 == dll_create_~new_head~0.base && 0 == dll_create_~new_head~0.offset); {1934#(not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base))} is VALID [2020-07-28 18:09:08,770 INFO L280 TraceCheckUtils]: 32: Hoare triple {1934#(not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base))} call write~int(0, dll_create_~new_head~0.base, dll_create_~new_head~0.offset, 4);call write~int(0, dll_create_~new_head~0.base, 8 + dll_create_~new_head~0.offset, 4);assume -2147483648 <= dll_create_#t~nondet3 && dll_create_#t~nondet3 <= 2147483647; {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,771 INFO L280 TraceCheckUtils]: 33: Hoare triple {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} assume dll_create_#t~nondet3 == dll_create_~len;dll_create_#t~ite4 := 1; {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,773 INFO L280 TraceCheckUtils]: 34: Hoare triple {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} call write~int(dll_create_#t~ite4, dll_create_~new_head~0.base, 16 + dll_create_~new_head~0.offset, 4);havoc dll_create_#t~nondet3;havoc dll_create_#t~ite4;call write~$Pointer$(dll_create_~head~0.base, dll_create_~head~0.offset, dll_create_~new_head~0.base, 4 + dll_create_~new_head~0.offset, 4);call write~$Pointer$(0, 0, dll_create_~new_head~0.base, 12 + dll_create_~new_head~0.offset, 4); {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} is VALID [2020-07-28 18:09:08,774 INFO L280 TraceCheckUtils]: 35: Hoare triple {1941#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0) (not (= ULTIMATE.start_dll_create_~head~0.base ULTIMATE.start_dll_create_~new_head~0.base)))} assume dll_create_~head~0.base != 0 || dll_create_~head~0.offset != 0;call write~$Pointer$(dll_create_~new_head~0.base, dll_create_~new_head~0.offset, dll_create_~head~0.base, 12 + dll_create_~head~0.offset, 4); {1951#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0))} is VALID [2020-07-28 18:09:08,781 INFO L280 TraceCheckUtils]: 36: Hoare triple {1951#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) (+ ULTIMATE.start_dll_create_~new_head~0.offset 8))) (= (select (select |#memory_int| ULTIMATE.start_dll_create_~new_head~0.base) ULTIMATE.start_dll_create_~new_head~0.offset) 0))} dll_create_~head~0.base, dll_create_~head~0.offset := dll_create_~new_head~0.base, dll_create_~new_head~0.offset;dll_create_#t~post5 := dll_create_~len;dll_create_~len := dll_create_#t~post5 - 1;havoc dll_create_#t~post5; {1955#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))))} is VALID [2020-07-28 18:09:08,782 INFO L280 TraceCheckUtils]: 37: Hoare triple {1955#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))))} assume !(dll_create_~len > 0); {1955#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))))} is VALID [2020-07-28 18:09:08,784 INFO L280 TraceCheckUtils]: 38: Hoare triple {1955#(and (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) ULTIMATE.start_dll_create_~head~0.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_dll_create_~head~0.base) (+ ULTIMATE.start_dll_create_~head~0.offset 8))))} dll_create_#res.base, dll_create_#res.offset := dll_create_~head~0.base, dll_create_~head~0.offset; {1962#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) (+ |ULTIMATE.start_dll_create_#res.offset| 8))) (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) |ULTIMATE.start_dll_create_#res.offset|)))} is VALID [2020-07-28 18:09:08,785 INFO L280 TraceCheckUtils]: 39: Hoare triple {1962#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) (+ |ULTIMATE.start_dll_create_#res.offset| 8))) (= 0 (select (select |#memory_int| |ULTIMATE.start_dll_create_#res.base|) |ULTIMATE.start_dll_create_#res.offset|)))} main_#t~ret6.base, main_#t~ret6.offset := dll_create_#res.base, dll_create_#res.offset;main_~head~1.base, main_~head~1.offset := main_#t~ret6.base, main_#t~ret6.offset;havoc main_#t~ret6.base, main_#t~ret6.offset; {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,785 INFO L280 TraceCheckUtils]: 40: Hoare triple {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} call main_#t~mem13.base, main_#t~mem13.offset := read~$Pointer$(main_~head~1.base, 4 + main_~head~1.offset, 4); {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,786 INFO L280 TraceCheckUtils]: 41: Hoare triple {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} assume !!(main_#t~mem13.base != 0 || main_#t~mem13.offset != 0);havoc main_#t~mem13.base, main_#t~mem13.offset;call main_#t~mem7 := read~int(main_~head~1.base, main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem7; {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} is VALID [2020-07-28 18:09:08,787 INFO L280 TraceCheckUtils]: 42: Hoare triple {1966#(and (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) ULTIMATE.start_main_~head~1.offset)) (= 0 (select (select |#memory_int| ULTIMATE.start_main_~head~1.base) (+ ULTIMATE.start_main_~head~1.offset 8))))} assume !main_#t~short9;call main_#t~mem8 := read~int(main_~head~1.base, 8 + main_~head~1.offset, 4);main_#t~short9 := 0 != main_#t~mem8; {1839#(not |ULTIMATE.start_main_#t~short9|)} is VALID [2020-07-28 18:09:08,788 INFO L280 TraceCheckUtils]: 43: Hoare triple {1839#(not |ULTIMATE.start_main_#t~short9|)} main_#t~short11 := main_#t~short9; {1840#(not |ULTIMATE.start_main_#t~short11|)} is VALID [2020-07-28 18:09:08,788 INFO L280 TraceCheckUtils]: 44: Hoare triple {1840#(not |ULTIMATE.start_main_#t~short11|)} assume main_#t~short11; {1830#false} is VALID [2020-07-28 18:09:08,790 INFO L280 TraceCheckUtils]: 45: Hoare triple {1830#false} assume main_#t~short11;havoc main_#t~mem10;havoc main_#t~short9;havoc main_#t~mem8;havoc main_#t~mem7;havoc main_#t~short11; {1830#false} is VALID [2020-07-28 18:09:08,790 INFO L280 TraceCheckUtils]: 46: Hoare triple {1830#false} assume !false; {1830#false} is VALID [2020-07-28 18:09:08,795 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2020-07-28 18:09:08,797 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 18:09:08,797 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2020-07-28 18:09:08,797 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [143661151] [2020-07-28 18:09:08,798 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 47 [2020-07-28 18:09:08,798 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 18:09:08,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-28 18:09:08,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:08,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-28 18:09:08,860 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 18:09:08,860 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-28 18:09:08,860 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=267, Unknown=0, NotChecked=0, Total=306 [2020-07-28 18:09:08,861 INFO L87 Difference]: Start difference. First operand 56 states and 73 transitions. Second operand 18 states. [2020-07-28 18:09:11,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:11,539 INFO L93 Difference]: Finished difference Result 87 states and 116 transitions. [2020-07-28 18:09:11,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-28 18:09:11,539 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 47 [2020-07-28 18:09:11,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 18:09:11,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 18:09:11,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2020-07-28 18:09:11,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 18:09:11,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2020-07-28 18:09:11,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 96 transitions. [2020-07-28 18:09:11,735 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 18:09:11,737 INFO L225 Difference]: With dead ends: 87 [2020-07-28 18:09:11,737 INFO L226 Difference]: Without dead ends: 74 [2020-07-28 18:09:11,739 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 91 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=187, Invalid=683, Unknown=0, NotChecked=0, Total=870 [2020-07-28 18:09:11,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-28 18:09:11,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 58. [2020-07-28 18:09:11,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 18:09:11,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 58 states. [2020-07-28 18:09:11,806 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 58 states. [2020-07-28 18:09:11,806 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 58 states. [2020-07-28 18:09:11,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:11,809 INFO L93 Difference]: Finished difference Result 74 states and 96 transitions. [2020-07-28 18:09:11,809 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 96 transitions. [2020-07-28 18:09:11,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:11,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:11,810 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 74 states. [2020-07-28 18:09:11,810 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 74 states. [2020-07-28 18:09:11,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 18:09:11,812 INFO L93 Difference]: Finished difference Result 74 states and 96 transitions. [2020-07-28 18:09:11,812 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 96 transitions. [2020-07-28 18:09:11,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 18:09:11,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 18:09:11,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 18:09:11,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 18:09:11,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2020-07-28 18:09:11,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 75 transitions. [2020-07-28 18:09:11,815 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 75 transitions. Word has length 47 [2020-07-28 18:09:11,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 18:09:11,816 INFO L479 AbstractCegarLoop]: Abstraction has 58 states and 75 transitions. [2020-07-28 18:09:11,816 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-28 18:09:11,816 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 75 transitions. [2020-07-28 18:09:11,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-28 18:09:11,817 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 18:09:11,817 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 18:09:12,023 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 18:09:12,024 INFO L427 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 18:09:12,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 18:09:12,025 INFO L82 PathProgramCache]: Analyzing trace with hash 2038355520, now seen corresponding path program 1 times [2020-07-28 18:09:12,025 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 18:09:12,026 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [975182386] [2020-07-28 18:09:12,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 18:09:12,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 18:09:12,136 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 18:09:12,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 18:09:12,211 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 18:09:12,250 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 18:09:12,251 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 18:09:12,251 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-28 18:09:12,359 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L569-3 has no Hoare annotation [2020-07-28 18:09:12,360 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L565 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L590-3 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L590-3 has no Hoare annotation [2020-07-28 18:09:12,361 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-28 18:09:12,362 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L576-2 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L596-2 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-28 18:09:12,364 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-28 18:09:12,365 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-28 18:09:12,365 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-28 18:09:12,365 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-28 18:09:12,365 WARN L170 areAnnotationChecker]: L598-2 has no Hoare annotation [2020-07-28 18:09:12,365 WARN L170 areAnnotationChecker]: L591-2 has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: L579-2 has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: L598-3 has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: L598-3 has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: L591-3 has no Hoare annotation [2020-07-28 18:09:12,366 WARN L170 areAnnotationChecker]: L591-3 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L598-5 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L598-5 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L591-5 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L591-5 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-28 18:09:12,367 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-28 18:09:12,368 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-28 18:09:12,370 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.07 06:09:12 BoogieIcfgContainer [2020-07-28 18:09:12,370 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-28 18:09:12,371 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-28 18:09:12,371 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-28 18:09:12,371 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-28 18:09:12,371 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 06:08:58" (3/4) ... [2020-07-28 18:09:12,373 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2020-07-28 18:09:12,463 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2020-07-28 18:09:12,463 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-28 18:09:12,465 INFO L168 Benchmark]: Toolchain (without parser) took 15373.92 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 344.5 MB). Free memory was 960.2 MB in the beginning and 1.3 GB in the end (delta: -366.0 MB). There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 18:09:12,466 INFO L168 Benchmark]: CDTParser took 0.30 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 18:09:12,466 INFO L168 Benchmark]: CACSL2BoogieTranslator took 605.34 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 108.5 MB). Free memory was 954.9 MB in the beginning and 1.1 GB in the end (delta: -128.7 MB). Peak memory consumption was 26.3 MB. Max. memory is 11.5 GB. [2020-07-28 18:09:12,467 INFO L168 Benchmark]: Boogie Procedure Inliner took 61.63 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2020-07-28 18:09:12,467 INFO L168 Benchmark]: Boogie Preprocessor took 42.42 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 18:09:12,468 INFO L168 Benchmark]: RCFGBuilder took 608.31 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 31.9 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. [2020-07-28 18:09:12,468 INFO L168 Benchmark]: TraceAbstraction took 13954.74 ms. Allocated memory was 1.1 GB in the beginning and 1.4 GB in the end (delta: 235.9 MB). Free memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: -292.5 MB). Peak memory consumption was 426.7 MB. Max. memory is 11.5 GB. [2020-07-28 18:09:12,468 INFO L168 Benchmark]: Witness Printer took 92.51 ms. Allocated memory is still 1.4 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 11.1 MB). Peak memory consumption was 11.1 MB. Max. memory is 11.5 GB. [2020-07-28 18:09:12,471 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.30 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 605.34 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 108.5 MB). Free memory was 954.9 MB in the beginning and 1.1 GB in the end (delta: -128.7 MB). Peak memory consumption was 26.3 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 61.63 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 42.42 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 608.31 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 31.9 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 13954.74 ms. Allocated memory was 1.1 GB in the beginning and 1.4 GB in the end (delta: 235.9 MB). Free memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: -292.5 MB). Peak memory consumption was 426.7 MB. Max. memory is 11.5 GB. * Witness Printer took 92.51 ms. Allocated memory is still 1.4 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 11.1 MB). Peak memory consumption was 11.1 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 605]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L588] const int len = 5; [L568] DLL head = ((void *)0); [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND FALSE !(\read(head)) [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND FALSE !(len > 0) [L585] return head; [L589] DLL head = dll_create(len); [L590] head->next [L590] COND TRUE head->next [L591] EXPR head->data_0 [L591] EXPR 0 != head->data_0 || 0 != head->data_1 [L591] EXPR head->data_1 [L591] EXPR 0 != head->data_0 || 0 != head->data_1 [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L591] EXPR head->data_2 [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L591] COND TRUE 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L605] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 29 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 13.7s, OverallIterations: 9, TraceHistogramMax: 5, AutomataDifference: 7.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 218 SDtfs, 746 SDslu, 544 SDs, 0 SdLazy, 611 SolverSat, 178 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.5s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 241 GetRequests, 170 SyntacticMatches, 0 SemanticMatches, 71 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 244 ImplicationChecksByTransitivity, 2.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=58occurred in iteration=8, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 51 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 1.1s SatisfiabilityAnalysisTime, 3.0s InterpolantComputationTime, 427 NumberOfCodeBlocks, 420 NumberOfCodeBlocksAsserted, 18 NumberOfCheckSat, 367 ConstructedInterpolants, 0 QuantifiedInterpolants, 45624 SizeOfPredicates, 42 NumberOfNonLiveVariables, 777 ConjunctsInSsa, 77 ConjunctsInUnsatCore, 13 InterpolantComputations, 3 PerfectInterpolantSequences, 184/319 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...