./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3340815bef7e21ae2d4803d7059577c1761bb3b7b4bb24b2b34d5d0d0054fd10 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:58:49,534 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:58:49,535 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:58:49,561 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:58:49,561 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:58:49,562 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:58:49,566 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:58:49,571 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:58:49,573 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:58:49,576 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:58:49,577 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:58:49,578 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:58:49,578 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:58:49,580 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:58:49,582 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:58:49,584 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:58:49,584 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:58:49,585 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:58:49,588 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:58:49,592 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:58:49,594 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:58:49,594 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:58:49,596 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:58:49,597 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:58:49,601 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:58:49,602 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:58:49,602 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:58:49,603 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:58:49,604 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:58:49,604 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:58:49,605 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:58:49,605 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:58:49,607 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:58:49,607 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:58:49,608 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:58:49,608 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:58:49,609 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:58:49,609 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:58:49,609 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:58:49,611 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:58:49,611 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:58:49,612 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:58:49,639 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:58:49,639 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:58:49,640 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:58:49,640 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:58:49,640 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:58:49,640 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:58:49,641 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:58:49,641 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:58:49,641 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:58:49,642 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:58:49,642 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:58:49,643 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:58:49,643 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:58:49,643 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:58:49,643 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:58:49,643 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 3340815bef7e21ae2d4803d7059577c1761bb3b7b4bb24b2b34d5d0d0054fd10 [2022-02-20 23:58:49,848 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:58:49,875 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:58:49,877 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:58:49,878 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:58:49,880 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:58:49,881 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i [2022-02-20 23:58:49,938 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/26a25b691/1d6066f80fc9466984f21c5f3af26633/FLAG760d2859b [2022-02-20 23:58:50,307 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:58:50,307 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i [2022-02-20 23:58:50,314 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/26a25b691/1d6066f80fc9466984f21c5f3af26633/FLAG760d2859b [2022-02-20 23:58:50,325 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/26a25b691/1d6066f80fc9466984f21c5f3af26633 [2022-02-20 23:58:50,327 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:58:50,327 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:58:50,330 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:58:50,330 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:58:50,332 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:58:50,336 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,337 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@522c67be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50, skipping insertion in model container [2022-02-20 23:58:50,337 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,342 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:58:50,376 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:58:50,625 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i[24151,24164] [2022-02-20 23:58:50,628 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:58:50,642 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:58:50,689 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i[24151,24164] [2022-02-20 23:58:50,694 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:58:50,716 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:58:50,717 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50 WrapperNode [2022-02-20 23:58:50,718 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:58:50,719 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:58:50,720 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:58:50,720 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:58:50,724 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,748 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,778 INFO L137 Inliner]: procedures = 126, calls = 36, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 125 [2022-02-20 23:58:50,779 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:58:50,780 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:58:50,780 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:58:50,780 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:58:50,786 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,786 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,798 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,798 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,809 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,816 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,823 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,825 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:58:50,828 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:58:50,828 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:58:50,828 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:58:50,829 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (1/1) ... [2022-02-20 23:58:50,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:58:50,844 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:50,858 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 23:58:50,875 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 23:58:50,897 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:58:50,898 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:58:50,898 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:58:50,898 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:58:50,898 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:58:50,898 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:58:50,899 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:58:50,899 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:58:51,019 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:58:51,023 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:58:51,380 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:58:51,385 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:58:51,385 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:58:51,386 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:58:51 BoogieIcfgContainer [2022-02-20 23:58:51,387 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:58:51,388 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:58:51,388 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:58:51,404 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:58:51,404 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:58:50" (1/3) ... [2022-02-20 23:58:51,405 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1479b7fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:58:51, skipping insertion in model container [2022-02-20 23:58:51,405 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:58:50" (2/3) ... [2022-02-20 23:58:51,405 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1479b7fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:58:51, skipping insertion in model container [2022-02-20 23:58:51,405 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:58:51" (3/3) ... [2022-02-20 23:58:51,406 INFO L111 eAbstractionObserver]: Analyzing ICFG sll2c_remove_all_reverse.i [2022-02-20 23:58:51,411 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:58:51,411 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 42 error locations. [2022-02-20 23:58:51,451 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:58:51,458 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:58:51,458 INFO L340 AbstractCegarLoop]: Starting to check reachability of 42 error locations. [2022-02-20 23:58:51,483 INFO L276 IsEmpty]: Start isEmpty. Operand has 97 states, 51 states have (on average 2.0392156862745097) internal successors, (104), 93 states have internal predecessors, (104), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:51,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:58:51,490 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:51,491 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:58:51,492 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:51,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:51,496 INFO L85 PathProgramCache]: Analyzing trace with hash 894197909, now seen corresponding path program 1 times [2022-02-20 23:58:51,503 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:51,504 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [468287020] [2022-02-20 23:58:51,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:51,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:51,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:51,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {100#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {100#true} is VALID [2022-02-20 23:58:51,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {100#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {100#true} is VALID [2022-02-20 23:58:51,672 INFO L272 TraceCheckUtils]: 2: Hoare triple {100#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {100#true} is VALID [2022-02-20 23:58:51,673 INFO L290 TraceCheckUtils]: 3: Hoare triple {100#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {102#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:51,674 INFO L290 TraceCheckUtils]: 4: Hoare triple {102#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {102#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:51,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {102#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(1 == #valid[~temp~0#1.base]); {101#false} is VALID [2022-02-20 23:58:51,676 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:51,677 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:51,677 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [468287020] [2022-02-20 23:58:51,678 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [468287020] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:51,678 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:51,678 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:58:51,681 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [834666744] [2022-02-20 23:58:51,682 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:51,687 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:58:51,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:51,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:51,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:51,705 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:58:51,705 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:51,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:58:51,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:58:51,731 INFO L87 Difference]: Start difference. First operand has 97 states, 51 states have (on average 2.0392156862745097) internal successors, (104), 93 states have internal predecessors, (104), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:51,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:51,924 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-02-20 23:58:51,925 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:58:51,925 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:58:51,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:51,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:51,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 108 transitions. [2022-02-20 23:58:51,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:51,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 108 transitions. [2022-02-20 23:58:51,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 108 transitions. [2022-02-20 23:58:52,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,044 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:58:52,044 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:58:52,045 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:58:52,047 INFO L933 BasicCegarLoop]: 94 mSDtfsCounter, 8 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:52,048 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:52,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:58:52,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-02-20 23:58:52,068 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:52,068 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,069 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,070 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,074 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-02-20 23:58:52,075 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:58:52,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,076 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:58:52,076 INFO L87 Difference]: Start difference. First operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:58:52,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,080 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-02-20 23:58:52,080 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:58:52,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:52,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:52,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 97 transitions. [2022-02-20 23:58:52,085 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 97 transitions. Word has length 6 [2022-02-20 23:58:52,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:52,086 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 97 transitions. [2022-02-20 23:58:52,086 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,086 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:58:52,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:58:52,086 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:52,086 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:58:52,087 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:58:52,087 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:52,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:52,088 INFO L85 PathProgramCache]: Analyzing trace with hash 894197910, now seen corresponding path program 1 times [2022-02-20 23:58:52,088 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:52,088 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692647981] [2022-02-20 23:58:52,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:52,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:52,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {476#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {476#true} is VALID [2022-02-20 23:58:52,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {476#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {476#true} is VALID [2022-02-20 23:58:52,130 INFO L272 TraceCheckUtils]: 2: Hoare triple {476#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {476#true} is VALID [2022-02-20 23:58:52,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {476#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {478#(and (= |node_create_~temp~0#1.offset| 0) (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 8)) 0))} is VALID [2022-02-20 23:58:52,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {478#(and (= |node_create_~temp~0#1.offset| 0) (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 8)) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {478#(and (= |node_create_~temp~0#1.offset| 0) (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 8)) 0))} is VALID [2022-02-20 23:58:52,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {478#(and (= |node_create_~temp~0#1.offset| 0) (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 8)) 0))} assume !(4 + ~temp~0#1.offset <= #length[~temp~0#1.base] && 0 <= ~temp~0#1.offset); {477#false} is VALID [2022-02-20 23:58:52,133 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:52,133 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:52,133 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [692647981] [2022-02-20 23:58:52,133 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [692647981] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:52,133 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:52,134 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:58:52,134 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [713565598] [2022-02-20 23:58:52,134 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:52,135 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:58:52,135 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:52,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,140 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:58:52,141 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:52,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:58:52,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:58:52,142 INFO L87 Difference]: Start difference. First operand 92 states and 97 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,258 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:58:52,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:58:52,259 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:58:52,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:52,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:58:52,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:58:52,263 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-02-20 23:58:52,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,341 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:58:52,341 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:58:52,341 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:58:52,342 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 4 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:52,343 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 146 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:52,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:58:52,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 90. [2022-02-20 23:58:52,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:52,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,347 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,347 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,350 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:58:52,350 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:58:52,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,351 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:58:52,352 INFO L87 Difference]: Start difference. First operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:58:52,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,354 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:58:52,355 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:58:52,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:52,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:52,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 95 transitions. [2022-02-20 23:58:52,358 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 95 transitions. Word has length 6 [2022-02-20 23:58:52,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:52,359 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 95 transitions. [2022-02-20 23:58:52,359 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:52,359 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:58:52,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:58:52,359 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:52,360 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:52,360 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:58:52,360 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:52,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:52,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1984336343, now seen corresponding path program 1 times [2022-02-20 23:58:52,361 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:52,361 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685040018] [2022-02-20 23:58:52,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:52,361 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:52,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:52,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {851#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {841#true} is VALID [2022-02-20 23:58:52,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {841#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {841#true} is VALID [2022-02-20 23:58:52,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {841#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {841#true} is VALID [2022-02-20 23:58:52,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {841#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {841#true} is VALID [2022-02-20 23:58:52,448 INFO L290 TraceCheckUtils]: 4: Hoare triple {841#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {841#true} is VALID [2022-02-20 23:58:52,449 INFO L290 TraceCheckUtils]: 5: Hoare triple {841#true} assume true; {841#true} is VALID [2022-02-20 23:58:52,450 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {841#true} {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} #159#return; {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:58:52,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {841#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {841#true} is VALID [2022-02-20 23:58:52,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {841#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:58:52,452 INFO L272 TraceCheckUtils]: 2: Hoare triple {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {851#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:52,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {851#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {841#true} is VALID [2022-02-20 23:58:52,452 INFO L290 TraceCheckUtils]: 4: Hoare triple {841#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {841#true} is VALID [2022-02-20 23:58:52,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {841#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {841#true} is VALID [2022-02-20 23:58:52,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {841#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {841#true} is VALID [2022-02-20 23:58:52,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {841#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {841#true} is VALID [2022-02-20 23:58:52,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {841#true} assume true; {841#true} is VALID [2022-02-20 23:58:52,454 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {841#true} {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} #159#return; {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:58:52,454 INFO L290 TraceCheckUtils]: 10: Hoare triple {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:58:52,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {843#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} assume !(sll_circular_create_~len#1 > 1); {842#false} is VALID [2022-02-20 23:58:52,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {842#false} assume !(1 == #valid[sll_circular_create_~last~0#1.base]); {842#false} is VALID [2022-02-20 23:58:52,455 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:52,455 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:52,455 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685040018] [2022-02-20 23:58:52,456 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1685040018] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:52,456 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:52,456 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:58:52,456 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117556821] [2022-02-20 23:58:52,456 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:52,457 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 13 [2022-02-20 23:58:52,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:52,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:58:52,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,467 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:52,467 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:52,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:52,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:52,468 INFO L87 Difference]: Start difference. First operand 90 states and 95 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:58:52,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,689 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:58:52,689 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:58:52,689 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 13 [2022-02-20 23:58:52,689 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:52,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:58:52,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 104 transitions. [2022-02-20 23:58:52,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:58:52,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 104 transitions. [2022-02-20 23:58:52,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 104 transitions. [2022-02-20 23:58:52,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,760 INFO L225 Difference]: With dead ends: 97 [2022-02-20 23:58:52,760 INFO L226 Difference]: Without dead ends: 97 [2022-02-20 23:58:52,760 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:52,761 INFO L933 BasicCegarLoop]: 93 mSDtfsCounter, 5 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:52,762 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 216 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:52,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-02-20 23:58:52,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 91. [2022-02-20 23:58:52,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:52,766 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,766 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,767 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,769 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:58:52,770 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 103 transitions. [2022-02-20 23:58:52,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 97 states. [2022-02-20 23:58:52,771 INFO L87 Difference]: Start difference. First operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 97 states. [2022-02-20 23:58:52,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:52,774 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:58:52,774 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 103 transitions. [2022-02-20 23:58:52,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:52,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:52,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:52,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:52,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:52,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 96 transitions. [2022-02-20 23:58:52,777 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 96 transitions. Word has length 13 [2022-02-20 23:58:52,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:52,778 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 96 transitions. [2022-02-20 23:58:52,778 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:58:52,778 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2022-02-20 23:58:52,778 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:58:52,779 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:52,779 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:52,779 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:58:52,782 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:52,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:52,783 INFO L85 PathProgramCache]: Analyzing trace with hash 305697820, now seen corresponding path program 1 times [2022-02-20 23:58:52,783 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:52,783 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112487068] [2022-02-20 23:58:52,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:52,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:52,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:52,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {1236#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1236#true} is VALID [2022-02-20 23:58:52,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {1236#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1236#true} is VALID [2022-02-20 23:58:52,897 INFO L290 TraceCheckUtils]: 3: Hoare triple {1236#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1236#true} is VALID [2022-02-20 23:58:52,898 INFO L290 TraceCheckUtils]: 4: Hoare triple {1236#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-02-20 23:58:52,898 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1236#true} {1236#true} #159#return; {1236#true} is VALID [2022-02-20 23:58:52,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:52,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:52,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {1236#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1236#true} is VALID [2022-02-20 23:58:52,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {1236#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:52,969 INFO L290 TraceCheckUtils]: 3: Hoare triple {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:52,970 INFO L290 TraceCheckUtils]: 4: Hoare triple {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:52,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:52,971 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} {1236#true} #161#return; {1252#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:58:52,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {1236#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {1236#true} is VALID [2022-02-20 23:58:52,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {1236#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1236#true} is VALID [2022-02-20 23:58:52,972 INFO L272 TraceCheckUtils]: 2: Hoare triple {1236#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:52,973 INFO L290 TraceCheckUtils]: 3: Hoare triple {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,973 INFO L290 TraceCheckUtils]: 4: Hoare triple {1236#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1236#true} is VALID [2022-02-20 23:58:52,973 INFO L290 TraceCheckUtils]: 5: Hoare triple {1236#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1236#true} is VALID [2022-02-20 23:58:52,973 INFO L290 TraceCheckUtils]: 6: Hoare triple {1236#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1236#true} is VALID [2022-02-20 23:58:52,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {1236#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-02-20 23:58:52,974 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1236#true} {1236#true} #159#return; {1236#true} is VALID [2022-02-20 23:58:52,974 INFO L290 TraceCheckUtils]: 10: Hoare triple {1236#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {1236#true} assume !!(sll_circular_create_~len#1 > 1); {1236#true} is VALID [2022-02-20 23:58:52,975 INFO L272 TraceCheckUtils]: 12: Hoare triple {1236#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:52,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {1254#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1236#true} is VALID [2022-02-20 23:58:52,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {1236#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1236#true} is VALID [2022-02-20 23:58:52,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {1236#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:52,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:52,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {1255#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:52,977 INFO L290 TraceCheckUtils]: 18: Hoare triple {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:52,978 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1256#(= (select |#valid| |node_create_#res#1.base|) 1)} {1236#true} #161#return; {1252#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:58:52,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {1252#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {1253#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:58:52,979 INFO L290 TraceCheckUtils]: 21: Hoare triple {1253#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) 1)} assume !(1 == #valid[sll_circular_create_~new_head~0#1.base]); {1237#false} is VALID [2022-02-20 23:58:52,980 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:58:52,980 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:52,980 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112487068] [2022-02-20 23:58:52,980 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1112487068] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:52,982 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:52,982 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:52,982 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1322655323] [2022-02-20 23:58:52,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:52,983 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:58:52,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:52,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:52,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:52,996 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:52,997 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:52,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:52,997 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:52,998 INFO L87 Difference]: Start difference. First operand 91 states and 96 transitions. Second operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:53,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:53,527 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:58:53,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:53,527 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:58:53,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:53,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:53,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 155 transitions. [2022-02-20 23:58:53,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:53,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 155 transitions. [2022-02-20 23:58:53,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 155 transitions. [2022-02-20 23:58:53,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:53,637 INFO L225 Difference]: With dead ends: 144 [2022-02-20 23:58:53,637 INFO L226 Difference]: Without dead ends: 144 [2022-02-20 23:58:53,637 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:58:53,638 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 67 mSDsluCounter, 216 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 277 SdHoareTripleChecker+Invalid, 282 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:53,638 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 277 Invalid, 282 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:58:53,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-02-20 23:58:53,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 90. [2022-02-20 23:58:53,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:53,642 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:53,643 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:53,643 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:53,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:53,646 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:58:53,646 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:58:53,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:53,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:53,647 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 144 states. [2022-02-20 23:58:53,648 INFO L87 Difference]: Start difference. First operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 144 states. [2022-02-20 23:58:53,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:53,652 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:58:53,653 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:58:53,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:53,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:53,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:53,654 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:53,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:53,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 95 transitions. [2022-02-20 23:58:53,656 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 95 transitions. Word has length 22 [2022-02-20 23:58:53,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:53,656 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 95 transitions. [2022-02-20 23:58:53,657 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:53,657 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:58:53,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:58:53,657 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:53,657 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:53,658 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:58:53,658 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:53,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:53,658 INFO L85 PathProgramCache]: Analyzing trace with hash 305697821, now seen corresponding path program 1 times [2022-02-20 23:58:53,658 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:53,659 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740818772] [2022-02-20 23:58:53,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:53,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:53,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:53,734 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:53,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:53,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1783#true} is VALID [2022-02-20 23:58:53,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {1783#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1783#true} is VALID [2022-02-20 23:58:53,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {1783#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1783#true} is VALID [2022-02-20 23:58:53,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {1783#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1783#true} is VALID [2022-02-20 23:58:53,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {1783#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1783#true} is VALID [2022-02-20 23:58:53,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {1783#true} assume true; {1783#true} is VALID [2022-02-20 23:58:53,761 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1783#true} {1783#true} #159#return; {1783#true} is VALID [2022-02-20 23:58:53,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:53,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:53,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,807 INFO L290 TraceCheckUtils]: 3: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,808 INFO L290 TraceCheckUtils]: 4: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:58:53,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} assume true; {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:58:53,809 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} {1783#true} #161#return; {1799#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 8))} is VALID [2022-02-20 23:58:53,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {1783#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {1783#true} is VALID [2022-02-20 23:58:53,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {1783#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1783#true} is VALID [2022-02-20 23:58:53,810 INFO L272 TraceCheckUtils]: 2: Hoare triple {1783#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:53,811 INFO L290 TraceCheckUtils]: 3: Hoare triple {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1783#true} is VALID [2022-02-20 23:58:53,812 INFO L290 TraceCheckUtils]: 4: Hoare triple {1783#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1783#true} is VALID [2022-02-20 23:58:53,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {1783#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1783#true} is VALID [2022-02-20 23:58:53,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {1783#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1783#true} is VALID [2022-02-20 23:58:53,813 INFO L290 TraceCheckUtils]: 7: Hoare triple {1783#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1783#true} is VALID [2022-02-20 23:58:53,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {1783#true} assume true; {1783#true} is VALID [2022-02-20 23:58:53,813 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1783#true} {1783#true} #159#return; {1783#true} is VALID [2022-02-20 23:58:53,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {1783#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1783#true} is VALID [2022-02-20 23:58:53,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {1783#true} assume !!(sll_circular_create_~len#1 > 1); {1783#true} is VALID [2022-02-20 23:58:53,814 INFO L272 TraceCheckUtils]: 12: Hoare triple {1783#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:53,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {1801#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,816 INFO L290 TraceCheckUtils]: 16: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:53,817 INFO L290 TraceCheckUtils]: 17: Hoare triple {1802#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:58:53,817 INFO L290 TraceCheckUtils]: 18: Hoare triple {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} assume true; {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:58:53,818 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1803#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|))} {1783#true} #161#return; {1799#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 8))} is VALID [2022-02-20 23:58:53,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {1799#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 8))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {1800#(and (= (+ (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (- 8)) 0) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| 0))} is VALID [2022-02-20 23:58:53,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {1800#(and (= (+ (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (- 8)) 0) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| 0))} assume !(4 + sll_circular_create_~new_head~0#1.offset <= #length[sll_circular_create_~new_head~0#1.base] && 0 <= sll_circular_create_~new_head~0#1.offset); {1784#false} is VALID [2022-02-20 23:58:53,819 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:53,819 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:53,819 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740818772] [2022-02-20 23:58:53,820 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1740818772] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:53,820 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:53,820 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:53,820 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1036692480] [2022-02-20 23:58:53,820 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:53,821 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:58:53,821 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:53,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:53,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:53,835 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:53,835 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:53,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:53,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:53,836 INFO L87 Difference]: Start difference. First operand 90 states and 95 transitions. Second operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:54,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:54,292 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:58:54,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:54,292 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:58:54,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:54,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:54,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 97 transitions. [2022-02-20 23:58:54,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:54,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 97 transitions. [2022-02-20 23:58:54,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 97 transitions. [2022-02-20 23:58:54,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:54,366 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:58:54,366 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:58:54,367 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:58:54,367 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 81 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 256 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:54,368 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 256 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 227 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:58:54,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:58:54,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 89. [2022-02-20 23:58:54,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:54,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:54,371 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:54,371 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:54,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:54,373 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:58:54,374 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 96 transitions. [2022-02-20 23:58:54,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:54,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:54,374 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:58:54,375 INFO L87 Difference]: Start difference. First operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:58:54,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:54,377 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:58:54,377 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 96 transitions. [2022-02-20 23:58:54,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:54,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:54,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:54,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:54,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:54,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 94 transitions. [2022-02-20 23:58:54,379 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 94 transitions. Word has length 22 [2022-02-20 23:58:54,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:54,380 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 94 transitions. [2022-02-20 23:58:54,380 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:54,380 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:58:54,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:58:54,381 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:54,381 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:54,381 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:58:54,381 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:54,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:54,381 INFO L85 PathProgramCache]: Analyzing trace with hash 1713076933, now seen corresponding path program 1 times [2022-02-20 23:58:54,382 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:54,382 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1015889797] [2022-02-20 23:58:54,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:54,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:54,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:54,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:54,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:54,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2167#true} is VALID [2022-02-20 23:58:54,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {2167#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2167#true} is VALID [2022-02-20 23:58:54,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {2167#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:54,466 INFO L290 TraceCheckUtils]: 3: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:54,467 INFO L290 TraceCheckUtils]: 4: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:54,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:54,468 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} {2167#true} #159#return; {2176#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:58:54,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:54,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:54,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,518 INFO L290 TraceCheckUtils]: 3: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:54,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:54,525 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} #161#return; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {2167#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {2167#true} is VALID [2022-02-20 23:58:54,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {2167#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2167#true} is VALID [2022-02-20 23:58:54,526 INFO L272 TraceCheckUtils]: 2: Hoare triple {2167#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:54,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2167#true} is VALID [2022-02-20 23:58:54,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {2167#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2167#true} is VALID [2022-02-20 23:58:54,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {2167#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:54,527 INFO L290 TraceCheckUtils]: 6: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:54,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:54,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:54,529 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} {2167#true} #159#return; {2176#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:58:54,529 INFO L290 TraceCheckUtils]: 10: Hoare triple {2176#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,529 INFO L290 TraceCheckUtils]: 11: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !!(sll_circular_create_~len#1 > 1); {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,530 INFO L272 TraceCheckUtils]: 12: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:54,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {2185#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,541 INFO L290 TraceCheckUtils]: 16: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:54,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {2188#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:54,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:54,543 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2189#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} #161#return; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,544 INFO L290 TraceCheckUtils]: 21: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !(sll_circular_create_~len#1 > 1); {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:54,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[sll_circular_create_~last~0#1.base]); {2168#false} is VALID [2022-02-20 23:58:54,545 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:58:54,545 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:54,546 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1015889797] [2022-02-20 23:58:54,546 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1015889797] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:54,546 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [545672444] [2022-02-20 23:58:54,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:54,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:54,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:54,548 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:58:54,553 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 23:58:54,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:54,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:58:54,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:54,652 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:54,719 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:54,975 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:58:54,975 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:58:54,996 INFO L290 TraceCheckUtils]: 0: Hoare triple {2167#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {2167#true} is VALID [2022-02-20 23:58:54,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {2167#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2167#true} is VALID [2022-02-20 23:58:54,997 INFO L272 TraceCheckUtils]: 2: Hoare triple {2167#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2167#true} is VALID [2022-02-20 23:58:54,999 INFO L290 TraceCheckUtils]: 3: Hoare triple {2167#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:55,000 INFO L290 TraceCheckUtils]: 4: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:55,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:55,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:55,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {2186#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:55,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:55,002 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2187#(= (select |#valid| |node_create_#res#1.base|) 1)} {2167#true} #159#return; {2176#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:58:55,003 INFO L290 TraceCheckUtils]: 10: Hoare triple {2176#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !!(sll_circular_create_~len#1 > 1); {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,004 INFO L272 TraceCheckUtils]: 12: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2229#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:58:55,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {2229#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,008 INFO L290 TraceCheckUtils]: 16: Hoare triple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume true; {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:55,012 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2233#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_256 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_256) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} #161#return; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,013 INFO L290 TraceCheckUtils]: 21: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,013 INFO L290 TraceCheckUtils]: 22: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !(sll_circular_create_~len#1 > 1); {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:55,014 INFO L290 TraceCheckUtils]: 24: Hoare triple {2177#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[sll_circular_create_~last~0#1.base]); {2168#false} is VALID [2022-02-20 23:58:55,014 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:55,014 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:55,155 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [545672444] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:55,155 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:55,155 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-02-20 23:58:55,156 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759614841] [2022-02-20 23:58:55,156 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:55,156 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:58:55,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:55,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:58:55,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:55,186 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:58:55,186 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:55,187 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:58:55,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:58:55,188 INFO L87 Difference]: Start difference. First operand 89 states and 94 transitions. Second operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:58:55,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:55,752 INFO L93 Difference]: Finished difference Result 141 states and 150 transitions. [2022-02-20 23:58:55,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:55,752 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:58:55,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:55,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:58:55,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 150 transitions. [2022-02-20 23:58:55,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:58:55,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 150 transitions. [2022-02-20 23:58:55,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 150 transitions. [2022-02-20 23:58:55,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:55,853 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:58:55,853 INFO L226 Difference]: Without dead ends: 141 [2022-02-20 23:58:55,853 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:58:55,854 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 65 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 322 SdHoareTripleChecker+Invalid, 297 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 2 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:55,854 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 322 Invalid, 297 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 292 Invalid, 0 Unknown, 2 Unchecked, 0.2s Time] [2022-02-20 23:58:55,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-02-20 23:58:55,856 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 88. [2022-02-20 23:58:55,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:55,857 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:55,857 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:55,857 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:55,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:55,860 INFO L93 Difference]: Finished difference Result 141 states and 150 transitions. [2022-02-20 23:58:55,860 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 150 transitions. [2022-02-20 23:58:55,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:55,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:55,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 141 states. [2022-02-20 23:58:55,860 INFO L87 Difference]: Start difference. First operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 141 states. [2022-02-20 23:58:55,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:55,863 INFO L93 Difference]: Finished difference Result 141 states and 150 transitions. [2022-02-20 23:58:55,863 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 150 transitions. [2022-02-20 23:58:55,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:55,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:55,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:55,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:55,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 50 states have (on average 1.78) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:55,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 93 transitions. [2022-02-20 23:58:55,865 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 93 transitions. Word has length 25 [2022-02-20 23:58:55,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:55,865 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 93 transitions. [2022-02-20 23:58:55,866 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:58:55,866 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-02-20 23:58:55,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:58:55,866 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:55,866 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:55,886 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:56,079 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 23:58:56,080 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:56,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:56,080 INFO L85 PathProgramCache]: Analyzing trace with hash 1713076934, now seen corresponding path program 1 times [2022-02-20 23:58:56,080 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:56,080 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [675819532] [2022-02-20 23:58:56,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:56,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:56,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:56,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:56,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:56,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,255 INFO L290 TraceCheckUtils]: 4: Hoare triple {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,256 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} {2801#true} #159#return; {2810#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)))} is VALID [2022-02-20 23:58:56,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:56,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:56,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,299 INFO L290 TraceCheckUtils]: 3: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,300 INFO L290 TraceCheckUtils]: 4: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:58:56,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} assume true; {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:58:56,302 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} #161#return; {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {2801#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {2801#true} is VALID [2022-02-20 23:58:56,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {2801#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2801#true} is VALID [2022-02-20 23:58:56,305 INFO L272 TraceCheckUtils]: 2: Hoare triple {2801#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:56,305 INFO L290 TraceCheckUtils]: 3: Hoare triple {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,306 INFO L290 TraceCheckUtils]: 4: Hoare triple {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {2821#(and (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} is VALID [2022-02-20 23:58:56,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {2822#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~temp~0#1.offset| 0) (= (select |#length| |node_create_~temp~0#1.base|) 8))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,309 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2823#(and (= (select |#length| |node_create_#res#1.base|) 8) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} {2801#true} #159#return; {2810#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)))} is VALID [2022-02-20 23:58:56,309 INFO L290 TraceCheckUtils]: 10: Hoare triple {2810#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:56,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} assume !!(sll_circular_create_~len#1 > 1); {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:56,310 INFO L272 TraceCheckUtils]: 12: Hoare triple {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:56,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {2820#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,312 INFO L290 TraceCheckUtils]: 14: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,314 INFO L290 TraceCheckUtils]: 17: Hoare triple {2824#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:58:56,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} assume true; {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:58:56,318 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2825#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} {2811#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} #161#return; {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !(sll_circular_create_~len#1 > 1); {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {2819#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !(4 + sll_circular_create_~last~0#1.offset <= #length[sll_circular_create_~last~0#1.base] && 0 <= sll_circular_create_~last~0#1.offset); {2802#false} is VALID [2022-02-20 23:58:56,321 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:56,321 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:56,321 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [675819532] [2022-02-20 23:58:56,321 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [675819532] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:56,321 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1443141317] [2022-02-20 23:58:56,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:56,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:56,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:56,323 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:58:56,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 23:58:56,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:56,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 23:58:56,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:56,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:56,432 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:56,852 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:56,853 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 16 [2022-02-20 23:58:56,865 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:58:56,865 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:58:56,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {2801#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {2801#true} is VALID [2022-02-20 23:58:56,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {2801#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2801#true} is VALID [2022-02-20 23:58:56,915 INFO L272 TraceCheckUtils]: 2: Hoare triple {2801#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2801#true} is VALID [2022-02-20 23:58:56,915 INFO L290 TraceCheckUtils]: 3: Hoare triple {2801#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:58:56,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:58:56,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:58:56,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {2838#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2848#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|) (<= (+ |node_create_~temp~0#1.offset| 8) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:56,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {2848#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|) (<= (+ |node_create_~temp~0#1.offset| 8) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2852#(and (<= 0 |node_create_#res#1.offset|) (<= (+ 8 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {2852#(and (<= 0 |node_create_#res#1.offset|) (<= (+ 8 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2852#(and (<= 0 |node_create_#res#1.offset|) (<= (+ 8 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:58:56,920 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2852#(and (<= 0 |node_create_#res#1.offset|) (<= (+ 8 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) 1))} {2801#true} #159#return; {2859#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (<= 0 |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)))} is VALID [2022-02-20 23:58:56,921 INFO L290 TraceCheckUtils]: 10: Hoare triple {2859#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (<= 0 |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2863#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {2863#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !!(sll_circular_create_~len#1 > 1); {2863#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,922 INFO L272 TraceCheckUtils]: 12: Hoare triple {2863#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2870#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:56,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {2870#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,923 INFO L290 TraceCheckUtils]: 14: Hoare triple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,926 INFO L290 TraceCheckUtils]: 17: Hoare triple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume true; {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:58:56,927 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2874#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_361 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_361) |#length|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} {2863#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} #161#return; {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !(sll_circular_create_~len#1 > 1); {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:56,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {2893#(and (<= 0 |ULTIMATE.start_sll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_sll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !(4 + sll_circular_create_~last~0#1.offset <= #length[sll_circular_create_~last~0#1.base] && 0 <= sll_circular_create_~last~0#1.offset); {2802#false} is VALID [2022-02-20 23:58:56,932 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:56,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:57,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1443141317] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:57,107 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:57,107 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 18 [2022-02-20 23:58:57,107 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1248519080] [2022-02-20 23:58:57,108 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:57,108 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 25 [2022-02-20 23:58:57,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:57,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:57,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:57,158 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:58:57,158 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:57,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:58:57,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=358, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:58:57,158 INFO L87 Difference]: Start difference. First operand 88 states and 93 transitions. Second operand has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:58,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:58,230 INFO L93 Difference]: Finished difference Result 141 states and 151 transitions. [2022-02-20 23:58:58,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:58:58,230 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 25 [2022-02-20 23:58:58,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:58,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:58,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 152 transitions. [2022-02-20 23:58:58,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:58,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 152 transitions. [2022-02-20 23:58:58,234 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 152 transitions. [2022-02-20 23:58:58,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:58,342 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:58:58,342 INFO L226 Difference]: Without dead ends: 141 [2022-02-20 23:58:58,342 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:58:58,343 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 257 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 521 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 257 SdHoareTripleChecker+Valid, 311 SdHoareTripleChecker+Invalid, 537 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 521 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 2 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:58,343 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [257 Valid, 311 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 521 Invalid, 0 Unknown, 2 Unchecked, 0.4s Time] [2022-02-20 23:58:58,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-02-20 23:58:58,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 87. [2022-02-20 23:58:58,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:58,346 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:58,346 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:58,346 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:58,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:58,349 INFO L93 Difference]: Finished difference Result 141 states and 151 transitions. [2022-02-20 23:58:58,349 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 151 transitions. [2022-02-20 23:58:58,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:58,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:58,350 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 141 states. [2022-02-20 23:58:58,350 INFO L87 Difference]: Start difference. First operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 141 states. [2022-02-20 23:58:58,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:58,353 INFO L93 Difference]: Finished difference Result 141 states and 151 transitions. [2022-02-20 23:58:58,359 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 151 transitions. [2022-02-20 23:58:58,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:58,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:58,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:58,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:58,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 50 states have (on average 1.76) internal successors, (88), 83 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:58,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 92 transitions. [2022-02-20 23:58:58,361 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 92 transitions. Word has length 25 [2022-02-20 23:58:58,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:58,362 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 92 transitions. [2022-02-20 23:58:58,362 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.2222222222222223) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:58,362 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 92 transitions. [2022-02-20 23:58:58,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:58:58,362 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:58,363 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:58,379 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:58,575 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2022-02-20 23:58:58,575 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr35REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:58,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:58,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263260, now seen corresponding path program 1 times [2022-02-20 23:58:58,576 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:58,576 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [285134453] [2022-02-20 23:58:58,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:58,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:58,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:58,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:58,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:58,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L290 TraceCheckUtils]: 3: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L290 TraceCheckUtils]: 4: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,647 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3442#true} {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #159#return; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:58,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 0: Hoare triple {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 3: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 4: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,658 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3442#true} {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #161#return; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {3442#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {3442#true} is VALID [2022-02-20 23:58:58,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {3442#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,662 INFO L272 TraceCheckUtils]: 2: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 4: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,664 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3442#true} {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #159#return; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} assume !!(sll_circular_create_~len#1 > 1); {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,666 INFO L272 TraceCheckUtils]: 12: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:58,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {3461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,667 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3442#true} {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #161#return; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 23:58:58,669 INFO L290 TraceCheckUtils]: 22: Hoare triple {3444#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,669 INFO L290 TraceCheckUtils]: 23: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(sll_circular_create_~len#1 > 1); {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,670 INFO L290 TraceCheckUtils]: 24: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4); srcloc: L586-3 {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,671 INFO L290 TraceCheckUtils]: 25: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,671 INFO L290 TraceCheckUtils]: 26: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3460#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:58:58,672 INFO L290 TraceCheckUtils]: 27: Hoare triple {3460#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} assume !(main_~i~0#1 < main_~len~0#1); {3443#false} is VALID [2022-02-20 23:58:58,672 INFO L290 TraceCheckUtils]: 28: Hoare triple {3443#false} assume !(4 + main_~#s~0#1.offset <= #length[main_~#s~0#1.base] && 0 <= main_~#s~0#1.offset); {3443#false} is VALID [2022-02-20 23:58:58,672 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:58:58,672 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:58,672 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [285134453] [2022-02-20 23:58:58,672 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [285134453] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:58,672 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1161695808] [2022-02-20 23:58:58,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:58,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:58,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:58,684 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:58:58,685 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 23:58:58,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:58,769 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:58:58,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:58,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:58,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {3442#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {3442#true} is VALID [2022-02-20 23:58:58,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {3442#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,859 INFO L272 TraceCheckUtils]: 2: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3442#true} is VALID [2022-02-20 23:58:58,859 INFO L290 TraceCheckUtils]: 3: Hoare triple {3442#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,859 INFO L290 TraceCheckUtils]: 6: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,860 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3442#true} {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} #159#return; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(sll_circular_create_~len#1 > 1); {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,861 INFO L272 TraceCheckUtils]: 12: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {3442#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {3442#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {3442#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {3442#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {3442#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3442#true} is VALID [2022-02-20 23:58:58,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {3442#true} assume true; {3442#true} is VALID [2022-02-20 23:58:58,862 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3442#true} {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} #161#return; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(sll_circular_create_~len#1 > 1); {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,863 INFO L290 TraceCheckUtils]: 24: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4); srcloc: L586-3 {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:58,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {3459#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3543#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:58:58,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {3543#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} assume !(main_~i~0#1 < main_~len~0#1); {3443#false} is VALID [2022-02-20 23:58:58,864 INFO L290 TraceCheckUtils]: 28: Hoare triple {3443#false} assume !(4 + main_~#s~0#1.offset <= #length[main_~#s~0#1.base] && 0 <= main_~#s~0#1.offset); {3443#false} is VALID [2022-02-20 23:58:58,864 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:58:58,864 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:58,865 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1161695808] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:58,865 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:58:58,865 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 7 [2022-02-20 23:58:58,865 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1612371562] [2022-02-20 23:58:58,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:58,865 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 29 [2022-02-20 23:58:58,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:58,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:58,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:58,880 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:58,880 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:58,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:58,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:58,880 INFO L87 Difference]: Start difference. First operand 87 states and 92 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:58,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:58,991 INFO L93 Difference]: Finished difference Result 146 states and 154 transitions. [2022-02-20 23:58:58,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:58:58,992 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 29 [2022-02-20 23:58:58,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:58,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:58,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 154 transitions. [2022-02-20 23:58:58,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:58,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 154 transitions. [2022-02-20 23:58:58,995 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 154 transitions. [2022-02-20 23:58:59,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:59,111 INFO L225 Difference]: With dead ends: 146 [2022-02-20 23:58:59,111 INFO L226 Difference]: Without dead ends: 146 [2022-02-20 23:58:59,111 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:59,112 INFO L933 BasicCegarLoop]: 88 mSDtfsCounter, 132 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:59,112 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [132 Valid, 181 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:59,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-02-20 23:58:59,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 88. [2022-02-20 23:58:59,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:59,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:59,115 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:59,115 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:59,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:59,118 INFO L93 Difference]: Finished difference Result 146 states and 154 transitions. [2022-02-20 23:58:59,118 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 154 transitions. [2022-02-20 23:58:59,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:59,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:59,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 146 states. [2022-02-20 23:58:59,118 INFO L87 Difference]: Start difference. First operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 146 states. [2022-02-20 23:58:59,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:59,121 INFO L93 Difference]: Finished difference Result 146 states and 154 transitions. [2022-02-20 23:58:59,121 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 154 transitions. [2022-02-20 23:58:59,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:59,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:59,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:59,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:59,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 51 states have (on average 1.7450980392156863) internal successors, (89), 84 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:59,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 93 transitions. [2022-02-20 23:58:59,123 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 93 transitions. Word has length 29 [2022-02-20 23:58:59,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:59,123 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 93 transitions. [2022-02-20 23:58:59,123 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:59,124 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-02-20 23:58:59,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:58:59,124 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:59,124 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:59,150 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:59,335 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:59,335 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:58:59,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:59,336 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263288, now seen corresponding path program 1 times [2022-02-20 23:58:59,336 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:59,336 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844190604] [2022-02-20 23:58:59,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:59,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:59,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:59,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:58:59,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:59,470 INFO L290 TraceCheckUtils]: 0: Hoare triple {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,471 INFO L290 TraceCheckUtils]: 3: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,472 INFO L290 TraceCheckUtils]: 4: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,472 INFO L290 TraceCheckUtils]: 5: Hoare triple {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,473 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #159#return; {4085#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:58:59,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:59,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,518 INFO L290 TraceCheckUtils]: 3: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,520 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} #161#return; {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {4075#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {4075#true} is VALID [2022-02-20 23:58:59,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {4075#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:58:59,522 INFO L272 TraceCheckUtils]: 2: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:59,523 INFO L290 TraceCheckUtils]: 3: Hoare triple {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {4096#(= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,525 INFO L290 TraceCheckUtils]: 8: Hoare triple {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,526 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4097#(and (or (= |old(#valid)| |#valid|) (= |node_create_#res#1.base| (@diff |old(#valid)| |#valid|))) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #159#return; {4085#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,527 INFO L290 TraceCheckUtils]: 10: Hoare triple {4085#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(sll_circular_create_~len#1 > 1); {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,528 INFO L272 TraceCheckUtils]: 12: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:58:59,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {4095#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:59,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:58:59,542 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4099#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} #161#return; {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} assume !(sll_circular_create_~len#1 > 1); {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:59,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {4086#(or (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4); srcloc: L586-3 {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:58:59,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:58:59,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:58:59,546 INFO L290 TraceCheckUtils]: 27: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {4094#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 1)} is VALID [2022-02-20 23:58:59,546 INFO L290 TraceCheckUtils]: 28: Hoare triple {4094#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 1)} assume !(1 == #valid[sll_circular_remove_last_~head#1.base]); {4076#false} is VALID [2022-02-20 23:58:59,546 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:58:59,547 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:59,547 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1844190604] [2022-02-20 23:58:59,547 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1844190604] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:59,547 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1212498376] [2022-02-20 23:58:59,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:59,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:59,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:59,548 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:58:59,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 23:58:59,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:59,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 23:58:59,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:59,654 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:59,664 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:59,708 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:58:59,796 INFO L356 Elim1Store]: treesize reduction 20, result has 33.3 percent of original size [2022-02-20 23:58:59,796 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 19 treesize of output 16 [2022-02-20 23:58:59,874 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:59:00,207 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:00,208 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:00,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {4075#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {4075#true} is VALID [2022-02-20 23:59:00,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {4075#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} is VALID [2022-02-20 23:59:00,244 INFO L272 TraceCheckUtils]: 2: Hoare triple {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {4110#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:00,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {4110#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:00,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:00,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:00,246 INFO L290 TraceCheckUtils]: 6: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:00,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {4098#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4126#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= |#valid| (store |old(#valid)| |node_create_#res#1.base| (select |#valid| |node_create_#res#1.base|))))} is VALID [2022-02-20 23:59:00,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {4126#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= |#valid| (store |old(#valid)| |node_create_#res#1.base| (select |#valid| |node_create_#res#1.base|))))} assume true; {4126#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= |#valid| (store |old(#valid)| |node_create_#res#1.base| (select |#valid| |node_create_#res#1.base|))))} is VALID [2022-02-20 23:59:00,248 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4126#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= |#valid| (store |old(#valid)| |node_create_#res#1.base| (select |#valid| |node_create_#res#1.base|))))} {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} #159#return; {4133#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:00,249 INFO L290 TraceCheckUtils]: 10: Hoare triple {4133#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} is VALID [2022-02-20 23:59:00,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} assume !!(sll_circular_create_~len#1 > 1); {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} is VALID [2022-02-20 23:59:00,249 INFO L272 TraceCheckUtils]: 12: Hoare triple {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {4110#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:00,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {4110#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} assume true; {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} is VALID [2022-02-20 23:59:00,254 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4146#(exists ((|node_create_~temp~0#1.base| Int)) (and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_591 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_591) |#valid|))))} {4106#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1))} #161#return; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,255 INFO L290 TraceCheckUtils]: 22: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(sll_circular_create_~len#1 > 1); {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4); srcloc: L586-3 {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:59:00,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {4077#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {4094#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 1)} is VALID [2022-02-20 23:59:00,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {4094#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 1)} assume !(1 == #valid[sll_circular_remove_last_~head#1.base]); {4076#false} is VALID [2022-02-20 23:59:00,263 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:00,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:00,446 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1212498376] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:00,446 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:59:00,447 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-02-20 23:59:00,447 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [523240545] [2022-02-20 23:59:00,447 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:59:00,448 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 23:59:00,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:00,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:59:00,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:00,493 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:59:00,493 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:59:00,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:59:00,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:59:00,494 INFO L87 Difference]: Start difference. First operand 88 states and 93 transitions. Second operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:59:01,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:01,324 INFO L93 Difference]: Finished difference Result 132 states and 143 transitions. [2022-02-20 23:59:01,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:59:01,324 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 23:59:01,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:01,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:59:01,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 152 transitions. [2022-02-20 23:59:01,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:59:01,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 152 transitions. [2022-02-20 23:59:01,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 152 transitions. [2022-02-20 23:59:01,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:01,427 INFO L225 Difference]: With dead ends: 132 [2022-02-20 23:59:01,427 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:59:01,427 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:59:01,428 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 197 mSDsluCounter, 329 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 197 SdHoareTripleChecker+Valid, 378 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 56 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:01,428 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [197 Valid, 378 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 367 Invalid, 0 Unknown, 56 Unchecked, 0.3s Time] [2022-02-20 23:59:01,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:59:01,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 85. [2022-02-20 23:59:01,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:01,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:01,430 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:01,431 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:01,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:01,433 INFO L93 Difference]: Finished difference Result 132 states and 143 transitions. [2022-02-20 23:59:01,433 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 143 transitions. [2022-02-20 23:59:01,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:01,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:01,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 132 states. [2022-02-20 23:59:01,434 INFO L87 Difference]: Start difference. First operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 132 states. [2022-02-20 23:59:01,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:01,450 INFO L93 Difference]: Finished difference Result 132 states and 143 transitions. [2022-02-20 23:59:01,450 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 143 transitions. [2022-02-20 23:59:01,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:01,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:01,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:01,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:01,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 52 states have (on average 1.6730769230769231) internal successors, (87), 81 states have internal predecessors, (87), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:01,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 91 transitions. [2022-02-20 23:59:01,452 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 91 transitions. Word has length 29 [2022-02-20 23:59:01,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:01,452 INFO L470 AbstractCegarLoop]: Abstraction has 85 states and 91 transitions. [2022-02-20 23:59:01,452 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 12 states have internal predecessors, (42), 3 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:59:01,453 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 91 transitions. [2022-02-20 23:59:01,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:59:01,453 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:01,453 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:01,470 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:01,666 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:59:01,666 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:01,666 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:01,666 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263287, now seen corresponding path program 1 times [2022-02-20 23:59:01,667 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:59:01,667 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [150987187] [2022-02-20 23:59:01,667 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:01,667 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:59:01,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:01,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:59:01,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:01,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,831 INFO L290 TraceCheckUtils]: 3: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,834 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {4712#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #159#return; {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,834 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 23:59:01,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:01,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,877 INFO L290 TraceCheckUtils]: 4: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,879 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #161#return; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,879 INFO L290 TraceCheckUtils]: 0: Hoare triple {4710#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(27, 2); {4710#true} is VALID [2022-02-20 23:59:01,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {4710#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {4712#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,881 INFO L272 TraceCheckUtils]: 2: Hoare triple {4712#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:59:01,881 INFO L290 TraceCheckUtils]: 3: Hoare triple {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,882 INFO L290 TraceCheckUtils]: 4: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,885 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {4712#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #159#return; {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,886 INFO L290 TraceCheckUtils]: 10: Hoare triple {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !!(sll_circular_create_~len#1 > 1); {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,887 INFO L272 TraceCheckUtils]: 12: Hoare triple {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:59:01,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {4730#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L576-1 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,890 INFO L290 TraceCheckUtils]: 16: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L579 {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:59:01,891 INFO L290 TraceCheckUtils]: 17: Hoare triple {4731#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:59:01,892 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4732#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {4720#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #161#return; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4); srcloc: L588 {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !(sll_circular_create_~len#1 > 1); {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4); srcloc: L586-3 {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:59:01,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {4728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !!(main_~i~0#1 < main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {4729#(and (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| 0) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 4))} is VALID [2022-02-20 23:59:01,896 INFO L290 TraceCheckUtils]: 28: Hoare triple {4729#(and (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| 0) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) 4))} assume !(4 + sll_circular_remove_last_~head#1.offset <= #length[sll_circular_remove_last_~head#1.base] && 0 <= sll_circular_remove_last_~head#1.offset); {4711#false} is VALID [2022-02-20 23:59:01,896 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:59:01,896 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:59:01,896 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [150987187] [2022-02-20 23:59:01,896 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [150987187] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:01,896 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2118530336] [2022-02-20 23:59:01,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:01,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:59:01,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:59:01,898 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:59:01,900 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 23:59:01,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:01,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:59:02,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:02,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:02,045 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:02,083 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:59:02,295 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:59:02,506 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 23:59:02,522 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:02,707 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 23:59:02,707 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: line 211547 column 46: unknown constant v_#length_BEFORE_CALL_8 at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1458) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:658) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:239) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseSuccess(Executor.java:258) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.assertTerm(Scriptor.java:147) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript$DiffTransformer.checkOrAddAxiom(DiffWrapperScript.java:161) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript$DiffTransformer.convertApplicationTerm(DiffWrapperScript.java:171) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$BuildApplicationTerm.walk(TermTransformer.java:352) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:115) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:106) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.assertTerm(DiffWrapperScript.java:109) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.assertTerm(WrapperScript.java:158) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.assertTerm(ManagedScript.java:134) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.MonolithicImplicationChecker.checkImplication(MonolithicImplicationChecker.java:83) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:829) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.(PredicateUnifier.java:773) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:345) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:305) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp$UnifyPostprocessor.postprocess(TraceCheckSpWp.java:582) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:273) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 23:59:02,710 INFO L158 Benchmark]: Toolchain (without parser) took 12382.95ms. Allocated memory was 83.9MB in the beginning and 159.4MB in the end (delta: 75.5MB). Free memory was 48.9MB in the beginning and 109.2MB in the end (delta: -60.2MB). Peak memory consumption was 15.1MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 83.9MB. Free memory was 63.1MB in the beginning and 63.0MB in the end (delta: 26.6kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: CACSL2BoogieTranslator took 388.83ms. Allocated memory was 83.9MB in the beginning and 107.0MB in the end (delta: 23.1MB). Free memory was 48.8MB in the beginning and 72.2MB in the end (delta: -23.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: Boogie Procedure Inliner took 59.82ms. Allocated memory is still 107.0MB. Free memory was 71.8MB in the beginning and 69.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: Boogie Preprocessor took 47.45ms. Allocated memory is still 107.0MB. Free memory was 69.7MB in the beginning and 67.6MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: RCFGBuilder took 558.86ms. Allocated memory is still 107.0MB. Free memory was 67.2MB in the beginning and 76.2MB in the end (delta: -9.0MB). Peak memory consumption was 19.8MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,711 INFO L158 Benchmark]: TraceAbstraction took 11322.07ms. Allocated memory was 107.0MB in the beginning and 159.4MB in the end (delta: 52.4MB). Free memory was 75.6MB in the beginning and 109.2MB in the end (delta: -33.6MB). Peak memory consumption was 20.8MB. Max. memory is 16.1GB. [2022-02-20 23:59:02,712 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19ms. Allocated memory is still 83.9MB. Free memory was 63.1MB in the beginning and 63.0MB in the end (delta: 26.6kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 388.83ms. Allocated memory was 83.9MB in the beginning and 107.0MB in the end (delta: 23.1MB). Free memory was 48.8MB in the beginning and 72.2MB in the end (delta: -23.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 59.82ms. Allocated memory is still 107.0MB. Free memory was 71.8MB in the beginning and 69.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 47.45ms. Allocated memory is still 107.0MB. Free memory was 69.7MB in the beginning and 67.6MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 558.86ms. Allocated memory is still 107.0MB. Free memory was 67.2MB in the beginning and 76.2MB in the end (delta: -9.0MB). Peak memory consumption was 19.8MB. Max. memory is 16.1GB. * TraceAbstraction took 11322.07ms. Allocated memory was 107.0MB in the beginning and 159.4MB in the end (delta: 52.4MB). Free memory was 75.6MB in the beginning and 109.2MB in the end (delta: -33.6MB). Peak memory consumption was 20.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: line 211547 column 46: unknown constant v_#length_BEFORE_CALL_8 de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: line 211547 column 46: unknown constant v_#length_BEFORE_CALL_8: de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1458) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 23:59:02,724 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 1 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3340815bef7e21ae2d4803d7059577c1761bb3b7b4bb24b2b34d5d0d0054fd10 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:59:04,391 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:59:04,394 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:59:04,423 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:59:04,424 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:59:04,427 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:59:04,428 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:59:04,431 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:59:04,433 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:59:04,436 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:59:04,437 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:59:04,438 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:59:04,438 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:59:04,440 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:59:04,441 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:59:04,445 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:59:04,446 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:59:04,446 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:59:04,448 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:59:04,452 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:59:04,453 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:59:04,454 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:59:04,455 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:59:04,456 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:59:04,461 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:59:04,461 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:59:04,461 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:59:04,462 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:59:04,462 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:59:04,463 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:59:04,463 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:59:04,464 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:59:04,465 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:59:04,465 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:59:04,466 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:59:04,466 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:59:04,468 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:59:04,468 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:59:04,468 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:59:04,469 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:59:04,469 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:59:04,472 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2022-02-20 23:59:04,498 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:59:04,499 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:59:04,499 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:59:04,500 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:59:04,500 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:59:04,500 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:59:04,501 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:59:04,501 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:59:04,502 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:59:04,502 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:59:04,502 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:59:04,502 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:59:04,503 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:59:04,504 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:59:04,504 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:59:04,505 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:59:04,505 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:59:04,505 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:59:04,509 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:59:04,510 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:59:04,510 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:59:04,510 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 3340815bef7e21ae2d4803d7059577c1761bb3b7b4bb24b2b34d5d0d0054fd10 [2022-02-20 23:59:04,761 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:59:04,774 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:59:04,776 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:59:04,777 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:59:04,778 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:59:04,779 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i [2022-02-20 23:59:04,827 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/73b9c569b/063f235ad5644a9db2a80a81d7141358/FLAGb732beb16 [2022-02-20 23:59:05,210 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:59:05,211 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i [2022-02-20 23:59:05,227 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/73b9c569b/063f235ad5644a9db2a80a81d7141358/FLAGb732beb16 [2022-02-20 23:59:05,576 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/73b9c569b/063f235ad5644a9db2a80a81d7141358 [2022-02-20 23:59:05,579 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:59:05,580 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:59:05,583 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:59:05,583 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:59:05,587 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:59:05,588 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,590 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5f94508f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05, skipping insertion in model container [2022-02-20 23:59:05,590 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,594 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:59:05,628 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:59:05,840 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i[24151,24164] [2022-02-20 23:59:05,841 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:59:05,851 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:59:05,882 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_remove_all_reverse.i[24151,24164] [2022-02-20 23:59:05,882 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:59:05,915 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:59:05,915 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05 WrapperNode [2022-02-20 23:59:05,916 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:59:05,917 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:59:05,917 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:59:05,917 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:59:05,921 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,940 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,964 INFO L137 Inliner]: procedures = 129, calls = 36, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 126 [2022-02-20 23:59:05,964 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:59:05,965 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:59:05,965 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:59:05,966 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:59:05,970 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,971 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,983 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,983 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:05,990 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:06,003 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:06,005 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:06,015 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:59:06,016 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:59:06,016 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:59:06,016 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:59:06,017 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (1/1) ... [2022-02-20 23:59:06,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:59:06,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:59:06,051 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 23:59:06,057 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 23:59:06,078 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:59:06,078 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:59:06,078 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:59:06,078 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:59:06,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:59:06,079 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:59:06,166 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:59:06,167 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:59:06,599 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:59:06,604 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:59:06,611 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:59:06,613 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:59:06 BoogieIcfgContainer [2022-02-20 23:59:06,613 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:59:06,614 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:59:06,614 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:59:06,616 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:59:06,616 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:59:05" (1/3) ... [2022-02-20 23:59:06,617 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@191df23b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:59:06, skipping insertion in model container [2022-02-20 23:59:06,617 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:59:05" (2/3) ... [2022-02-20 23:59:06,617 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@191df23b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:59:06, skipping insertion in model container [2022-02-20 23:59:06,617 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:59:06" (3/3) ... [2022-02-20 23:59:06,618 INFO L111 eAbstractionObserver]: Analyzing ICFG sll2c_remove_all_reverse.i [2022-02-20 23:59:06,634 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:59:06,634 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 42 error locations. [2022-02-20 23:59:06,661 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:59:06,665 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:59:06,666 INFO L340 AbstractCegarLoop]: Starting to check reachability of 42 error locations. [2022-02-20 23:59:06,678 INFO L276 IsEmpty]: Start isEmpty. Operand has 97 states, 51 states have (on average 2.0392156862745097) internal successors, (104), 93 states have internal predecessors, (104), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:06,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:59:06,683 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:06,684 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:59:06,684 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:06,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:06,692 INFO L85 PathProgramCache]: Analyzing trace with hash 894197909, now seen corresponding path program 1 times [2022-02-20 23:59:06,701 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:06,702 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1167497146] [2022-02-20 23:59:06,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:06,703 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:06,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:06,705 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:06,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:59:06,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:06,800 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:59:06,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:06,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:06,874 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:06,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {100#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {100#true} is VALID [2022-02-20 23:59:06,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {100#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {100#true} is VALID [2022-02-20 23:59:06,894 INFO L272 TraceCheckUtils]: 2: Hoare triple {100#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {100#true} is VALID [2022-02-20 23:59:06,895 INFO L290 TraceCheckUtils]: 3: Hoare triple {100#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {114#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:06,897 INFO L290 TraceCheckUtils]: 4: Hoare triple {114#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {114#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:06,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {114#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[~temp~0#1.base]); {101#false} is VALID [2022-02-20 23:59:06,899 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:06,899 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:06,899 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:06,900 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1167497146] [2022-02-20 23:59:06,900 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1167497146] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:06,901 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:06,901 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:59:06,903 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2092414540] [2022-02-20 23:59:06,903 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:06,907 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:59:06,909 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:06,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:06,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:06,922 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:59:06,922 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:06,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:59:06,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:06,950 INFO L87 Difference]: Start difference. First operand has 97 states, 51 states have (on average 2.0392156862745097) internal successors, (104), 93 states have internal predecessors, (104), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:07,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:07,290 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-02-20 23:59:07,291 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:59:07,291 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:59:07,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:07,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:07,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 108 transitions. [2022-02-20 23:59:07,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:07,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 108 transitions. [2022-02-20 23:59:07,300 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 108 transitions. [2022-02-20 23:59:07,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:07,415 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:59:07,415 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:59:07,418 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:07,421 INFO L933 BasicCegarLoop]: 94 mSDtfsCounter, 8 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:07,422 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:59:07,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:59:07,444 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-02-20 23:59:07,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:07,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:07,446 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:07,446 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:07,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:07,451 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-02-20 23:59:07,451 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:59:07,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:07,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:07,452 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:59:07,453 INFO L87 Difference]: Start difference. First operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:59:07,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:07,457 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-02-20 23:59:07,457 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:59:07,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:07,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:07,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:07,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:07,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 49 states have (on average 1.8979591836734695) internal successors, (93), 88 states have internal predecessors, (93), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:07,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 97 transitions. [2022-02-20 23:59:07,462 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 97 transitions. Word has length 6 [2022-02-20 23:59:07,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:07,462 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 97 transitions. [2022-02-20 23:59:07,462 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:07,462 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-02-20 23:59:07,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:59:07,463 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:07,463 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:59:07,473 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2022-02-20 23:59:07,669 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:07,669 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:07,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:07,670 INFO L85 PathProgramCache]: Analyzing trace with hash 894197910, now seen corresponding path program 1 times [2022-02-20 23:59:07,670 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:07,670 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [766862138] [2022-02-20 23:59:07,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:07,671 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:07,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:07,672 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:07,674 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:59:07,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:07,713 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:59:07,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:07,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:07,747 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:07,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {491#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {491#true} is VALID [2022-02-20 23:59:07,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {491#true} is VALID [2022-02-20 23:59:07,770 INFO L272 TraceCheckUtils]: 2: Hoare triple {491#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {491#true} is VALID [2022-02-20 23:59:07,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {491#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {505#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:07,772 INFO L290 TraceCheckUtils]: 4: Hoare triple {505#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {505#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:07,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {505#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~temp~0#1.offset), #length[~temp~0#1.base]) && ~bvule32(~temp~0#1.offset, ~bvadd32(4bv32, ~temp~0#1.offset))) && ~bvule32(0bv32, ~temp~0#1.offset)); {492#false} is VALID [2022-02-20 23:59:07,772 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:07,772 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:07,773 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:07,773 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [766862138] [2022-02-20 23:59:07,773 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [766862138] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:07,773 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:07,773 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:59:07,773 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [210756023] [2022-02-20 23:59:07,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:07,774 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:59:07,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:07,775 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:07,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:07,781 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:59:07,781 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:07,782 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:59:07,782 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:07,782 INFO L87 Difference]: Start difference. First operand 92 states and 97 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:08,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,097 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:59:08,098 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:59:08,098 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:59:08,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:08,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:08,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:59:08,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:08,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-02-20 23:59:08,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-02-20 23:59:08,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:08,195 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:59:08,195 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:59:08,195 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:08,196 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 4 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:08,196 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 146 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:59:08,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:59:08,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 90. [2022-02-20 23:59:08,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:08,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,201 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,201 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,204 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:59:08,204 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:59:08,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:08,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:08,205 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:59:08,205 INFO L87 Difference]: Start difference. First operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:59:08,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,207 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2022-02-20 23:59:08,208 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:59:08,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:08,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:08,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:08,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:08,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 49 states have (on average 1.8571428571428572) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 95 transitions. [2022-02-20 23:59:08,211 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 95 transitions. Word has length 6 [2022-02-20 23:59:08,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:08,211 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 95 transitions. [2022-02-20 23:59:08,211 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:59:08,211 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:59:08,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:59:08,212 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:08,212 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:08,223 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:08,422 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:08,423 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:08,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:08,423 INFO L85 PathProgramCache]: Analyzing trace with hash 1984336343, now seen corresponding path program 1 times [2022-02-20 23:59:08,424 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:08,424 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1523312089] [2022-02-20 23:59:08,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:08,425 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:08,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:08,427 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:08,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:59:08,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:08,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:59:08,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:08,486 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:08,530 INFO L290 TraceCheckUtils]: 0: Hoare triple {871#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {871#true} is VALID [2022-02-20 23:59:08,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {871#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} is VALID [2022-02-20 23:59:08,531 INFO L272 TraceCheckUtils]: 2: Hoare triple {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 3: Hoare triple {871#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 4: Hoare triple {871#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {871#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 6: Hoare triple {871#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {871#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {871#true} is VALID [2022-02-20 23:59:08,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {871#true} assume true; {871#true} is VALID [2022-02-20 23:59:08,533 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {871#true} {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} #159#return; {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} is VALID [2022-02-20 23:59:08,533 INFO L290 TraceCheckUtils]: 10: Hoare triple {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} is VALID [2022-02-20 23:59:08,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {879#(= (_ bv2 32) |ULTIMATE.start_sll_circular_create_~len#1|)} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {872#false} is VALID [2022-02-20 23:59:08,535 INFO L290 TraceCheckUtils]: 12: Hoare triple {872#false} assume !(1bv1 == #valid[sll_circular_create_~last~0#1.base]); {872#false} is VALID [2022-02-20 23:59:08,535 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:08,535 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:08,536 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:08,536 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1523312089] [2022-02-20 23:59:08,536 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1523312089] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:08,536 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:08,536 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:59:08,537 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1255840423] [2022-02-20 23:59:08,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:08,537 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 13 [2022-02-20 23:59:08,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:08,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:59:08,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:08,551 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:59:08,551 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:08,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:59:08,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:08,552 INFO L87 Difference]: Start difference. First operand 90 states and 95 transitions. Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:59:08,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,773 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:59:08,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:59:08,773 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 13 [2022-02-20 23:59:08,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:08,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:59:08,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 104 transitions. [2022-02-20 23:59:08,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:59:08,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 104 transitions. [2022-02-20 23:59:08,776 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 104 transitions. [2022-02-20 23:59:08,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:08,867 INFO L225 Difference]: With dead ends: 97 [2022-02-20 23:59:08,868 INFO L226 Difference]: Without dead ends: 97 [2022-02-20 23:59:08,868 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:59:08,868 INFO L933 BasicCegarLoop]: 94 mSDtfsCounter, 5 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:08,869 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 183 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:59:08,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-02-20 23:59:08,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 91. [2022-02-20 23:59:08,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:08,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,872 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,872 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,875 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:59:08,875 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 103 transitions. [2022-02-20 23:59:08,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:08,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:08,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 97 states. [2022-02-20 23:59:08,876 INFO L87 Difference]: Start difference. First operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 97 states. [2022-02-20 23:59:08,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:08,878 INFO L93 Difference]: Finished difference Result 97 states and 103 transitions. [2022-02-20 23:59:08,878 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 103 transitions. [2022-02-20 23:59:08,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:08,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:08,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:08,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:08,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 50 states have (on average 1.84) internal successors, (92), 87 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:08,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 96 transitions. [2022-02-20 23:59:08,880 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 96 transitions. Word has length 13 [2022-02-20 23:59:08,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:08,881 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 96 transitions. [2022-02-20 23:59:08,881 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:59:08,881 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2022-02-20 23:59:08,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:59:08,881 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:08,881 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:08,889 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:09,087 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:09,088 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:09,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:09,088 INFO L85 PathProgramCache]: Analyzing trace with hash 305697820, now seen corresponding path program 1 times [2022-02-20 23:59:09,089 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:09,089 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [446922483] [2022-02-20 23:59:09,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:09,089 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:09,089 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:09,090 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:09,091 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:59:09,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:09,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:59:09,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:09,179 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:09,214 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:09,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {1294#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L272 TraceCheckUtils]: 2: Hoare triple {1294#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 3: Hoare triple {1294#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 4: Hoare triple {1294#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 6: Hoare triple {1294#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1294#true} {1294#true} #159#return; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {1294#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1294#true} is VALID [2022-02-20 23:59:09,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {1294#true} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {1294#true} is VALID [2022-02-20 23:59:09,269 INFO L272 TraceCheckUtils]: 12: Hoare triple {1294#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1294#true} is VALID [2022-02-20 23:59:09,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,271 INFO L290 TraceCheckUtils]: 17: Hoare triple {1338#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1351#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,271 INFO L290 TraceCheckUtils]: 18: Hoare triple {1351#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {1351#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,272 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1351#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {1294#true} #161#return; {1358#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {1358#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {1362#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:09,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {1362#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[sll_circular_create_~new_head~0#1.base]); {1295#false} is VALID [2022-02-20 23:59:09,273 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:09,273 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:09,273 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:09,273 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [446922483] [2022-02-20 23:59:09,273 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [446922483] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:09,273 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:09,273 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:59:09,273 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [287487204] [2022-02-20 23:59:09,273 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:09,274 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:59:09,274 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:09,274 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:09,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:09,298 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:59:09,299 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:09,300 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:59:09,300 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:59:09,300 INFO L87 Difference]: Start difference. First operand 91 states and 96 transitions. Second operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:10,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:10,140 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:59:10,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:59:10,140 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:59:10,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:10,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:10,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 155 transitions. [2022-02-20 23:59:10,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:10,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 155 transitions. [2022-02-20 23:59:10,144 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 155 transitions. [2022-02-20 23:59:10,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:10,291 INFO L225 Difference]: With dead ends: 144 [2022-02-20 23:59:10,291 INFO L226 Difference]: Without dead ends: 144 [2022-02-20 23:59:10,291 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:59:10,291 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 66 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 217 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:10,292 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [66 Valid, 247 Invalid, 217 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:59:10,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-02-20 23:59:10,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 90. [2022-02-20 23:59:10,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:10,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:10,303 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:10,303 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:10,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:10,305 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:59:10,306 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:59:10,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:10,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:10,306 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 144 states. [2022-02-20 23:59:10,306 INFO L87 Difference]: Start difference. First operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 144 states. [2022-02-20 23:59:10,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:10,309 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:59:10,309 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:59:10,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:10,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:10,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:10,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:10,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 50 states have (on average 1.82) internal successors, (91), 86 states have internal predecessors, (91), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:10,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 95 transitions. [2022-02-20 23:59:10,311 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 95 transitions. Word has length 22 [2022-02-20 23:59:10,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:10,311 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 95 transitions. [2022-02-20 23:59:10,311 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:10,311 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2022-02-20 23:59:10,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:59:10,312 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:10,312 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:10,323 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 23:59:10,518 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:10,518 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:10,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:10,519 INFO L85 PathProgramCache]: Analyzing trace with hash 305697821, now seen corresponding path program 1 times [2022-02-20 23:59:10,519 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:10,519 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [958960653] [2022-02-20 23:59:10,519 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:10,519 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:10,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:10,520 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:10,521 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 23:59:10,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:10,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:59:10,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:10,603 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:10,640 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {1889#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {1889#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L272 TraceCheckUtils]: 2: Hoare triple {1889#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 3: Hoare triple {1889#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 4: Hoare triple {1889#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {1889#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 6: Hoare triple {1889#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {1889#true} is VALID [2022-02-20 23:59:10,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {1889#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1889#true} is VALID [2022-02-20 23:59:10,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {1889#true} assume true; {1889#true} is VALID [2022-02-20 23:59:10,756 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1889#true} {1889#true} #159#return; {1889#true} is VALID [2022-02-20 23:59:10,756 INFO L290 TraceCheckUtils]: 10: Hoare triple {1889#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1889#true} is VALID [2022-02-20 23:59:10,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {1889#true} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {1889#true} is VALID [2022-02-20 23:59:10,756 INFO L272 TraceCheckUtils]: 12: Hoare triple {1889#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1889#true} is VALID [2022-02-20 23:59:10,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {1889#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:10,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:10,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:10,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:10,764 INFO L290 TraceCheckUtils]: 17: Hoare triple {1933#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1946#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} is VALID [2022-02-20 23:59:10,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {1946#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} assume true; {1946#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} is VALID [2022-02-20 23:59:10,765 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1946#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} {1889#true} #161#return; {1953#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:10,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {1953#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv8 32)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {1957#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:10,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {1957#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_create_~new_head~0#1.offset), #length[sll_circular_create_~new_head~0#1.base]) && ~bvule32(sll_circular_create_~new_head~0#1.offset, ~bvadd32(4bv32, sll_circular_create_~new_head~0#1.offset))) && ~bvule32(0bv32, sll_circular_create_~new_head~0#1.offset)); {1890#false} is VALID [2022-02-20 23:59:10,766 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:10,766 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:10,766 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:10,766 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [958960653] [2022-02-20 23:59:10,766 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [958960653] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:10,766 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:10,766 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:59:10,766 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2135572412] [2022-02-20 23:59:10,766 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:10,767 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:59:10,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:10,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:10,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:10,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:59:10,788 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:10,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:59:10,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:59:10,788 INFO L87 Difference]: Start difference. First operand 90 states and 95 transitions. Second operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:11,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:11,669 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:59:11,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:59:11,669 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 22 [2022-02-20 23:59:11,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:11,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:11,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 97 transitions. [2022-02-20 23:59:11,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:11,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 97 transitions. [2022-02-20 23:59:11,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 97 transitions. [2022-02-20 23:59:11,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:11,763 INFO L225 Difference]: With dead ends: 90 [2022-02-20 23:59:11,763 INFO L226 Difference]: Without dead ends: 90 [2022-02-20 23:59:11,763 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:59:11,764 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 81 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 164 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 164 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 164 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:11,764 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 226 Invalid, 164 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 164 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:59:11,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-02-20 23:59:11,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 89. [2022-02-20 23:59:11,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:11,767 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:11,767 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:11,767 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:11,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:11,769 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:59:11,769 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 96 transitions. [2022-02-20 23:59:11,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:11,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:11,769 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:59:11,769 INFO L87 Difference]: Start difference. First operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 90 states. [2022-02-20 23:59:11,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:11,771 INFO L93 Difference]: Finished difference Result 90 states and 96 transitions. [2022-02-20 23:59:11,779 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 96 transitions. [2022-02-20 23:59:11,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:11,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:11,779 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:11,780 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:11,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 50 states have (on average 1.8) internal successors, (90), 85 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:11,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 94 transitions. [2022-02-20 23:59:11,781 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 94 transitions. Word has length 22 [2022-02-20 23:59:11,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:11,782 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 94 transitions. [2022-02-20 23:59:11,782 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:11,782 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:59:11,782 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:59:11,782 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:11,782 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:11,806 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:11,989 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:11,989 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:11,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:11,989 INFO L85 PathProgramCache]: Analyzing trace with hash 1713076933, now seen corresponding path program 1 times [2022-02-20 23:59:11,990 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:11,990 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1366085213] [2022-02-20 23:59:11,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:11,990 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:11,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:11,991 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:11,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 23:59:12,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:12,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:59:12,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:12,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:12,106 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:12,285 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:59:12,285 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 24 [2022-02-20 23:59:12,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {2321#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2321#true} is VALID [2022-02-20 23:59:12,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {2321#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2321#true} is VALID [2022-02-20 23:59:12,317 INFO L272 TraceCheckUtils]: 2: Hoare triple {2321#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2321#true} is VALID [2022-02-20 23:59:12,318 INFO L290 TraceCheckUtils]: 3: Hoare triple {2321#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,319 INFO L290 TraceCheckUtils]: 4: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,319 INFO L290 TraceCheckUtils]: 6: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,321 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {2321#true} #159#return; {2355#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,321 INFO L290 TraceCheckUtils]: 10: Hoare triple {2355#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,322 INFO L290 TraceCheckUtils]: 11: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,322 INFO L272 TraceCheckUtils]: 12: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2366#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:12,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {2366#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,328 INFO L290 TraceCheckUtils]: 17: Hoare triple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} assume true; {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} is VALID [2022-02-20 23:59:12,335 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2370#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_126 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_126) |#valid|))))} {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} #161#return; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,336 INFO L290 TraceCheckUtils]: 21: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[sll_circular_create_~last~0#1.base]); {2322#false} is VALID [2022-02-20 23:59:12,338 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:12,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:12,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[sll_circular_create_~last~0#1.base]); {2322#false} is VALID [2022-02-20 23:59:12,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,610 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} #161#return; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} assume true; {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,616 INFO L272 TraceCheckUtils]: 12: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2422#(forall ((|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:12,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {2355#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2359#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:12,617 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {2321#true} #159#return; {2355#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2348#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,618 INFO L290 TraceCheckUtils]: 6: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,619 INFO L290 TraceCheckUtils]: 4: Hoare triple {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,620 INFO L290 TraceCheckUtils]: 3: Hoare triple {2321#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2335#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:12,620 INFO L272 TraceCheckUtils]: 2: Hoare triple {2321#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2321#true} is VALID [2022-02-20 23:59:12,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {2321#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2321#true} is VALID [2022-02-20 23:59:12,620 INFO L290 TraceCheckUtils]: 0: Hoare triple {2321#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2321#true} is VALID [2022-02-20 23:59:12,620 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:12,620 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:12,620 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1366085213] [2022-02-20 23:59:12,621 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1366085213] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:59:12,621 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:59:12,621 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 8 [2022-02-20 23:59:12,621 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1983610694] [2022-02-20 23:59:12,621 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:59:12,621 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:59:12,622 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:12,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:59:12,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:12,655 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:59:12,655 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:12,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:59:12,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:59:12,656 INFO L87 Difference]: Start difference. First operand 89 states and 94 transitions. Second operand has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:59:13,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:13,547 INFO L93 Difference]: Finished difference Result 148 states and 156 transitions. [2022-02-20 23:59:13,547 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:59:13,547 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:59:13,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:13,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:59:13,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 156 transitions. [2022-02-20 23:59:13,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:59:13,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 156 transitions. [2022-02-20 23:59:13,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 156 transitions. [2022-02-20 23:59:13,687 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:13,688 INFO L225 Difference]: With dead ends: 148 [2022-02-20 23:59:13,688 INFO L226 Difference]: Without dead ends: 148 [2022-02-20 23:59:13,689 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 38 SyntacticMatches, 3 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:59:13,689 INFO L933 BasicCegarLoop]: 59 mSDtfsCounter, 60 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 207 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 283 SdHoareTripleChecker+Invalid, 269 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 207 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 62 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:13,690 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 283 Invalid, 269 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 207 Invalid, 0 Unknown, 62 Unchecked, 0.3s Time] [2022-02-20 23:59:13,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-02-20 23:59:13,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 95. [2022-02-20 23:59:13,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:13,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:13,693 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:13,693 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:13,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:13,698 INFO L93 Difference]: Finished difference Result 148 states and 156 transitions. [2022-02-20 23:59:13,699 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 156 transitions. [2022-02-20 23:59:13,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:13,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:13,699 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 148 states. [2022-02-20 23:59:13,699 INFO L87 Difference]: Start difference. First operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 148 states. [2022-02-20 23:59:13,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:13,702 INFO L93 Difference]: Finished difference Result 148 states and 156 transitions. [2022-02-20 23:59:13,702 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 156 transitions. [2022-02-20 23:59:13,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:13,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:13,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:13,703 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:13,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:13,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 99 transitions. [2022-02-20 23:59:13,704 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 99 transitions. Word has length 25 [2022-02-20 23:59:13,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:13,704 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 99 transitions. [2022-02-20 23:59:13,705 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:59:13,705 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-02-20 23:59:13,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:59:13,705 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:13,705 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:13,712 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:13,912 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:13,913 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:13,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:13,913 INFO L85 PathProgramCache]: Analyzing trace with hash 1713076934, now seen corresponding path program 1 times [2022-02-20 23:59:13,913 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:13,913 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [897071456] [2022-02-20 23:59:13,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:13,913 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:13,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:13,914 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:13,915 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 23:59:14,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:14,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:59:14,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:14,020 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:14,042 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:14,046 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:16,317 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:16,318 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:16,326 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:59:16,326 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:59:16,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {3021#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {3021#true} is VALID [2022-02-20 23:59:16,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {3021#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3021#true} is VALID [2022-02-20 23:59:16,379 INFO L272 TraceCheckUtils]: 2: Hoare triple {3021#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3021#true} is VALID [2022-02-20 23:59:16,380 INFO L290 TraceCheckUtils]: 3: Hoare triple {3021#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:16,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:16,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:16,382 INFO L290 TraceCheckUtils]: 6: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:16,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:16,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} assume true; {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:16,384 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} {3021#true} #159#return; {3055#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|))} is VALID [2022-02-20 23:59:16,384 INFO L290 TraceCheckUtils]: 10: Hoare triple {3055#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3066#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:59:16,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {3066#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,392 INFO L290 TraceCheckUtils]: 17: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} assume true; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:16,394 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} #161#return; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,396 INFO L290 TraceCheckUtils]: 23: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:16,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_create_~last~0#1.offset), #length[sll_circular_create_~last~0#1.base]) && ~bvule32(sll_circular_create_~last~0#1.offset, ~bvadd32(4bv32, sll_circular_create_~last~0#1.offset))) && ~bvule32(0bv32, sll_circular_create_~last~0#1.offset)); {3022#false} is VALID [2022-02-20 23:59:16,396 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:16,396 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:18,680 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:18,681 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [897071456] [2022-02-20 23:59:18,681 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [897071456] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:18,681 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [529130927] [2022-02-20 23:59:18,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:18,681 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:59:18,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:59:18,683 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:59:18,707 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Waiting until timeout for monitored process [2022-02-20 23:59:18,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:18,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:59:18,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:18,854 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:18,875 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:18,882 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:21,138 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:21,139 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:21,147 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:59:21,147 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:59:21,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {3021#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {3021#true} is VALID [2022-02-20 23:59:21,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {3021#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3021#true} is VALID [2022-02-20 23:59:21,183 INFO L272 TraceCheckUtils]: 2: Hoare triple {3021#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3021#true} is VALID [2022-02-20 23:59:21,185 INFO L290 TraceCheckUtils]: 3: Hoare triple {3021#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:21,185 INFO L290 TraceCheckUtils]: 4: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:21,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:21,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:21,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {3035#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:21,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} assume true; {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:21,188 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3048#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} {3021#true} #159#return; {3055#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|))} is VALID [2022-02-20 23:59:21,189 INFO L290 TraceCheckUtils]: 10: Hoare triple {3055#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,190 INFO L272 TraceCheckUtils]: 12: Hoare triple {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3066#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:59:21,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {3066#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} assume true; {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} is VALID [2022-02-20 23:59:21,201 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3070#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_169 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_169)))))} {3059#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} #161#return; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,202 INFO L290 TraceCheckUtils]: 21: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,203 INFO L290 TraceCheckUtils]: 22: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:21,204 INFO L290 TraceCheckUtils]: 24: Hoare triple {3089#(and (= |ULTIMATE.start_sll_circular_create_~last~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_create_~last~0#1.offset), #length[sll_circular_create_~last~0#1.base]) && ~bvule32(sll_circular_create_~last~0#1.offset, ~bvadd32(4bv32, sll_circular_create_~last~0#1.offset))) && ~bvule32(0bv32, sll_circular_create_~last~0#1.offset)); {3022#false} is VALID [2022-02-20 23:59:21,204 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:21,204 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:21,415 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [529130927] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:21,415 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:59:21,415 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-02-20 23:59:21,415 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [232318522] [2022-02-20 23:59:21,416 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:59:21,416 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 23:59:21,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:21,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:21,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:21,443 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:59:21,443 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:21,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:59:21,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=85, Unknown=2, NotChecked=0, Total=110 [2022-02-20 23:59:21,444 INFO L87 Difference]: Start difference. First operand 95 states and 99 transitions. Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:23,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:23,401 INFO L93 Difference]: Finished difference Result 224 states and 238 transitions. [2022-02-20 23:59:23,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:59:23,401 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 23:59:23,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:23,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:23,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 233 transitions. [2022-02-20 23:59:23,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:23,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 233 transitions. [2022-02-20 23:59:23,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 233 transitions. [2022-02-20 23:59:23,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 233 edges. 233 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:23,620 INFO L225 Difference]: With dead ends: 224 [2022-02-20 23:59:23,620 INFO L226 Difference]: Without dead ends: 224 [2022-02-20 23:59:23,620 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 6.3s TimeCoverageRelationStatistics Valid=31, Invalid=123, Unknown=2, NotChecked=0, Total=156 [2022-02-20 23:59:23,620 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 128 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 340 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 308 SdHoareTripleChecker+Invalid, 466 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 340 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 118 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:23,621 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 308 Invalid, 466 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 340 Invalid, 0 Unknown, 118 Unchecked, 0.7s Time] [2022-02-20 23:59:23,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-02-20 23:59:23,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 101. [2022-02-20 23:59:23,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:23,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:23,624 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:23,624 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:23,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:23,629 INFO L93 Difference]: Finished difference Result 224 states and 238 transitions. [2022-02-20 23:59:23,629 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 238 transitions. [2022-02-20 23:59:23,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:23,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:23,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 224 states. [2022-02-20 23:59:23,630 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 224 states. [2022-02-20 23:59:23,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:23,634 INFO L93 Difference]: Finished difference Result 224 states and 238 transitions. [2022-02-20 23:59:23,634 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 238 transitions. [2022-02-20 23:59:23,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:23,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:23,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:23,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:23,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.6557377049180328) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:23,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 107 transitions. [2022-02-20 23:59:23,637 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 107 transitions. Word has length 25 [2022-02-20 23:59:23,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:23,637 INFO L470 AbstractCegarLoop]: Abstraction has 101 states and 107 transitions. [2022-02-20 23:59:23,637 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:59:23,638 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 107 transitions. [2022-02-20 23:59:23,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:59:23,638 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:23,638 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:23,643 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Ended with exit code 0 [2022-02-20 23:59:23,850 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:24,050 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:24,050 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr35REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:24,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:24,051 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263260, now seen corresponding path program 1 times [2022-02-20 23:59:24,051 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:24,051 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [776952929] [2022-02-20 23:59:24,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:24,051 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:24,051 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:24,052 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:24,053 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 23:59:24,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:24,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:59:24,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:24,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:24,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {3991#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {3991#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,244 INFO L272 TraceCheckUtils]: 2: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 3: Hoare triple {3991#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 4: Hoare triple {3991#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {3991#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 6: Hoare triple {3991#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3991#true} is VALID [2022-02-20 23:59:24,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {3991#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3991#true} is VALID [2022-02-20 23:59:24,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {3991#true} assume true; {3991#true} is VALID [2022-02-20 23:59:24,254 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3991#true} {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} #159#return; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 10: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 11: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,255 INFO L272 TraceCheckUtils]: 12: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3991#true} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {3991#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3991#true} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {3991#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3991#true} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {3991#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {3991#true} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {3991#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {3991#true} is VALID [2022-02-20 23:59:24,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {3991#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3991#true} is VALID [2022-02-20 23:59:24,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {3991#true} assume true; {3991#true} is VALID [2022-02-20 23:59:24,256 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3991#true} {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} #161#return; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:59:24,259 INFO L290 TraceCheckUtils]: 26: Hoare triple {3999#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {4075#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|))} is VALID [2022-02-20 23:59:24,259 INFO L290 TraceCheckUtils]: 27: Hoare triple {4075#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|))} assume !~bvslt32(main_~i~0#1, main_~len~0#1); {3992#false} is VALID [2022-02-20 23:59:24,259 INFO L290 TraceCheckUtils]: 28: Hoare triple {3992#false} assume !((~bvule32(~bvadd32(4bv32, main_~#s~0#1.offset), #length[main_~#s~0#1.base]) && ~bvule32(main_~#s~0#1.offset, ~bvadd32(4bv32, main_~#s~0#1.offset))) && ~bvule32(0bv32, main_~#s~0#1.offset)); {3992#false} is VALID [2022-02-20 23:59:24,259 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:59:24,260 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:24,260 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:24,260 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [776952929] [2022-02-20 23:59:24,260 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [776952929] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:24,260 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:24,260 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:59:24,260 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1285210061] [2022-02-20 23:59:24,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:24,261 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 29 [2022-02-20 23:59:24,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:24,261 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:24,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:24,282 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:59:24,282 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:24,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:59:24,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:59:24,283 INFO L87 Difference]: Start difference. First operand 101 states and 107 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:24,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:24,598 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:59:24,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:59:24,598 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 29 [2022-02-20 23:59:24,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:24,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:24,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 155 transitions. [2022-02-20 23:59:24,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:24,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 155 transitions. [2022-02-20 23:59:24,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 155 transitions. [2022-02-20 23:59:24,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:24,732 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:59:24,733 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 23:59:24,733 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:59:24,733 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 133 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:24,734 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [133 Valid, 183 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:59:24,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 23:59:24,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 102. [2022-02-20 23:59:24,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:24,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:24,741 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:24,742 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:24,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:24,748 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:59:24,748 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:59:24,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:24,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:24,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 160 states. [2022-02-20 23:59:24,754 INFO L87 Difference]: Start difference. First operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 160 states. [2022-02-20 23:59:24,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:24,757 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:59:24,757 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:59:24,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:24,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:24,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:24,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:24,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 62 states have (on average 1.6451612903225807) internal successors, (102), 96 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:24,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 108 transitions. [2022-02-20 23:59:24,761 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 108 transitions. Word has length 29 [2022-02-20 23:59:24,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:24,762 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 108 transitions. [2022-02-20 23:59:24,762 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:24,762 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 108 transitions. [2022-02-20 23:59:24,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:59:24,763 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:24,763 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:24,772 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:24,970 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:24,971 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:24,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:24,971 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263288, now seen corresponding path program 1 times [2022-02-20 23:59:24,971 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:24,971 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [67790404] [2022-02-20 23:59:24,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:24,972 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:24,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:24,972 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:24,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 23:59:25,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:25,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:59:25,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:25,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:25,111 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:25,213 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:59:25,213 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 21 [2022-02-20 23:59:25,340 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:59:25,341 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 18 treesize of output 27 [2022-02-20 23:59:25,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {4663#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4663#true} is VALID [2022-02-20 23:59:25,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {4663#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:25,936 INFO L272 TraceCheckUtils]: 2: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {4675#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:25,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {4675#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,941 INFO L290 TraceCheckUtils]: 4: Hoare triple {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,945 INFO L290 TraceCheckUtils]: 6: Hoare triple {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,945 INFO L290 TraceCheckUtils]: 7: Hoare triple {4679#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_300) |#valid|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4692#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {4692#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_300) |#valid|))} assume true; {4692#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_300) |#valid|))} is VALID [2022-02-20 23:59:25,952 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4692#(exists ((v_ArrVal_300 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_300) |#valid|))} {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #159#return; {4699#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:25,953 INFO L290 TraceCheckUtils]: 10: Hoare triple {4699#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:25,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:25,960 INFO L272 TraceCheckUtils]: 12: Hoare triple {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {4675#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:25,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {4675#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,963 INFO L290 TraceCheckUtils]: 15: Hoare triple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume true; {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:25,972 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4713#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} #161#return; {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} is VALID [2022-02-20 23:59:25,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} is VALID [2022-02-20 23:59:25,974 INFO L290 TraceCheckUtils]: 21: Hoare triple {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} is VALID [2022-02-20 23:59:25,975 INFO L290 TraceCheckUtils]: 22: Hoare triple {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} is VALID [2022-02-20 23:59:25,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} is VALID [2022-02-20 23:59:25,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {4732#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_arrayElimCell_10 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_10) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))) (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|)) (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (_ bv0 1) (bvadd v_arrayElimCell_10 (_ bv1 1))))))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:25,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:25,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:25,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {4757#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:25,979 INFO L290 TraceCheckUtils]: 28: Hoare triple {4757#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[sll_circular_remove_last_~head#1.base]); {4664#false} is VALID [2022-02-20 23:59:25,979 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:25,980 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:26,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {4757#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[sll_circular_remove_last_~head#1.base]); {4664#false} is VALID [2022-02-20 23:59:26,891 INFO L290 TraceCheckUtils]: 27: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {4757#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:26,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:26,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:26,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:26,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:26,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:26,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:26,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:26,895 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} #161#return; {4773#(or (not (= (_ bv1 1) (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:26,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} assume true; {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,896 INFO L290 TraceCheckUtils]: 17: Hoare triple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,897 INFO L290 TraceCheckUtils]: 15: Hoare triple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {4811#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_node_create_~temp~0#1.base_28| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1))) (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4792#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |#valid| |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1))) (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1)))))} is VALID [2022-02-20 23:59:26,904 INFO L272 TraceCheckUtils]: 12: Hoare triple {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {4811#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_node_create_~temp~0#1.base_28| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1))) (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:26,905 INFO L290 TraceCheckUtils]: 10: Hoare triple {4699#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {4703#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:26,906 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4824#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |node_create_#res#1.base| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #159#return; {4699#(or (= |ULTIMATE.start_main_~#s~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (= (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (_ bv0 1)))} is VALID [2022-02-20 23:59:26,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {4824#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |node_create_#res#1.base| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} assume true; {4824#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |node_create_#res#1.base| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4824#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |node_create_#res#1.base| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,908 INFO L290 TraceCheckUtils]: 6: Hoare triple {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,911 INFO L290 TraceCheckUtils]: 4: Hoare triple {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,918 INFO L290 TraceCheckUtils]: 3: Hoare triple {4811#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_node_create_~temp~0#1.base_28| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1))) (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4831#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| (_ BitVec 32))) (or (= (_ bv0 1) (bvadd (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1))) (= |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4| |node_create_~temp~0#1.base|) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_4|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,920 INFO L272 TraceCheckUtils]: 2: Hoare triple {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {4811#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32)) (|v_node_create_~temp~0#1.base_28| (_ BitVec 32)) (|v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6| (_ BitVec 32))) (or (not (= (bvadd (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (_ bv0 1))) (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select (store |#valid| |v_node_create_~temp~0#1.base_28| (_ bv1 1)) |v_ULTIMATE.start_sll_circular_create_~last~0#1.base_BEFORE_CALL_6|) (_ bv1 1)))))} is VALID [2022-02-20 23:59:26,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {4663#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {4671#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:59:26,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {4663#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4663#true} is VALID [2022-02-20 23:59:26,922 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:26,922 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:26,922 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [67790404] [2022-02-20 23:59:26,922 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [67790404] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:59:26,922 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:59:26,922 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-02-20 23:59:26,922 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1747837852] [2022-02-20 23:59:26,922 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:59:26,923 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 23:59:26,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:26,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:59:27,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:27,040 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:59:27,040 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:27,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:59:27,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:59:27,041 INFO L87 Difference]: Start difference. First operand 102 states and 108 transitions. Second operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:59:28,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:28,420 INFO L93 Difference]: Finished difference Result 139 states and 148 transitions. [2022-02-20 23:59:28,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:59:28,420 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 23:59:28,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:28,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:59:28,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 145 transitions. [2022-02-20 23:59:28,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:59:28,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 145 transitions. [2022-02-20 23:59:28,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 145 transitions. [2022-02-20 23:59:28,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:28,605 INFO L225 Difference]: With dead ends: 139 [2022-02-20 23:59:28,605 INFO L226 Difference]: Without dead ends: 139 [2022-02-20 23:59:28,606 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 36 SyntacticMatches, 8 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 91 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=75, Invalid=267, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:59:28,606 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 240 mSDsluCounter, 263 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 240 SdHoareTripleChecker+Valid, 314 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 221 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:28,606 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [240 Valid, 314 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 124 Invalid, 0 Unknown, 221 Unchecked, 0.3s Time] [2022-02-20 23:59:28,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2022-02-20 23:59:28,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 99. [2022-02-20 23:59:28,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:28,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:28,609 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:28,609 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:28,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:28,612 INFO L93 Difference]: Finished difference Result 139 states and 148 transitions. [2022-02-20 23:59:28,612 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2022-02-20 23:59:28,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:28,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:28,613 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2022-02-20 23:59:28,613 INFO L87 Difference]: Start difference. First operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2022-02-20 23:59:28,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:28,615 INFO L93 Difference]: Finished difference Result 139 states and 148 transitions. [2022-02-20 23:59:28,615 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2022-02-20 23:59:28,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:28,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:28,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:28,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:28,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 63 states have (on average 1.5873015873015872) internal successors, (100), 93 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:59:28,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 106 transitions. [2022-02-20 23:59:28,618 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 106 transitions. Word has length 29 [2022-02-20 23:59:28,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:28,618 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 106 transitions. [2022-02-20 23:59:28,618 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.8) internal successors, (42), 13 states have internal predecessors, (42), 2 states have call successors, (4), 2 states have call predecessors, (4), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:59:28,618 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 106 transitions. [2022-02-20 23:59:28,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:59:28,619 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:28,619 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:28,627 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:28,826 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:28,826 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:28,826 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:28,827 INFO L85 PathProgramCache]: Analyzing trace with hash -1566263287, now seen corresponding path program 1 times [2022-02-20 23:59:28,827 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:28,827 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1427932533] [2022-02-20 23:59:28,827 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:28,827 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:28,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:28,828 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:28,830 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 23:59:28,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:28,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:59:28,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:28,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:28,972 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:28,976 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:29,110 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:29,111 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:29,120 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:59:29,120 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:59:29,230 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:59:29,231 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 18 [2022-02-20 23:59:29,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {5373#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {5373#true} is VALID [2022-02-20 23:59:29,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {5373#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {5381#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:29,496 INFO L272 TraceCheckUtils]: 2: Hoare triple {5381#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {5385#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:59:29,497 INFO L290 TraceCheckUtils]: 3: Hoare triple {5385#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,498 INFO L290 TraceCheckUtils]: 4: Hoare triple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,502 INFO L290 TraceCheckUtils]: 7: Hoare triple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,502 INFO L290 TraceCheckUtils]: 8: Hoare triple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} assume true; {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} is VALID [2022-02-20 23:59:29,504 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5389#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_350 (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_350) |#length|))))} {5381#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #159#return; {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:29,504 INFO L290 TraceCheckUtils]: 10: Hoare triple {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:29,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:29,506 INFO L272 TraceCheckUtils]: 12: Hoare triple {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {5418#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:59:29,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {5418#(= |#length| |old(#length)|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,508 INFO L290 TraceCheckUtils]: 17: Hoare triple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} assume true; {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} is VALID [2022-02-20 23:59:29,510 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5422#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#length)| |node_create_~temp~0#1.base| (_ bv8 32)) |#length|))} {5408#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #161#return; {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:59:29,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {5441#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {5466#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_sll_circular_remove_last_~head#1.base| |node_create_~temp~0#1.base|) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv4 32))))) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:29,520 INFO L290 TraceCheckUtils]: 28: Hoare triple {5466#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)) (or (= |ULTIMATE.start_sll_circular_remove_last_~head#1.base| |node_create_~temp~0#1.base|) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv4 32))))) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset), #length[sll_circular_remove_last_~head#1.base]) && ~bvule32(sll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, sll_circular_remove_last_~head#1.offset)); {5374#false} is VALID [2022-02-20 23:59:29,520 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:29,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:29,871 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:29,872 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1427932533] [2022-02-20 23:59:29,872 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1427932533] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:29,872 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1673394922] [2022-02-20 23:59:29,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:29,874 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:59:29,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:59:29,875 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:59:29,894 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (13)] Waiting until timeout for monitored process [2022-02-20 23:59:30,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:30,037 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:59:30,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:30,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:30,075 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:30,109 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:59:30,268 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:30,269 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:30,346 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:59:32,580 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:59:32,581 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:59:32,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {5373#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {5373#true} is VALID [2022-02-20 23:59:32,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {5373#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {5506#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,926 INFO L272 TraceCheckUtils]: 2: Hoare triple {5506#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {5510#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,927 INFO L290 TraceCheckUtils]: 3: Hoare triple {5510#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,938 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {5506#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #159#return; {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,938 INFO L290 TraceCheckUtils]: 10: Hoare triple {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,939 INFO L272 TraceCheckUtils]: 12: Hoare triple {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {5543#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,940 INFO L290 TraceCheckUtils]: 13: Hoare triple {5543#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,943 INFO L290 TraceCheckUtils]: 15: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:59:32,954 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5514#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_396 (_ BitVec 32))) (and (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_396) |#length|) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {5533#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #161#return; {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,965 INFO L290 TraceCheckUtils]: 21: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,966 INFO L290 TraceCheckUtils]: 22: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,967 INFO L290 TraceCheckUtils]: 23: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,967 INFO L290 TraceCheckUtils]: 24: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:59:32,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {5565#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {5590#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|))) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv4 32)))} is VALID [2022-02-20 23:59:32,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {5590#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|))) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv4 32)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset), #length[sll_circular_remove_last_~head#1.base]) && ~bvule32(sll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, sll_circular_remove_last_~head#1.offset)); {5374#false} is VALID [2022-02-20 23:59:32,973 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:59:32,973 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:35,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1673394922] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:35,239 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:59:35,239 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 16 [2022-02-20 23:59:35,239 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383280133] [2022-02-20 23:59:35,239 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:59:35,239 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 29 [2022-02-20 23:59:35,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:35,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:59:35,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:35,330 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:59:35,330 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:35,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:59:35,331 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=351, Unknown=2, NotChecked=0, Total=420 [2022-02-20 23:59:35,331 INFO L87 Difference]: Start difference. First operand 99 states and 106 transitions. Second operand has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:59:38,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:38,299 INFO L93 Difference]: Finished difference Result 128 states and 137 transitions. [2022-02-20 23:59:38,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:59:38,300 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 29 [2022-02-20 23:59:38,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:38,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:59:38,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2022-02-20 23:59:38,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:59:38,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2022-02-20 23:59:38,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 131 transitions. [2022-02-20 23:59:38,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:38,501 INFO L225 Difference]: With dead ends: 128 [2022-02-20 23:59:38,501 INFO L226 Difference]: Without dead ends: 128 [2022-02-20 23:59:38,501 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 6.4s TimeCoverageRelationStatistics Valid=105, Invalid=595, Unknown=2, NotChecked=0, Total=702 [2022-02-20 23:59:38,502 INFO L933 BasicCegarLoop]: 81 mSDtfsCounter, 11 mSDsluCounter, 393 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 474 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 225 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:38,502 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 474 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 64 Invalid, 0 Unknown, 225 Unchecked, 0.1s Time] [2022-02-20 23:59:38,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-02-20 23:59:38,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 124. [2022-02-20 23:59:38,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:38,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:38,505 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:38,506 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:38,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:38,508 INFO L93 Difference]: Finished difference Result 128 states and 137 transitions. [2022-02-20 23:59:38,508 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 137 transitions. [2022-02-20 23:59:38,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:38,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:38,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 128 states. [2022-02-20 23:59:38,509 INFO L87 Difference]: Start difference. First operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 128 states. [2022-02-20 23:59:38,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:38,511 INFO L93 Difference]: Finished difference Result 128 states and 137 transitions. [2022-02-20 23:59:38,511 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 137 transitions. [2022-02-20 23:59:38,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:38,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:38,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:38,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:38,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 84 states have (on average 1.4642857142857142) internal successors, (123), 115 states have internal predecessors, (123), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:38,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 133 transitions. [2022-02-20 23:59:38,514 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 133 transitions. Word has length 29 [2022-02-20 23:59:38,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:38,514 INFO L470 AbstractCegarLoop]: Abstraction has 124 states and 133 transitions. [2022-02-20 23:59:38,514 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 3.142857142857143) internal successors, (44), 13 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:59:38,514 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 133 transitions. [2022-02-20 23:59:38,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:59:38,515 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:38,515 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:38,520 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:38,725 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:38,918 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:38,918 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:38,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:38,918 INFO L85 PathProgramCache]: Analyzing trace with hash -1940465843, now seen corresponding path program 1 times [2022-02-20 23:59:38,919 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:38,919 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1910408769] [2022-02-20 23:59:38,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:38,919 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:38,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:38,920 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:38,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 23:59:39,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:39,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:59:39,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:39,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:39,059 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:39,173 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2022-02-20 23:59:39,203 INFO L290 TraceCheckUtils]: 0: Hoare triple {6145#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {6145#true} is VALID [2022-02-20 23:59:39,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {6145#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {6145#true} is VALID [2022-02-20 23:59:39,204 INFO L272 TraceCheckUtils]: 2: Hoare triple {6145#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {6145#true} is VALID [2022-02-20 23:59:39,204 INFO L290 TraceCheckUtils]: 3: Hoare triple {6145#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6145#true} is VALID [2022-02-20 23:59:39,204 INFO L290 TraceCheckUtils]: 4: Hoare triple {6145#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6145#true} is VALID [2022-02-20 23:59:39,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {6145#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L290 TraceCheckUtils]: 6: Hoare triple {6145#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L290 TraceCheckUtils]: 8: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6145#true} {6145#true} #159#return; {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L290 TraceCheckUtils]: 10: Hoare triple {6145#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {6145#true} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {6145#true} is VALID [2022-02-20 23:59:39,205 INFO L272 TraceCheckUtils]: 12: Hoare triple {6145#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {6145#true} is VALID [2022-02-20 23:59:39,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,208 INFO L290 TraceCheckUtils]: 16: Hoare triple {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,208 INFO L290 TraceCheckUtils]: 17: Hoare triple {6189#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6202#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {6202#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {6202#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,209 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6202#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {6145#true} #161#return; {6209#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {6209#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {6213#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,210 INFO L290 TraceCheckUtils]: 21: Hoare triple {6213#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {6213#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,210 INFO L290 TraceCheckUtils]: 22: Hoare triple {6213#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,211 INFO L290 TraceCheckUtils]: 23: Hoare triple {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {6220#(= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {6230#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {6230#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) (_ bv1 1))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {6234#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1))} is VALID [2022-02-20 23:59:39,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {6234#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {6238#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (_ bv1 1))} is VALID [2022-02-20 23:59:39,213 INFO L290 TraceCheckUtils]: 28: Hoare triple {6238#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (_ bv1 1))} SUMMARY for call sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L596 {6242#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,213 INFO L290 TraceCheckUtils]: 29: Hoare triple {6242#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (_ bv1 1))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset; {6246#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:39,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {6246#(= (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[sll_circular_remove_last_~last~1#1.base]); {6146#false} is VALID [2022-02-20 23:59:39,214 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:39,214 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:39,214 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:39,214 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1910408769] [2022-02-20 23:59:39,214 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1910408769] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:39,214 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:39,214 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:59:39,214 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533454339] [2022-02-20 23:59:39,214 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:39,215 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 31 [2022-02-20 23:59:39,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:39,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:39,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:39,247 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:59:39,247 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:39,248 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:59:39,248 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=111, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:59:39,248 INFO L87 Difference]: Start difference. First operand 124 states and 133 transitions. Second operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:42,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:42,202 INFO L93 Difference]: Finished difference Result 162 states and 173 transitions. [2022-02-20 23:59:42,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:59:42,203 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 31 [2022-02-20 23:59:42,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:42,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:42,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 139 transitions. [2022-02-20 23:59:42,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:42,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 139 transitions. [2022-02-20 23:59:42,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 139 transitions. [2022-02-20 23:59:42,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:42,352 INFO L225 Difference]: With dead ends: 162 [2022-02-20 23:59:42,352 INFO L226 Difference]: Without dead ends: 162 [2022-02-20 23:59:42,352 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=77, Invalid=265, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:59:42,353 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 291 mSDsluCounter, 323 mSDsCounter, 0 mSdLazyCounter, 549 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 291 SdHoareTripleChecker+Valid, 373 SdHoareTripleChecker+Invalid, 560 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 549 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:42,353 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [291 Valid, 373 Invalid, 560 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 549 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-20 23:59:42,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-02-20 23:59:42,355 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 124. [2022-02-20 23:59:42,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:42,356 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:42,356 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:42,356 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:42,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:42,358 INFO L93 Difference]: Finished difference Result 162 states and 173 transitions. [2022-02-20 23:59:42,358 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 173 transitions. [2022-02-20 23:59:42,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:42,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:42,359 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 162 states. [2022-02-20 23:59:42,359 INFO L87 Difference]: Start difference. First operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 162 states. [2022-02-20 23:59:42,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:42,362 INFO L93 Difference]: Finished difference Result 162 states and 173 transitions. [2022-02-20 23:59:42,362 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 173 transitions. [2022-02-20 23:59:42,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:42,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:42,362 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:42,362 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:42,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 86 states have (on average 1.441860465116279) internal successors, (124), 115 states have internal predecessors, (124), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:42,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 134 transitions. [2022-02-20 23:59:42,364 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 134 transitions. Word has length 31 [2022-02-20 23:59:42,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:42,371 INFO L470 AbstractCegarLoop]: Abstraction has 124 states and 134 transitions. [2022-02-20 23:59:42,371 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:42,371 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 134 transitions. [2022-02-20 23:59:42,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:59:42,373 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:42,374 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:42,383 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:42,580 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:42,581 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:42,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:42,581 INFO L85 PathProgramCache]: Analyzing trace with hash -1940465842, now seen corresponding path program 1 times [2022-02-20 23:59:42,581 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:42,581 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [149599375] [2022-02-20 23:59:42,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:42,581 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:42,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:42,583 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:42,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2022-02-20 23:59:42,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:42,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 23:59:42,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:42,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:42,730 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:42,942 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2022-02-20 23:59:42,945 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 0: Hoare triple {6874#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {6874#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L272 TraceCheckUtils]: 2: Hoare triple {6874#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {6874#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 4: Hoare triple {6874#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {6874#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 6: Hoare triple {6874#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {6874#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6874#true} is VALID [2022-02-20 23:59:42,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {6874#true} assume true; {6874#true} is VALID [2022-02-20 23:59:42,991 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6874#true} {6874#true} #159#return; {6874#true} is VALID [2022-02-20 23:59:42,991 INFO L290 TraceCheckUtils]: 10: Hoare triple {6874#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {6874#true} is VALID [2022-02-20 23:59:42,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {6874#true} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {6874#true} is VALID [2022-02-20 23:59:42,991 INFO L272 TraceCheckUtils]: 12: Hoare triple {6874#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {6874#true} is VALID [2022-02-20 23:59:42,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {6874#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:42,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:42,993 INFO L290 TraceCheckUtils]: 15: Hoare triple {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:42,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:59:42,994 INFO L290 TraceCheckUtils]: 17: Hoare triple {6918#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6931#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} is VALID [2022-02-20 23:59:42,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {6931#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} assume true; {6931#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} is VALID [2022-02-20 23:59:42,995 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6931#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |node_create_#res#1.base|)))} {6874#true} #161#return; {6938#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:42,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {6938#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv8 32)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {6942#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:42,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {6942#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {6942#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:42,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {6942#(and (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv8 32)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:59:42,997 INFO L290 TraceCheckUtils]: 23: Hoare triple {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:59:42,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:59:42,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {6949#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {6959#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#res#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#res#1.offset|))} is VALID [2022-02-20 23:59:42,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {6959#(and (= (_ bv8 32) (select |#length| |ULTIMATE.start_sll_circular_create_#res#1.base|)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#res#1.offset|))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {6963#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))} is VALID [2022-02-20 23:59:42,999 INFO L290 TraceCheckUtils]: 27: Hoare triple {6963#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {6967#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))))} is VALID [2022-02-20 23:59:43,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {6967#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))))} SUMMARY for call sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L596 {6971#(and (= |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:43,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {6971#(and (= |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (_ bv8 32)))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset; {6975#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:59:43,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {6975#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (_ bv8 32)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_remove_last_~last~1#1.offset), #length[sll_circular_remove_last_~last~1#1.base]) && ~bvule32(sll_circular_remove_last_~last~1#1.offset, ~bvadd32(4bv32, sll_circular_remove_last_~last~1#1.offset))) && ~bvule32(0bv32, sll_circular_remove_last_~last~1#1.offset)); {6875#false} is VALID [2022-02-20 23:59:43,004 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:59:43,004 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:43,004 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:43,004 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [149599375] [2022-02-20 23:59:43,004 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [149599375] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:43,004 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:43,004 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:59:43,004 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1584490372] [2022-02-20 23:59:43,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:43,005 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 31 [2022-02-20 23:59:43,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:43,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:43,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:43,038 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:59:43,038 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:43,038 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:59:43,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=111, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:59:43,038 INFO L87 Difference]: Start difference. First operand 124 states and 134 transitions. Second operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:46,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:46,638 INFO L93 Difference]: Finished difference Result 222 states and 236 transitions. [2022-02-20 23:59:46,638 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:59:46,638 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 31 [2022-02-20 23:59:46,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:46,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:46,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 200 transitions. [2022-02-20 23:59:46,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:46,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 200 transitions. [2022-02-20 23:59:46,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 200 transitions. [2022-02-20 23:59:46,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 200 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:46,913 INFO L225 Difference]: With dead ends: 222 [2022-02-20 23:59:46,913 INFO L226 Difference]: Without dead ends: 222 [2022-02-20 23:59:46,914 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=86, Invalid=294, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:59:46,914 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 745 mSDsluCounter, 262 mSDsCounter, 0 mSdLazyCounter, 467 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 745 SdHoareTripleChecker+Valid, 303 SdHoareTripleChecker+Invalid, 488 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 467 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:46,914 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [745 Valid, 303 Invalid, 488 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 467 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-02-20 23:59:46,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-02-20 23:59:46,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 136. [2022-02-20 23:59:46,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:46,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:46,917 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:46,918 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:46,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:46,921 INFO L93 Difference]: Finished difference Result 222 states and 236 transitions. [2022-02-20 23:59:46,921 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 236 transitions. [2022-02-20 23:59:46,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:46,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:46,921 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 222 states. [2022-02-20 23:59:46,922 INFO L87 Difference]: Start difference. First operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 222 states. [2022-02-20 23:59:46,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:46,924 INFO L93 Difference]: Finished difference Result 222 states and 236 transitions. [2022-02-20 23:59:46,925 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 236 transitions. [2022-02-20 23:59:46,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:46,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:46,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:46,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:46,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 98 states have (on average 1.4795918367346939) internal successors, (145), 127 states have internal predecessors, (145), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:46,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 155 transitions. [2022-02-20 23:59:46,927 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 155 transitions. Word has length 31 [2022-02-20 23:59:46,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:46,927 INFO L470 AbstractCegarLoop]: Abstraction has 136 states and 155 transitions. [2022-02-20 23:59:46,927 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 11 states have internal predecessors, (27), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:46,927 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 155 transitions. [2022-02-20 23:59:46,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:59:46,928 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:46,928 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:46,939 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:59:47,135 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:47,135 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:47,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:47,136 INFO L85 PathProgramCache]: Analyzing trace with hash -24898970, now seen corresponding path program 1 times [2022-02-20 23:59:47,136 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:47,136 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1084203704] [2022-02-20 23:59:47,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:47,136 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:47,136 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:47,137 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:47,138 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 23:59:47,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:47,237 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:59:47,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:47,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {7797#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {7797#true} is VALID [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {7797#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,344 INFO L272 TraceCheckUtils]: 2: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {7797#true} is VALID [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 3: Hoare triple {7797#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7797#true} is VALID [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 4: Hoare triple {7797#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7797#true} is VALID [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {7797#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {7797#true} is VALID [2022-02-20 23:59:47,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {7797#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {7797#true} is VALID [2022-02-20 23:59:47,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {7797#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7797#true} is VALID [2022-02-20 23:59:47,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {7797#true} assume true; {7797#true} is VALID [2022-02-20 23:59:47,345 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7797#true} {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} #159#return; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,346 INFO L272 TraceCheckUtils]: 12: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {7797#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {7797#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 15: Hoare triple {7797#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 16: Hoare triple {7797#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 17: Hoare triple {7797#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7797#true} is VALID [2022-02-20 23:59:47,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {7797#true} assume true; {7797#true} is VALID [2022-02-20 23:59:47,354 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7797#true} {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} #161#return; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,355 INFO L290 TraceCheckUtils]: 21: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,355 INFO L290 TraceCheckUtils]: 22: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,356 INFO L290 TraceCheckUtils]: 25: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,356 INFO L290 TraceCheckUtils]: 26: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {7805#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {7884#(= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:47,357 INFO L290 TraceCheckUtils]: 28: Hoare triple {7884#(= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32))} SUMMARY for call sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L596 {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:47,358 INFO L290 TraceCheckUtils]: 29: Hoare triple {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset; {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:47,358 INFO L290 TraceCheckUtils]: 30: Hoare triple {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} SUMMARY for call sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset := read~$Pointer$(sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset, 4bv32); srcloc: L597-4 {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:47,359 INFO L290 TraceCheckUtils]: 31: Hoare triple {7888#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset), #length[sll_circular_remove_last_~head#1.base]) && ~bvule32(sll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, sll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, sll_circular_remove_last_~head#1.offset)); {7798#false} is VALID [2022-02-20 23:59:47,359 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:59:47,359 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:59:47,359 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:47,359 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1084203704] [2022-02-20 23:59:47,359 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1084203704] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:59:47,359 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:59:47,359 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:59:47,359 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1259083047] [2022-02-20 23:59:47,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:59:47,360 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2022-02-20 23:59:47,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:59:47,360 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:47,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:47,385 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:59:47,385 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:59:47,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:59:47,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:59:47,389 INFO L87 Difference]: Start difference. First operand 136 states and 155 transitions. Second operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:47,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:47,764 INFO L93 Difference]: Finished difference Result 130 states and 146 transitions. [2022-02-20 23:59:47,764 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:59:47,764 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2022-02-20 23:59:47,765 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:59:47,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:47,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-02-20 23:59:47,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:47,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-02-20 23:59:47,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 87 transitions. [2022-02-20 23:59:47,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:59:47,852 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:59:47,853 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:59:47,853 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:59:47,853 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 114 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:59:47,853 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 100 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:59:47,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:59:47,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2022-02-20 23:59:47,856 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:59:47,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:47,856 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:47,856 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:47,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:47,858 INFO L93 Difference]: Finished difference Result 130 states and 146 transitions. [2022-02-20 23:59:47,858 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 146 transitions. [2022-02-20 23:59:47,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:47,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:47,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 130 states. [2022-02-20 23:59:47,859 INFO L87 Difference]: Start difference. First operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 130 states. [2022-02-20 23:59:47,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:59:47,861 INFO L93 Difference]: Finished difference Result 130 states and 146 transitions. [2022-02-20 23:59:47,861 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 146 transitions. [2022-02-20 23:59:47,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:59:47,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:59:47,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:59:47,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:59:47,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 98 states have (on average 1.3877551020408163) internal successors, (136), 121 states have internal predecessors, (136), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:59:47,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 146 transitions. [2022-02-20 23:59:47,863 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 146 transitions. Word has length 32 [2022-02-20 23:59:47,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:59:47,863 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 146 transitions. [2022-02-20 23:59:47,863 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:59:47,864 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 146 transitions. [2022-02-20 23:59:47,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 23:59:47,864 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:59:47,864 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:59:47,872 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Ended with exit code 0 [2022-02-20 23:59:48,071 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:59:48,071 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 38 more)] === [2022-02-20 23:59:48,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:59:48,072 INFO L85 PathProgramCache]: Analyzing trace with hash 533076568, now seen corresponding path program 1 times [2022-02-20 23:59:48,072 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:59:48,072 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1422235219] [2022-02-20 23:59:48,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:48,073 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:59:48,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:59:48,075 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:59:48,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2022-02-20 23:59:48,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:48,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:59:48,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:48,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:48,233 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:48,354 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:59:48,354 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:59:48,405 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 23:59:48,493 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:59:48,493 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2022-02-20 23:59:48,650 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 33 [2022-02-20 23:59:48,845 INFO L356 Elim1Store]: treesize reduction 3, result has 75.0 percent of original size [2022-02-20 23:59:48,846 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 41 treesize of output 25 [2022-02-20 23:59:48,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {8421#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {8421#true} is VALID [2022-02-20 23:59:48,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {8421#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {8421#true} is VALID [2022-02-20 23:59:48,922 INFO L272 TraceCheckUtils]: 2: Hoare triple {8421#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {8421#true} is VALID [2022-02-20 23:59:48,922 INFO L290 TraceCheckUtils]: 3: Hoare triple {8421#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,924 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {8421#true} #159#return; {8455#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:48,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {8455#(= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {8459#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:48,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {8459#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {8459#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:59:48,926 INFO L272 TraceCheckUtils]: 12: Hoare triple {8459#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {8466#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:48,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {8466#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:59:48,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:59:48,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:59:48,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:59:48,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {8470#(= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8483#(= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1))} is VALID [2022-02-20 23:59:48,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {8483#(= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1))} assume true; {8483#(= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1))} is VALID [2022-02-20 23:59:48,928 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8483#(= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1))} {8459#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)))} #161#return; {8490#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} is VALID [2022-02-20 23:59:48,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {8490#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {8494#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} is VALID [2022-02-20 23:59:48,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {8494#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {8498#(and (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:48,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {8498#(and (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {8502#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:48,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {8502#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {8502#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:48,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {8502#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {8509#(and (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} is VALID [2022-02-20 23:59:48,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {8509#(and (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {8513#(and (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))))} is VALID [2022-02-20 23:59:48,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {8513#(and (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {8517#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))} is VALID [2022-02-20 23:59:48,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {8517#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {8521#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} is VALID [2022-02-20 23:59:48,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {8521#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} SUMMARY for call sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L596 {8525#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|)) (_ bv1 1))))} is VALID [2022-02-20 23:59:48,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {8525#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|)) (_ bv1 1))))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset; {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} is VALID [2022-02-20 23:59:48,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} SUMMARY for call sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset := read~$Pointer$(sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset, 4bv32); srcloc: L597-4 {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} is VALID [2022-02-20 23:59:48,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} SUMMARY for call sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L597-1 {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} is VALID [2022-02-20 23:59:48,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} assume !!(sll_circular_remove_last_#t~mem8#1.base != sll_circular_remove_last_#t~mem9#1.base || sll_circular_remove_last_#t~mem8#1.offset != sll_circular_remove_last_#t~mem9#1.offset);havoc sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset;havoc sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset; {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} is VALID [2022-02-20 23:59:48,941 INFO L290 TraceCheckUtils]: 33: Hoare triple {8529#(exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|)) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) |ULTIMATE.start_sll_circular_remove_last_~head#1.offset|)))))} SUMMARY for call sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset := read~$Pointer$(sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset, 4bv32); srcloc: L598 {8542#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:59:48,942 INFO L290 TraceCheckUtils]: 34: Hoare triple {8542#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)) (_ bv1 1)))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset;havoc sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset; {8546#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:59:48,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {8546#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (_ bv1 1)))} assume !(1bv1 == #valid[sll_circular_remove_last_~last~1#1.base]); {8422#false} is VALID [2022-02-20 23:59:48,942 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:48,942 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:49,170 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 21 [2022-02-20 23:59:49,346 INFO L356 Elim1Store]: treesize reduction 5, result has 77.3 percent of original size [2022-02-20 23:59:49,346 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 28 [2022-02-20 23:59:49,356 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_574 (Array (_ BitVec 32) (_ BitVec 32))) (|ULTIMATE.start_main_~#s~0#1.offset| (_ BitVec 32)) (|ULTIMATE.start_main_~#s~0#1.base| (_ BitVec 32))) (let ((.cse1 (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| v_ArrVal_574))) (let ((.cse0 (select (select .cse1 |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (or (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| .cse0)) (= (select (select .cse1 .cse0) |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|))))) is different from false [2022-02-20 23:59:49,384 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_574 (Array (_ BitVec 32) (_ BitVec 32))) (|ULTIMATE.start_main_~#s~0#1.offset| (_ BitVec 32)) (|ULTIMATE.start_main_~#s~0#1.base| (_ BitVec 32))) (let ((.cse1 (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| v_ArrVal_574))) (let ((.cse0 (select (select .cse1 |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (or (not (= .cse0 |c_ULTIMATE.start_sll_circular_create_~new_head~0#1.base|)) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select (select .cse1 .cse0) |c_ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|)))))) is different from false [2022-02-20 23:59:49,399 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:59:49,399 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 37 [2022-02-20 23:59:49,492 INFO L356 Elim1Store]: treesize reduction 21, result has 67.2 percent of original size [2022-02-20 23:59:49,493 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 104 treesize of output 120 [2022-02-20 23:59:49,524 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:59:49,525 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 93 treesize of output 87 [2022-02-20 23:59:49,943 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:59:49,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1422235219] [2022-02-20 23:59:49,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1422235219] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:59:49,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1436873615] [2022-02-20 23:59:49,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:59:49,943 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:59:49,943 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:59:49,945 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:59:49,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (18)] Waiting until timeout for monitored process [2022-02-20 23:59:50,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:50,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 41 conjunts are in the unsatisfiable core [2022-02-20 23:59:50,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:59:50,155 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:59:50,197 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:59:50,486 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:59:50,486 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 24 [2022-02-20 23:59:50,672 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 23:59:50,862 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:59:50,862 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 31 treesize of output 32 [2022-02-20 23:59:51,182 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 39 [2022-02-20 23:59:51,468 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:59:51,468 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 28 [2022-02-20 23:59:51,655 INFO L290 TraceCheckUtils]: 0: Hoare triple {8421#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {8421#true} is VALID [2022-02-20 23:59:51,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {8421#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1.base, main_#t~ret17#1.offset, main_#t~post18#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {8613#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:59:51,656 INFO L272 TraceCheckUtils]: 2: Hoare triple {8613#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {8421#true} is VALID [2022-02-20 23:59:51,656 INFO L290 TraceCheckUtils]: 3: Hoare triple {8421#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,657 INFO L290 TraceCheckUtils]: 4: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,657 INFO L290 TraceCheckUtils]: 6: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {8435#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:59:51,659 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8448#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {8613#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} #159#return; {8638#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:51,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {8638#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {8642#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:51,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {8642#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} assume !!~bvsgt32(sll_circular_create_~len#1, 1bv32); {8642#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:51,660 INFO L272 TraceCheckUtils]: 12: Hoare triple {8642#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {8466#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:59:51,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {8466#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:51,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:51,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L576-1 {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:51,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L579 {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:59:51,662 INFO L290 TraceCheckUtils]: 17: Hoare triple {8652#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| |node_create_~temp~0#1.base|)) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8665#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (store |old(#valid)| |node_create_#res#1.base| (_ bv1 1)) |#valid|) (= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1)))} is VALID [2022-02-20 23:59:51,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {8665#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (store |old(#valid)| |node_create_#res#1.base| (_ bv1 1)) |#valid|) (= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1)))} assume true; {8665#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (store |old(#valid)| |node_create_#res#1.base| (_ bv1 1)) |#valid|) (= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1)))} is VALID [2022-02-20 23:59:51,664 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8665#(and (= |node_create_#res#1.offset| (_ bv0 32)) (= (store |old(#valid)| |node_create_#res#1.base| (_ bv1 1)) |#valid|) (= (select |old(#valid)| |node_create_#res#1.base|) (_ bv0 1)))} {8642#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)))} #161#return; {8672#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1)) (= (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (_ bv1 1)) (_ bv0 1)) (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} is VALID [2022-02-20 23:59:51,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {8672#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) (_ bv1 1)) (= (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (_ bv1 1)) (_ bv0 1)) (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset; {8676#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1)) (= (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:51,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {8676#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1)) (= (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L588 {8680#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:59:51,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {8680#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_~new_head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~new_head~0#1.base|) |ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := ~bvsub32(sll_circular_create_#t~post6#1, 1bv32);havoc sll_circular_create_#t~post6#1; {8684#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:51,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {8684#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(sll_circular_create_~len#1, 1bv32); {8684#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:59:51,668 INFO L290 TraceCheckUtils]: 24: Hoare triple {8684#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~last~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|))) (_ bv0 1)) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} SUMMARY for call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4bv32); srcloc: L586-3 {8691#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))) (_ bv1 1))))} is VALID [2022-02-20 23:59:51,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {8691#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|) |ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) |ULTIMATE.start_sll_circular_create_~head~0#1.offset|))) (_ bv1 1))))} sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {8695#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (_ bv1 1))) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#res#1.offset|))} is VALID [2022-02-20 23:59:51,670 INFO L290 TraceCheckUtils]: 26: Hoare triple {8695#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_create_#res#1.base|) |ULTIMATE.start_sll_circular_create_#res#1.offset|))) (_ bv1 1))) (= (_ bv0 32) |ULTIMATE.start_sll_circular_create_#res#1.offset|))} main_#t~ret17#1.base, main_#t~ret17#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret17#1.base, main_#t~ret17#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret17#1.base, main_#t~ret17#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {8699#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)))) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:59:51,671 INFO L290 TraceCheckUtils]: 27: Hoare triple {8699#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1)) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)))) (_ bv1 1)) (_ bv0 1)))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_sll_circular_remove_last } true;sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset, sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset, sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset, sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset, sll_circular_remove_last_#t~mem11#1.base, sll_circular_remove_last_#t~mem11#1.offset, sll_circular_remove_last_#t~mem12#1.base, sll_circular_remove_last_#t~mem12#1.offset, sll_circular_remove_last_#t~mem13#1.base, sll_circular_remove_last_#t~mem13#1.offset, sll_circular_remove_last_#t~mem15#1.base, sll_circular_remove_last_#t~mem15#1.offset, sll_circular_remove_last_#t~mem14#1.base, sll_circular_remove_last_#t~mem14#1.offset, sll_circular_remove_last_#t~mem16#1.base, sll_circular_remove_last_#t~mem16#1.offset, sll_circular_remove_last_~snd_to_last~0#1.base, sll_circular_remove_last_~snd_to_last~0#1.offset, sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset;sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset := sll_circular_remove_last_#in~head#1.base, sll_circular_remove_last_#in~head#1.offset; {8703#(and (= (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))))) (_ bv1 1)) (_ bv0 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (_ bv0 32)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)))))} is VALID [2022-02-20 23:59:51,672 INFO L290 TraceCheckUtils]: 28: Hoare triple {8703#(and (= (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))))) (_ bv1 1)) (_ bv0 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (_ bv0 32)) (= |ULTIMATE.start_sll_circular_remove_last_~head#1.offset| (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)))))} SUMMARY for call sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L596 {8707#(and (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))) (= |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:59:51,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {8707#(and (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.base|) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))) (= |ULTIMATE.start_sll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset;havoc sll_circular_remove_last_#t~mem7#1.base, sll_circular_remove_last_#t~mem7#1.offset; {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:59:51,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} SUMMARY for call sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset := read~$Pointer$(sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset, 4bv32); srcloc: L597-4 {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:59:51,676 INFO L290 TraceCheckUtils]: 31: Hoare triple {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} SUMMARY for call sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset := read~$Pointer$(sll_circular_remove_last_~head#1.base, sll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L597-1 {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:59:51,677 INFO L290 TraceCheckUtils]: 32: Hoare triple {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} assume !!(sll_circular_remove_last_#t~mem8#1.base != sll_circular_remove_last_#t~mem9#1.base || sll_circular_remove_last_#t~mem8#1.offset != sll_circular_remove_last_#t~mem9#1.offset);havoc sll_circular_remove_last_#t~mem8#1.base, sll_circular_remove_last_#t~mem8#1.offset;havoc sll_circular_remove_last_#t~mem9#1.base, sll_circular_remove_last_#t~mem9#1.offset; {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:59:51,678 INFO L290 TraceCheckUtils]: 33: Hoare triple {8711#(and (= |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_sll_circular_remove_last_~head#1.base| (_ BitVec 32))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) |ULTIMATE.start_sll_circular_remove_last_~last~1#1.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_remove_last_~head#1.base|) (_ bv0 32))) (_ bv1 1)))))} SUMMARY for call sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset := read~$Pointer$(sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset, 4bv32); srcloc: L598 {8724#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)) (_ bv1 1))) (exists ((v_arrayElimCell_42 (_ BitVec 32))) (and (= (select |#valid| v_arrayElimCell_42) (_ bv1 1)) (not (= v_arrayElimCell_42 |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)))))} is VALID [2022-02-20 23:59:51,679 INFO L290 TraceCheckUtils]: 34: Hoare triple {8724#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)) (_ bv1 1))) (exists ((v_arrayElimCell_42 (_ BitVec 32))) (and (= (select |#valid| v_arrayElimCell_42) (_ bv1 1)) (not (= v_arrayElimCell_42 |ULTIMATE.start_sll_circular_remove_last_#t~mem10#1.base|)))))} sll_circular_remove_last_~last~1#1.base, sll_circular_remove_last_~last~1#1.offset := sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset;havoc sll_circular_remove_last_#t~mem10#1.base, sll_circular_remove_last_#t~mem10#1.offset; {8728#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (_ bv1 1))) (exists ((v_arrayElimCell_42 (_ BitVec 32))) (and (not (= v_arrayElimCell_42 |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (= (select |#valid| v_arrayElimCell_42) (_ bv1 1)))))} is VALID [2022-02-20 23:59:51,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {8728#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (_ bv1 1))) (exists ((v_arrayElimCell_42 (_ BitVec 32))) (and (not (= v_arrayElimCell_42 |ULTIMATE.start_sll_circular_remove_last_~last~1#1.base|)) (= (select |#valid| v_arrayElimCell_42) (_ bv1 1)))))} assume !(1bv1 == #valid[sll_circular_remove_last_~last~1#1.base]); {8422#false} is VALID [2022-02-20 23:59:51,679 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:59:51,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:59:51,771 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 21 [2022-02-20 23:59:51,998 WARN L838 $PredicateComparison]: unable to prove that (forall ((|ULTIMATE.start_main_~#s~0#1.base| (_ BitVec 32)) (v_ArrVal_621 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse1 (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| v_ArrVal_621))) (let ((.cse0 (select (select .cse1 |ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (or (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| .cse0)) (= (bvadd (bvneg (select |c_#valid| (select (select .cse1 .cse0) |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|))) (_ bv1 1)) (_ bv0 1)))))) is different from false [2022-02-20 23:59:52,029 WARN L838 $PredicateComparison]: unable to prove that (forall ((|ULTIMATE.start_main_~#s~0#1.base| (_ BitVec 32)) (v_ArrVal_621 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| v_ArrVal_621))) (let ((.cse1 (select (select .cse0 |ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (or (= (bvadd (bvneg (select |c_#valid| (select (select .cse0 .cse1) |c_ULTIMATE.start_sll_circular_create_~new_head~0#1.offset|))) (_ bv1 1)) (_ bv0 1)) (not (= .cse1 |c_ULTIMATE.start_sll_circular_create_~new_head~0#1.base|)))))) is different from false [2022-02-20 23:59:52,048 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:59:52,048 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 58 treesize of output 42 [2022-02-20 23:59:52,137 INFO L356 Elim1Store]: treesize reduction 21, result has 67.2 percent of original size [2022-02-20 23:59:52,137 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 130 treesize of output 146 [2022-02-20 23:59:52,153 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:59:52,153 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 119 treesize of output 115