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_false-unreach-call_false-valid-deref.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-6b94a2f [2018-01-24 16:34:53,157 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-01-24 16:34:53,160 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-01-24 16:34:53,173 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-01-24 16:34:53,173 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-01-24 16:34:53,174 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-01-24 16:34:53,176 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-01-24 16:34:53,177 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-01-24 16:34:53,179 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-01-24 16:34:53,180 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-01-24 16:34:53,180 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-01-24 16:34:53,180 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-01-24 16:34:53,181 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-01-24 16:34:53,182 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-01-24 16:34:53,183 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-01-24 16:34:53,185 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-01-24 16:34:53,188 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-01-24 16:34:53,190 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-01-24 16:34:53,191 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-01-24 16:34:53,192 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-01-24 16:34:53,195 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-01-24 16:34:53,195 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-01-24 16:34:53,195 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-01-24 16:34:53,196 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-01-24 16:34:53,197 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-01-24 16:34:53,199 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-01-24 16:34:53,199 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-01-24 16:34:53,200 INFO L177 SettingsManager]: PEA to Boogie provides no preferences, ignoring... [2018-01-24 16:34:53,200 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-01-24 16:34:53,200 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-01-24 16:34:53,201 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-01-24 16:34:53,201 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:53,211 INFO L110 SettingsManager]: Loading preferences was successful [2018-01-24 16:34:53,212 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-01-24 16:34:53,213 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-01-24 16:34:53,213 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-01-24 16:34:53,213 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-01-24 16:34:53,213 INFO L133 SettingsManager]: * Deactivate Weak Equivalences=true [2018-01-24 16:34:53,214 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-01-24 16:34:53,214 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-01-24 16:34:53,214 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-01-24 16:34:53,215 INFO L133 SettingsManager]: * sizeof long=4 [2018-01-24 16:34:53,215 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-01-24 16:34:53,215 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-01-24 16:34:53,215 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * Bitprecise bitfields=true [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-01-24 16:34:53,216 INFO L133 SettingsManager]: * sizeof long double=12 [2018-01-24 16:34:53,217 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-01-24 16:34:53,217 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-01-24 16:34:53,217 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-01-24 16:34:53,217 INFO L133 SettingsManager]: * Add additional assume for each assert=false [2018-01-24 16:34:53,217 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-01-24 16:34:53,218 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-01-24 16:34:53,218 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-01-24 16:34:53,218 INFO L133 SettingsManager]: * Interpolant automaton=TWOTRACK [2018-01-24 16:34:53,218 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-01-24 16:34:53,219 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-01-24 16:34:53,219 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-01-24 16:34:53,219 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-01-24 16:34:53,219 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-01-24 16:34:53,219 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-01-24 16:34:53,220 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-01-24 16:34:53,220 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-01-24 16:34:53,256 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-01-24 16:34:53,270 INFO L266 ainManager$Toolchain]: [Toolchain 1]: Parser(s) successfully initialized [2018-01-24 16:34:53,274 INFO L222 ainManager$Toolchain]: [Toolchain 1]: Toolchain data selected. [2018-01-24 16:34:53,276 INFO L271 PluginConnector]: Initializing CDTParser... [2018-01-24 16:34:53,276 INFO L276 PluginConnector]: CDTParser initialized [2018-01-24 16:34:53,277 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/sll-01_false-unreach-call_false-valid-deref.i [2018-01-24 16:34:53,471 INFO L304 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-01-24 16:34:53,478 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-01-24 16:34:53,479 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-01-24 16:34:53,479 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-01-24 16:34:53,486 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-01-24 16:34:53,487 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 04:34:53" (1/1) ... [2018-01-24 16:34:53,490 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@321f72c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:53, skipping insertion in model container [2018-01-24 16:34:53,490 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 04:34:53" (1/1) ... [2018-01-24 16:34:53,508 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 16:34:53,552 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 16:34:53,681 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 16:34:53,702 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 16:34:53,709 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:53 WrapperNode [2018-01-24 16:34:53,709 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-01-24 16:34:53,710 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-01-24 16:34:53,710 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-01-24 16:34:53,710 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-01-24 16:34:53,721 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:53" (1/1) ... [2018-01-24 16:34:53,721 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:53" (1/1) ... [2018-01-24 16:34:53,732 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:53" (1/1) ... [2018-01-24 16:34:53,732 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:53" (1/1) ... [2018-01-24 16:34:53,740 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:53" (1/1) ... [2018-01-24 16:34:53,746 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:53" (1/1) ... [2018-01-24 16:34:53,748 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:53" (1/1) ... [2018-01-24 16:34:53,750 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-01-24 16:34:53,751 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-01-24 16:34:53,751 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-01-24 16:34:53,751 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-01-24 16:34:53,752 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 04:34:53" (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:53,799 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-01-24 16:34:53,799 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-01-24 16:34:53,799 INFO L136 BoogieDeclarations]: Found implementation of procedure main [2018-01-24 16:34:53,799 INFO L128 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-01-24 16:34:53,799 INFO L128 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.free [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure malloc [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure free [2018-01-24 16:34:53,800 INFO L128 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-01-24 16:34:53,801 INFO L128 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-01-24 16:34:53,801 INFO L128 BoogieDeclarations]: Found specification of procedure main [2018-01-24 16:34:53,801 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-01-24 16:34:53,801 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-01-24 16:34:54,463 INFO L257 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-01-24 16:34:54,463 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.01 04:34:54 BoogieIcfgContainer [2018-01-24 16:34:54,464 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-01-24 16:34:54,464 INFO L113 PluginConnector]: ------------------------Abstract Interpretation---------------------------- [2018-01-24 16:34:54,465 INFO L271 PluginConnector]: Initializing Abstract Interpretation... [2018-01-24 16:34:54,465 INFO L276 PluginConnector]: Abstract Interpretation initialized [2018-01-24 16:34:54,466 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:54" (1/1) ... [2018-01-24 16:34:54,514 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=2) [2018-01-24 16:34:58,661 INFO L259 AbstractInterpreter]: Some error location(s) were reachable [2018-01-24 16:34:58,708 WARN L343 cessorBacktranslator]: Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) [2018-01-24 16:34:58,721 INFO L268 AbstractInterpreter]: Visited 241 different actions 1019 times. Merged at 145 different actions 493 times. Widened at 12 different actions 18 times. Found 42 fixpoints after 27 different actions. Largest state had 71 variables. [2018-01-24 16:34:58,724 INFO L132 PluginConnector]: ------------------------ END Abstract Interpretation---------------------------- [2018-01-24 16:34:58,725 INFO L168 Benchmark]: Toolchain (without parser) took 5253.24 ms. Allocated memory was 305.1 MB in the beginning and 756.0 MB in the end (delta: 450.9 MB). Free memory was 265.2 MB in the beginning and 704.8 MB in the end (delta: -439.6 MB). Peak memory consumption was 11.3 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:58,726 INFO L168 Benchmark]: CDTParser took 0.19 ms. Allocated memory is still 305.1 MB. Free memory is still 271.1 MB. There was no memory consumed. Max. memory is 5.3 GB. [2018-01-24 16:34:58,726 INFO L168 Benchmark]: CACSL2BoogieTranslator took 230.80 ms. Allocated memory is still 305.1 MB. Free memory was 264.2 MB in the beginning and 252.0 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:58,727 INFO L168 Benchmark]: Boogie Preprocessor took 40.89 ms. Allocated memory is still 305.1 MB. Free memory was 252.0 MB in the beginning and 250.0 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:58,727 INFO L168 Benchmark]: RCFGBuilder took 712.85 ms. Allocated memory is still 305.1 MB. Free memory was 249.0 MB in the beginning and 205.9 MB in the end (delta: 43.0 MB). Peak memory consumption was 43.0 MB. Max. memory is 5.3 GB. [2018-01-24 16:34:58,728 INFO L168 Benchmark]: Abstract Interpretation took 4259.92 ms. Allocated memory was 305.1 MB in the beginning and 756.0 MB in the end (delta: 450.9 MB). Free memory was 205.9 MB in the beginning and 704.8 MB in the end (delta: -498.9 MB). There was no memory consumed. Max. memory is 5.3 GB. [2018-01-24 16:34:58,729 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.19 ms. Allocated memory is still 305.1 MB. Free memory is still 271.1 MB. There was no memory consumed. Max. memory is 5.3 GB. * CACSL2BoogieTranslator took 230.80 ms. Allocated memory is still 305.1 MB. Free memory was 264.2 MB in the beginning and 252.0 MB in the end (delta: 12.2 MB). Peak memory consumption was 12.2 MB. Max. memory is 5.3 GB. * Boogie Preprocessor took 40.89 ms. Allocated memory is still 305.1 MB. Free memory was 252.0 MB in the beginning and 250.0 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. * RCFGBuilder took 712.85 ms. Allocated memory is still 305.1 MB. Free memory was 249.0 MB in the beginning and 205.9 MB in the end (delta: 43.0 MB). Peak memory consumption was 43.0 MB. Max. memory is 5.3 GB. * Abstract Interpretation took 4259.92 ms. Allocated memory was 305.1 MB in the beginning and 756.0 MB in the end (delta: 450.9 MB). Free memory was 205.9 MB in the beginning and 704.8 MB in the end (delta: -498.9 MB). There was no memory consumed. Max. memory is 5.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 166 LocStat_MAX_WEQGRAPH_SIZE : 0 LocStat_MAX_SIZEOF_WEQEDGELABEL : 0 LocStat_NO_SUPPORTING_EQUALITIES : 1918 LocStat_NO_SUPPORTING_DISEQUALITIES : 541 LocStat_NO_DISJUNCTIONS : -332 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 245 TransStat_MAX_WEQGRAPH_SIZE : 0 TransStat_MAX_SIZEOF_WEQEDGELABEL : 0 TransStat_NO_SUPPORTING_EQUALITIES : 289 TransStat_NO_SUPPORTING_DISEQUALITIES : 90 TransStat_NO_DISJUNCTIONS : 256 TransStat_MAX_NO_DISJUNCTIONS : 4 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 0.003157 RENAME_VARIABLES(MILLISECONDS) : 0.286067 UNFREEZE(MILLISECONDS) : 0.000000 CONJOIN(MILLISECONDS) : 0.000701 PROJECTAWAY(MILLISECONDS) : 0.031657 ADD_WEAK_EQUALITY(MILLISECONDS) : 0.002788 DISJOIN(MILLISECONDS) : 0.694481 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 0.314320 ADD_EQUALITY(MILLISECONDS) : 0.011441 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.000000 ADD_DISEQUALITY(MILLISECONDS) : 0.014525 #CONJOIN_DISJUNCTIVE : 1624 #RENAME_VARIABLES : 3070 #UNFREEZE : 0 #CONJOIN : 1790 #PROJECTAWAY : 1543 #ADD_WEAK_EQUALITY : 55 #DISJOIN : 298 #RENAME_VARIABLES_DISJUNCTIVE : 3110 #ADD_EQUALITY : 290 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 76 - 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND FALSE !(((void*)0) != end) [L1049] 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: 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] EXPR, FCALL inner->inner [L1027] inner = inner->inner [L1028] COND TRUE len == 1 [L1029] 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] 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] EXPR, FCALL inner->inner [L1027] inner = inner->inner [L1028] COND TRUE len == 1 [L1029] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND FALSE !(((void*)0) != end) [L1049] EXPR, FCALL list->next [L1049] end = list->next [L1050] FCALL free(list) [L1051] list = end [L1037] COND FALSE !(((void*)0) != list) [L1054] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND TRUE ((void*)0) != end [L1043] COND FALSE !(!(((void*)0) != end)) [L1043] COND FALSE !(0) [L1044] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND TRUE ((void*)0) != end [L1043] COND FALSE !(!(((void*)0) != end)) [L1043] COND FALSE !(0) [L1044] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND FALSE !(((void*)0) != end) [L1049] EXPR, FCALL list->next [L1049] end = list->next [L1050] FCALL free(list) [L1051] list = end [L1037] COND TRUE ((void*)0) != list [L1039] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND TRUE ((void*)0) != end [L1043] COND FALSE !(!(((void*)0) != end)) [L1043] COND FALSE !(0) [L1044] EXPR, FCALL end->inner [L1044] COND FALSE !(!(((void*)0) == end->inner)) [L1044] COND FALSE !(0) [L1045] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND TRUE ((void*)0) != end [L1043] COND FALSE !(!(((void*)0) != end)) [L1043] COND FALSE !(0) [L1044] EXPR, FCALL end->inner [L1044] COND FALSE !(!(((void*)0) == end->inner)) [L1044] COND FALSE !(0) [L1045] EXPR, FCALL end->next [L1045] COND FALSE !(!(((void*)0) == end->next)) [L1045] COND FALSE !(0) [L1046] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND FALSE !(((void*)0) != end) [L1049] EXPR, FCALL list->next [L1049] end = list->next [L1050] FCALL free(list) [L1051] list = end [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND FALSE !(((void*)0) != end) [L1049] EXPR, FCALL list->next [L1049] end = list->next [L1050] 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) [L1031] COND FALSE !(!(len <= 1)) [L1031] COND FALSE !(0) [L1033] EXPR, FCALL end->next [L1033] end = end->next [L1014] COND FALSE !(((void*)0) != end) [L1037] COND TRUE ((void*)0) != list [L1039] EXPR, FCALL list->inner [L1039] end = list->inner [L1041] COND TRUE ((void*)0) != end [L1043] COND FALSE !(!(((void*)0) != end)) [L1043] COND FALSE !(0) [L1044] EXPR, FCALL end->inner [L1044] COND FALSE !(!(((void*)0) == end->inner)) [L1044] COND FALSE !(0) [L1045] EXPR, FCALL end->next [L1045] COND FALSE !(!(((void*)0) == end->next)) [L1045] COND FALSE !(0) [L1046] FCALL free(end) [L1047] end = ((void*)0) [L1049] 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]: 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 - 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_false-unreach-call_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-Benchmark-0-2018-01-24_16-34-58-741.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/sll-01_false-unreach-call_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-VPDomainBenchmark-0-2018-01-24_16-34-58-741.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/sll-01_false-unreach-call_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Camel+AI_EQ_imprecise.epf_AbstractInterpretationC.xml/Csv-BenchmarkWithCounters-0-2018-01-24_16-34-58-741.csv Received shutdown request...