java -Xmx6000000000 -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data ./data --generate-csv --csv-dir ../../../releaseScripts/default/UAutomizer-linux/csv -tc ../../../trunk/examples/toolchains/AbstractInterpretationC.xml -s ../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf -i ../../../trunk/examples/svcomp/forester-heap/sll-01_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-6b94a2f [2018-01-24 16:34:18,621 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-01-24 16:34:18,623 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-01-24 16:34:18,637 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-01-24 16:34:18,638 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-01-24 16:34:18,638 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-01-24 16:34:18,639 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-01-24 16:34:18,640 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-01-24 16:34:18,642 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-01-24 16:34:18,643 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-01-24 16:34:18,643 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-01-24 16:34:18,644 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-01-24 16:34:18,644 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-01-24 16:34:18,645 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-01-24 16:34:18,646 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-01-24 16:34:18,648 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-01-24 16:34:18,651 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-01-24 16:34:18,653 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-01-24 16:34:18,654 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-01-24 16:34:18,656 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-01-24 16:34:18,658 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-01-24 16:34:18,659 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-01-24 16:34:18,659 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-01-24 16:34:18,660 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-01-24 16:34:18,661 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-01-24 16:34:18,662 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-01-24 16:34:18,663 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-01-24 16:34:18,663 INFO L177 SettingsManager]: PEA to Boogie provides no preferences, ignoring... [2018-01-24 16:34:18,664 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-01-24 16:34:18,664 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-01-24 16:34:18,665 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-01-24 16:34:18,665 INFO L98 SettingsManager]: Beginning loading settings from /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf [2018-01-24 16:34:18,676 INFO L110 SettingsManager]: Loading preferences was successful [2018-01-24 16:34:18,676 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-01-24 16:34:18,677 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-01-24 16:34:18,677 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-01-24 16:34:18,678 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-01-24 16:34:18,678 INFO L133 SettingsManager]: * Deactivate Weak Equivalences=true [2018-01-24 16:34:18,678 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-01-24 16:34:18,678 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-01-24 16:34:18,679 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-01-24 16:34:18,679 INFO L133 SettingsManager]: * sizeof long=4 [2018-01-24 16:34:18,679 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * Bitprecise bitfields=true [2018-01-24 16:34:18,680 INFO L133 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2018-01-24 16:34:18,681 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-01-24 16:34:18,681 INFO L133 SettingsManager]: * sizeof long double=12 [2018-01-24 16:34:18,681 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-01-24 16:34:18,681 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-01-24 16:34:18,682 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-01-24 16:34:18,682 INFO L133 SettingsManager]: * Add additional assume for each assert=false [2018-01-24 16:34:18,682 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-01-24 16:34:18,682 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-01-24 16:34:18,682 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-01-24 16:34:18,683 INFO L133 SettingsManager]: * Interpolant automaton=TWOTRACK [2018-01-24 16:34:18,683 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-01-24 16:34:18,683 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-01-24 16:34:18,683 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-01-24 16:34:18,683 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-01-24 16:34:18,684 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-01-24 16:34:18,684 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-01-24 16:34:18,685 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-01-24 16:34:18,685 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-01-24 16:34:18,722 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-01-24 16:34:18,735 INFO L266 ainManager$Toolchain]: [Toolchain 1]: Parser(s) successfully initialized [2018-01-24 16:34:18,739 INFO L222 ainManager$Toolchain]: [Toolchain 1]: Toolchain data selected. [2018-01-24 16:34:18,741 INFO L271 PluginConnector]: Initializing CDTParser... [2018-01-24 16:34:18,742 INFO L276 PluginConnector]: CDTParser initialized [2018-01-24 16:34:18,742 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/sll-01_true-unreach-call_true-valid-memsafety.i [2018-01-24 16:34:18,913 INFO L304 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-01-24 16:34:18,919 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-01-24 16:34:18,920 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-01-24 16:34:18,920 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-01-24 16:34:18,925 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-01-24 16:34:18,926 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 04:34:18" (1/1) ... [2018-01-24 16:34:18,928 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@428be157 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:18, skipping insertion in model container [2018-01-24 16:34:18,928 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 04:34:18" (1/1) ... [2018-01-24 16:34:18,946 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 16:34:18,992 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 16:34:19,125 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 16:34:19,156 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 16:34:19,168 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19 WrapperNode [2018-01-24 16:34:19,168 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-01-24 16:34:19,169 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-01-24 16:34:19,169 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-01-24 16:34:19,169 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-01-24 16:34:19,182 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,183 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,193 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,194 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,203 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,210 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,212 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,216 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-01-24 16:34:19,216 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-01-24 16:34:19,216 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-01-24 16:34:19,217 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-01-24 16:34:19,218 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:19" (1/1) ... No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-01-24 16:34:19,279 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-01-24 16:34:19,279 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-01-24 16:34:19,280 INFO L136 BoogieDeclarations]: Found implementation of procedure main [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.free [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-01-24 16:34:19,280 INFO L128 BoogieDeclarations]: Found specification of procedure malloc [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure free [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure main [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-01-24 16:34:19,281 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-01-24 16:34:19,873 INFO L257 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-01-24 16:34:19,874 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.01 04:34:19 BoogieIcfgContainer [2018-01-24 16:34:19,874 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-01-24 16:34:19,874 INFO L113 PluginConnector]: ------------------------Abstract Interpretation---------------------------- [2018-01-24 16:34:19,875 INFO L271 PluginConnector]: Initializing Abstract Interpretation... [2018-01-24 16:34:19,875 INFO L276 PluginConnector]: Abstract Interpretation initialized [2018-01-24 16:34:19,876 INFO L185 PluginConnector]: Executing the observer AbstractInterpretationRcfgObserver from plugin Abstract Interpretation for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.01 04:34:19" (1/1) ... [2018-01-24 16:34:19,932 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=2) [2018-01-24 16:34:23,592 INFO L259 AbstractInterpreter]: Some error location(s) were reachable [2018-01-24 16:34:23,647 WARN L343 cessorBacktranslator]: Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) [2018-01-24 16:34:23,663 INFO L268 AbstractInterpreter]: Visited 235 different actions 973 times. Merged at 140 different actions 460 times. Widened at 12 different actions 18 times. Found 44 fixpoints after 25 different actions. Largest state had 69 variables. [2018-01-24 16:34:23,666 INFO L132 PluginConnector]: ------------------------ END Abstract Interpretation---------------------------- [2018-01-24 16:34:23,667 INFO L168 Benchmark]: Toolchain (without parser) took 4753.03 ms. Allocated memory was 304.6 MB in the beginning and 634.9 MB in the end (delta: 330.3 MB). Free memory was 264.7 MB in the beginning and 353.7 MB in the end (delta: -89.1 MB). Peak memory consumption was 241.2 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:23,668 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 304.6 MB. Free memory is still 270.6 MB. There was no memory consumed. Max. memory is 5.3 GB. [2018-01-24 16:34:23,668 INFO L168 Benchmark]: CACSL2BoogieTranslator took 248.51 ms. Allocated memory is still 304.6 MB. Free memory was 263.7 MB in the beginning and 251.5 MB in the end (delta: 12.2 MB). Peak memory consumption was 12.2 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:23,668 INFO L168 Benchmark]: Boogie Preprocessor took 47.06 ms. Allocated memory is still 304.6 MB. Free memory was 251.5 MB in the beginning and 249.5 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:23,669 INFO L168 Benchmark]: RCFGBuilder took 657.58 ms. Allocated memory is still 304.6 MB. Free memory was 249.5 MB in the beginning and 206.2 MB in the end (delta: 43.2 MB). Peak memory consumption was 43.2 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:23,669 INFO L168 Benchmark]: Abstract Interpretation took 3791.54 ms. Allocated memory was 304.6 MB in the beginning and 634.9 MB in the end (delta: 330.3 MB). Free memory was 206.2 MB in the beginning and 353.7 MB in the end (delta: -147.5 MB). Peak memory consumption was 182.8 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:23,671 INFO L344 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25 ms. Allocated memory is still 304.6 MB. Free memory is still 270.6 MB. There was no memory consumed. Max. memory is 5.3 GB. * CACSL2BoogieTranslator took 248.51 ms. Allocated memory is still 304.6 MB. Free memory was 263.7 MB in the beginning and 251.5 MB in the end (delta: 12.2 MB). Peak memory consumption was 12.2 MB. Max. memory is 5.3 GB. * Boogie Preprocessor took 47.06 ms. Allocated memory is still 304.6 MB. Free memory was 251.5 MB in the beginning and 249.5 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. * RCFGBuilder took 657.58 ms. Allocated memory is still 304.6 MB. Free memory was 249.5 MB in the beginning and 206.2 MB in the end (delta: 43.2 MB). Peak memory consumption was 43.2 MB. Max. memory is 5.3 GB. * Abstract Interpretation took 3791.54 ms. Allocated memory was 304.6 MB in the beginning and 634.9 MB in the end (delta: 330.3 MB). Free memory was 206.2 MB in the beginning and 353.7 MB in the end (delta: -147.5 MB). Peak memory consumption was 182.8 MB. Max. memory is 5.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 161 LocStat_MAX_WEQGRAPH_SIZE : 0 LocStat_MAX_SIZEOF_WEQEDGELABEL : 0 LocStat_NO_SUPPORTING_EQUALITIES : 1854 LocStat_NO_SUPPORTING_DISEQUALITIES : 526 LocStat_NO_DISJUNCTIONS : -322 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 239 TransStat_MAX_WEQGRAPH_SIZE : 0 TransStat_MAX_SIZEOF_WEQEDGELABEL : 0 TransStat_NO_SUPPORTING_EQUALITIES : 281 TransStat_NO_SUPPORTING_DISEQUALITIES : 88 TransStat_NO_DISJUNCTIONS : 249 TransStat_MAX_NO_DISJUNCTIONS : 4 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 0.610197 RENAME_VARIABLES(MILLISECONDS) : 0.143880 UNFREEZE(MILLISECONDS) : 0.000000 CONJOIN(MILLISECONDS) : 0.176098 PROJECTAWAY(MILLISECONDS) : 0.021190 ADD_WEAK_EQUALITY(MILLISECONDS) : 0.002395 DISJOIN(MILLISECONDS) : 0.228170 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 0.162611 ADD_EQUALITY(MILLISECONDS) : 0.012587 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.000000 ADD_DISEQUALITY(MILLISECONDS) : 0.014073 #CONJOIN_DISJUNCTIVE : 1552 #RENAME_VARIABLES : 2932 #UNFREEZE : 0 #CONJOIN : 1717 #PROJECTAWAY : 1466 #ADD_WEAK_EQUALITY : 55 #DISJOIN : 278 #RENAME_VARIABLES_DISJUNCTIVE : 2970 #ADD_EQUALITY : 282 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 74 - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] list->inner != ((void*)0) || list->inner == ((void*)0) [L993] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] FCALL end->next - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] FCALL end->next - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND TRUE __VERIFIER_nondet_int() [L1005] FCALL end->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner [L1020] COND TRUE len == 0 [L1021] len = 1 [L1024] COND FALSE !(!(((void*)0) != inner)) [L1024] COND FALSE !(0) [L1025] FCALL inner->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner [L1020] COND TRUE len == 0 [L1021] len = 1 [L1024] COND FALSE !(!(((void*)0) != inner)) [L1024] COND FALSE !(0) [L1025] FCALL inner->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND TRUE __VERIFIER_nondet_int() [L1005] FCALL end->inner = ((void*)0) [L1005] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) [L1005] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->next = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND TRUE __VERIFIER_nondet_int() [L1005] FCALL end->inner = ((void*)0) [L1005] EXPR, FCALL end->inner [L1005] end->inner != ((void*)0) || end->inner == ((void*)0) [L1005] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->next = ((void*)0) [L1005] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner [L1020] COND TRUE len == 0 [L1021] len = 1 [L1024] COND FALSE !(!(((void*)0) != inner)) [L1024] COND FALSE !(0) [L1025] EXPR, FCALL inner->inner [L1025] COND FALSE !(!(((void*)0) == inner->inner)) [L1025] COND FALSE !(0) [L1026] FCALL inner->next - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->next = ((void*)0) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND TRUE __VERIFIER_nondet_int() [L1001] EXPR, FCALL malloc(sizeof(SLL)) [L1001] FCALL end->next = malloc(sizeof(SLL)) [L1002] EXPR, FCALL end->next [L1002] end = end->next [L1003] FCALL end->next = ((void*)0) [L1004] COND FALSE !(!(((void*)0) != end)) [L1004] COND FALSE !(0) [L1005] COND FALSE !(!(end != ((void*)0))) [L1005] COND FALSE !(0) [L1005] COND FALSE !(__VERIFIER_nondet_int()) [L1005] EXPR, FCALL malloc(sizeof(SLL)) [L1005] FCALL end->inner = malloc(sizeof(SLL)) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->next = ((void*)0) [L1005] EXPR, FCALL end->inner [L1005] FCALL end->inner->inner = ((void*)0) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND FALSE !(((void*)0) != end) [L1047] FCALL list->next - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner [L1020] COND TRUE len == 0 [L1021] len = 1 [L1024] COND FALSE !(!(((void*)0) != inner)) [L1024] COND FALSE !(0) [L1025] EXPR, FCALL inner->inner [L1025] COND FALSE !(!(((void*)0) == inner->inner)) [L1025] COND FALSE !(0) [L1026] EXPR, FCALL inner->next [L1026] COND FALSE !(!(((void*)0) == inner->next)) [L1026] COND FALSE !(0) [L1027] FCALL inner->inner - UnprovableResult [Line: 988]: Unable to prove that all allocated memory was freed Unable to prove that all allocated memory was freed Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND TRUE __VERIFIER_nondet_int() [L993] FCALL list->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND FALSE !(((void*)0) != end) [L1047] EXPR, FCALL list->next [L1047] end = list->next [L1048] FCALL free(list) [L1049] list = end [L1035] COND FALSE !(((void*)0) != list) [L1052] return 0; - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND TRUE ((void*)0) != end [L1041] COND FALSE !(!(((void*)0) != end)) [L1041] COND FALSE !(0) [L1042] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND TRUE ((void*)0) != end [L1041] COND FALSE !(!(((void*)0) != end)) [L1041] COND FALSE !(0) [L1042] FCALL end->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND FALSE !(((void*)0) != end) [L1047] EXPR, FCALL list->next [L1047] end = list->next [L1048] FCALL free(list) [L1049] list = end [L1035] COND TRUE ((void*)0) != list [L1037] FCALL list->inner - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND TRUE ((void*)0) != end [L1041] COND FALSE !(!(((void*)0) != end)) [L1041] COND FALSE !(0) [L1042] EXPR, FCALL end->inner [L1042] COND FALSE !(!(((void*)0) == end->inner)) [L1042] COND FALSE !(0) [L1043] FCALL end->next - UnprovableResult [Line: 1]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND TRUE ((void*)0) != end [L1041] COND FALSE !(!(((void*)0) != end)) [L1041] COND FALSE !(0) [L1042] EXPR, FCALL end->inner [L1042] COND FALSE !(!(((void*)0) == end->inner)) [L1042] COND FALSE !(0) [L1043] EXPR, FCALL end->next [L1043] COND FALSE !(!(((void*)0) == end->next)) [L1043] COND FALSE !(0) [L1044] FCALL free(end) - UnprovableResult [Line: 1]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND FALSE !(((void*)0) != end) [L1047] EXPR, FCALL list->next [L1047] end = list->next [L1048] FCALL free(list) [L1049] list = end [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND FALSE !(((void*)0) != end) [L1047] EXPR, FCALL list->next [L1047] end = list->next [L1048] FCALL free(list) - UnprovableResult [Line: 1]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: abstract domain could reach this error location. Possible FailurePath: [L991] EXPR, FCALL malloc(sizeof(SLL)) [L991] SLL* list = malloc(sizeof(SLL)); [L992] FCALL list->next = ((void*)0) [L993] COND FALSE !(!(list != ((void*)0))) [L993] COND FALSE !(0) [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] EXPR, FCALL malloc(sizeof(SLL)) [L993] FCALL list->inner = malloc(sizeof(SLL)) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->next = ((void*)0) [L993] EXPR, FCALL list->inner [L993] FCALL list->inner->inner = ((void*)0) [L993] EXPR, FCALL list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L993] COND FALSE !(0) [L995] SLL* end = list; [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list [L1012] COND FALSE !(!(((void*)0) != end)) [L1012] COND FALSE !(0) [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR, FCALL end->inner [L1017] SLL* inner = end->inner; [L1018] COND FALSE !(((void*)0) != inner) [L1029] COND FALSE !(!(len <= 1)) [L1029] COND FALSE !(0) [L1031] EXPR, FCALL end->next [L1031] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1035] COND TRUE ((void*)0) != list [L1037] EXPR, FCALL list->inner [L1037] end = list->inner [L1039] COND TRUE ((void*)0) != end [L1041] COND FALSE !(!(((void*)0) != end)) [L1041] COND FALSE !(0) [L1042] EXPR, FCALL end->inner [L1042] COND FALSE !(!(((void*)0) == end->inner)) [L1042] COND FALSE !(0) [L1043] EXPR, FCALL end->next [L1043] COND FALSE !(!(((void*)0) == end->next)) [L1043] COND FALSE !(0) [L1044] FCALL free(end) [L1045] end = ((void*)0) [L1047] FCALL list->next - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: free always succeeds For all program executions holds that free always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: free always succeeds For all program executions holds that free always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/sll-01_true-unreach-call_true-valid-memsafety.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-Benchmark-0-2018-01-24_16-34-23-682.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/sll-01_true-unreach-call_true-valid-memsafety.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-VPDomainBenchmark-0-2018-01-24_16-34-23-682.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/sll-01_true-unreach-call_true-valid-memsafety.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-BenchmarkWithCounters-0-2018-01-24_16-34-23-682.csv Received shutdown request...